Оркестрация контейнеров: масштабирование, самовосстановление, обновления без простоя.
Ключевые тезисы
- HPA масштабирует реплики по нагрузке.
- Для GPU-инференса нужны device plugin и продуманные ресурсные лимиты.
- Для одного сервиса это часто избыточно — начните с простого контейнера.
Подробный разбор
2 подтем — раскройте любую, чтобы увидеть объяснение, формулы, примеры и интерактивные графики.
1Что важно именно для ML
GPU, автоскейлинг и холодный старт.
- GPU: нужен device plugin, запросы вида
nvidia.com/gpu: 1, а также учёт того, что GPU не делится между подами по умолчанию. - Автоскейлинг: HPA по CPU для ML-сервиса почти бесполезен — масштабируйтесь по длине очереди или задержке.
- Холодный старт: загрузка большой модели занимает десятки секунд; держите тёплый пул или используйте readiness-пробы с большим начальным окном.
- Ресурсы: явные requests/limits обязательны, иначе один тяжёлый инференс вытеснит соседей.
Для одного сервиса Kubernetes избыточен. Начните с одного контейнера за обратным прокси — и переходите к оркестрации, когда появится реальная потребность в масштабировании.
2Когда обойтись без Kubernetes
Простые варианты, которых часто достаточно.
| Вариант | Когда подходит |
|---|---|
| Один контейнер за Nginx | один сервис, предсказуемая нагрузка |
| docker compose на сервере | несколько связанных сервисов |
| Managed-платформа (в т.ч. Timeweb Apps) | нужен автодеплой из git без администрирования |
| Serverless / batch-джоб | редкие запуски, батч-скоринг |
Kubernetes оправдан, когда есть реальная потребность в масштабировании, отказоустойчивости и множестве сервисов. До этого он добавляет больше сложности, чем пользы.
Связанные темы
Инференс и эксплуатация · Продакшен и эксплуатация
Model Deployment97%
Деплой моделей · MLOpsДоставка модели пользователю: онлайн-сервис, батч-скоринг или встраивание в приложение.
Monitoring97%
Мониторинг · MLOpsНаблюдение за инфраструктурой, данными и качеством предсказаний после релиза.
Docker97%
Docker · MLOpsКонтейнеризация фиксирует окружение целиком: код, зависимости, системные библиотеки.
Requirements and SLA85%
Требования и SLA · Системный дизайн ML-сервисовЧисла, которые нужно зафиксировать до архитектуры: задержка, пропускная способность, доступность, стоимость запроса.
Serving Architecture85%
Архитектура инференса · Системный дизайн ML-сервисовМодель внутри приложения, отдельный сервис или платформа инференса — три уровня связанности.
Caching85%
Кеширование · Системный дизайн ML-сервисовНе считать то, что уже посчитано: кеш предсказаний, признаков и эмбеддингов.
Batching and Queues85%
Батчинг и очереди · Системный дизайн ML-сервисовСобирать запросы в пачки, чтобы загрузить GPU, и сглаживать всплески нагрузки очередью.
Scaling85%
Масштабирование · Системный дизайн ML-сервисовГоризонтальное и вертикальное масштабирование инференса и правильные метрики автоскейлинга.
GPU Inference85%
GPU-инференс · Системный дизайн ML-сервисовКак выжать из видеокарты пропускную способность и не переплачивать.
Reliability85%
Отказоустойчивость · Системный дизайн ML-сервисовЧто происходит, когда модель недоступна, отвечает медленно или выдаёт мусор.
Observability85%
Наблюдаемость · Системный дизайн ML-сервисовЛоги, метрики и трассировки, по которым можно восстановить, что произошло с конкретным запросом.
Cost Model85%
Экономика сервиса · Системный дизайн ML-сервисовСтоимость одного предсказания и точка, где модель перестаёт окупаться.
LLM Serving85%
Обслуживание LLM · Системный дизайн ML-сервисовОтдельная инженерная дисциплина: KV-кеш, непрерывный батчинг, потоковая отдача и контроль стоимости.
Drift Detection80%
Детекция дрейфа · MLOpsОбнаружение расхождения между данными обучения и данными прода.
Retraining80%
Переобучение моделей · MLOpsРегулярное обновление модели на свежих данных по расписанию или по триггеру.
ML Pipelines80%
ML-пайплайны · MLOpsОформление обучения как воспроизводимой последовательности шагов вместо разрозненных ноутбуков.
Production ML80%
ML в продакшене · Практика MLМодель в проде — это сервис с SLA, мониторингом, версионированием и планом отката.