Штурвал ML/AI в kubernetes
Готовая платформа для запуска ML- и AI-нагрузок на CPU и GPU: от эксперимента в ноутбуке до модели в проде. GPU-стек, Kubeflow и MLflow ставятся и обновляются вместе с кластером, собирать их самим не нужно.
Что Штурвал ML/AI даёт вам
ML-стек ставит и обновляет платформа, а не вы
Больше не нужно ходить по узлам с SSH и собирать матрицу версий драйверов. ML-кластер живёт по тем же правилам, что и остальные кластеры Штурвала.
- GPU Operator как сервис кластера. Драйвер, toolkit и device plugin ставятся автоматически. MIG-профили вы настраиваете под свои задачи.
- Обновление по кнопке. Ядро, containerd и Kubernetes обновляются вместе с ML-стеком.
- CPU и GPU в одном кластере. CPU-узлы на виртуализации, GPU-узлы на bare metal. Каждая группа узлов настраивается автоматически под свой тип узлов и масштабируется по нагрузке.
- Закрытый контур и единый RBAC. Установка из зеркала, доступ к Kubeflow через LDAP/OIDC платформы.
- Множество кластеров из единой точки. ML-кластеры, песочницы и прод создаются, обновляются и мониторятся из одного кластера управления Штурвала.
Меньше простоя GPU и меньше ручной работы со стеком
Карты работают на все команды, а не на одну. Стоимость обновлений и закрытия уязвимостей несёт вендор, а не ваша платформенная команда.
- Общий пул GPU. Квоты, MIG и автомасштабирование вместо отдельных серверов для каждой команды. До 80% экономии на GPU и эксплуатации.
- Закупки по фактической загрузке. Метрики DCGM показывают, сколько работает каждая карта.
- Предсказуемая эксплуатация. Обновления и security-патчи входят в продукт, не нужен отдельный проект.
- Требования регуляторов. Реестр российского ПО, закрытый контур, единая модель прав.
Знакомые инструменты, GPU по запросу из общего пула
Ноутбук, обучение и реестр моделей в одном кластере, рядом с данными: от классических моделей до LLM. Не нужно ждать выделенного сервера и следить за драйверами.
- Jupyter с GPU. Ноутбук запрашивает целую карту или её долю (MIG / Time-slice) в пределах квоты команды.
- Kubeflow из коробки. Pipelines, распределённое обучение в Training Operator, подбор параметров в Katib.
- MLflow для учёта. Метрики прогонов, артефакты, версии и статусы моделей.
- Декларативность и REST API. Ноутбуки, пайплайны и сервисы описываются манифестами, управлять ими можно через API платформы.
- Управление множеством кластеров из одной точки. Песочница, обучение и прод работают в разных кластерах, а вход один для всех: SSO, без отдельных логинов для ML.
Три вещи, ради которых берут Штурвал ML/AI
Весь ML‑стек из коробки
Администратор включает ML в клиентском кластере, платформа ставит драйверы, Kubeflow и MLflow.
Что входит ЭкономикаОбщий пул GPU вместо персональных серверов
Карта становится ресурсом кластера. Её получает задача из очереди, а не человек, за которым она закреплена.
Как считаем экономию ЭксплуатацияОбновление по кнопке
GPU- и ML-стек обновляется вместе с кластером.
Как устроены обновленияМежду вашим железом и вашими AI-сервисами
Штурвал ML/AI превращает серверы с GPU в управляемую платформу: на ней одинаково работают ваши модели и купленные решения.
Что работает на платформе
Собственная разработка
ИИ-агенты
Готовые решения
Штурвал ML/AI
Выдаёт GPU по квотам, ставит и обновляет ML-стек. Не привязывает к экосистеме.
Железо и GPU
Путь модели: от ноутбука до сервиса в одном кластере
- 1
Эксперимент
Kubeflow NotebooksJupyter запускается как под рядом с данными и запрашивает GPU из пула
- 2
Обучение
Pipelines · Training OperatorПовторяемый пайплайн и распределённое обучение на нескольких узлах
- 3
Подбор параметров
KatibСерия испытаний в пределах квоты команды
- 4
Версия модели
MLflowМетрики прогонов, артефакты и статус: эксперимент, кандидат, прод
- 5
Инференс
KServe · vLLM · Argo CDМодель из реестра публикуется как сервис инференса: LLM – на vLLM, классические модели – на готовых runtime KServe (sklearn, XGBoost, TorchServe, Triton). Манифесты доставляются через GitOps
Компоненты и зачем они нужны
Платформа ставит и обновляет каждый слой сама: от драйвера на узле до реестра моделей. Команды работают на верхнем слое, всё остальное обслуживает Штурвал.
Доступ команд
кто и сколько ресурсов получаетЭксперименты, обучение и инференс · Kubeflow
Учёт моделей · MLflow
Подготовка GPU
карта становится ресурсом планировщикаЗапуск
Обнаружение
Выдача и деление
Наблюдение
CPU-узлы
Ноутбуки без GPU, пайплайны подготовки данных, Kubeflow и MLflow
GPU-узлы
Обучение и инференс. Отдельная группа узлов с автомасштабированием по запросу GPU
ML-стек обновляется вместе с кластером
В Штурвале ML/AI драйверы, плагины, Kubeflow и MLflow работают как сервисы кластера. Внутренний проект «починить GPU после апдейта» больше не нужен.
Совместимость проверяет команда Штурвала
Мы проверяем драйверы NVIDIA вместе с ядром, containerd, Kubernetes и Kubeflow и исправляем найденные баги.
По кнопке или по расписанию
Обновление кластера включает обновление GPU- и ML-стека.
Изолированно по кластерам
Сначала тестовый кластер, потом прод. Один кластер не тянет за собой остальные.
В закрытом контуре
Обновление идёт из вашего зеркала, без выхода в интернет.
Отдельные кластеры для экспериментов и прода
Второй кластер создаётся из того же Штурвала и обслуживается из одной точки.
GPU дорогие, а работают меньше половины времени
Без общей платформы деньги уходят на простой карт и ручное сопровождение стека.
Карта закреплена за одной командой
Стенд простаивает между экспериментами, а соседняя команда ждёт свободное железо.
Одна задача занимает целую карту
Лимитов нет, поэтому лёгкий ноутбук держит целую A100.
Сервер покупают «на вырост»
Нет очереди и планировщика, поэтому проще купить ещё одну машину.
Эксперименты и прод в одном кластере
У песочницы и прода разные требования ИБ и ограничения, а второй кластер поднимать и сопровождать дорого.
Меньше простоя, меньше лишних серверов
Нагрузка та же, но карты делят несколько команд по квотам. Свободная мощность не стоит в резерве у одной команды.
Сейчас: серверы закреплены за командами. Заняты все 6 серверов, но задачи используют 9 карт из 24, остальные простаивают у владельцев.
# Обучение на A100 из GPU-группы spec: nodeSelector: nvidia.com/gpu.product: NVIDIA-A100-SXM4-80GB tolerations: - key: nvidia.com/gpu effect: NoSchedule containers: - name: train resources: limits: nvidia.com/gpu: 1
# Дообучение LLM на четырёх H100 одного узла spec: nodeSelector: nvidia.com/gpu.product: NVIDIA-H100-80GB-HBM3 containers: - name: train resources: limits: nvidia.com/gpu: 4 # Для обучения на нескольких узлах — # PyTorchJob в Training Operator
# Ноутбук на седьмой части карты spec: containers: - name: notebook resources: limits: nvidia.com/mig-1g.10gb: 1 # Остальные слайсы этой GPU # доступны другим задачам
# Ноутбук на карте, которую делят по времени spec: nodeSelector: nvidia.com/gpu.sharing-strategy: time-slicing containers: - name: notebook resources: limits: nvidia.com/gpu: 1 # Одна физическая карта обслуживает # несколько подов по очереди
# Чат-модель на одной GPU через vLLM apiVersion: serving.kserve.io/v1beta1 kind: InferenceService metadata: name: support-chat spec: predictor: model: modelFormat: name: huggingface args: ["--backend=vllm"] storageUri: s3://models/qwen2.5-7b-instruct resources: limits: nvidia.com/gpu: 1
GPU в планировщике Kubernetesnvidia.com/gpu
Под запрашивает карту и получает её, когда она свободна
Карта работает по очереди задач и не простаивает у владельца
Профили и квотыProfile · ResourceQuota
Лимиты CPU и GPU задаются в профиле Kubeflow или неймспейсе
Одна команда не может занять весь парк
MIG / Time-sliceA100 / H100 · любые NVIDIA
Несколько задач на одной физической GPU, например эксперименты с небольшими LLM на доле карты
Меньше серверов при том же числе лёгких задач
Группы узлов и taintsNodeGroup · taints
Обучение и инференс работают на разных группах узлов
Дорогие карты не заняты служебными подами
Автомасштабирование по GPUautoscaler
Группа растёт, когда поды ждут карту, и сжимается, когда карта не нужна
Не нужно держать резервный сервер включённым
Метрики DCGMDCGM Exporter
Видно утилизацию и простой каждой карты
Следующую закупку обосновывают фактической загрузкой
Чего Штурвал ML/AI не делает. Сам по себе он не ускоряет обучение. Он даёт функции, без которых нельзя ввести общий доступ к картам и учёт их загрузки.
Потребление видно, расходы объяснимы
Запрос
Задача команды запрашивает карту или её долю: MIG / Time-slice
Квота
Планировщик выдаёт ресурс в пределах лимита профиля
Метрики
Загрузка, память и простой по каждой карте и неймспейсу
Учёт
По данным о потреблении GPU ведут внутренний учёт и планируют закупки
Собрать ML‑платформу можно. Дорого её поддерживать
Основные расходы – не лицензия, а три статьи. Сравнивать стоит по всем трём.
Собрать стекGPU Operator, Kubeflow, MLflow, SSO, квоты
Обновлятьядро, containerd, Kubernetes, драйверы
Закрывать уязвимостиобразы, компоненты, CVE
Если вы обновляете стек и системно закрываете уязвимости, Штурвал выходит дешевле своей сборки.
Если не делаете ни того, ни другого, своя сборка может обходиться дешевле. Тогда растут риски безопасности, а стек отстаёт по возможностям.
Сравнение: Штурвал ML/AI vs ванильный Kubernetes, PDFML-нагрузки остаются в общем контуре ИБ
Ноутбуки и обучение работают по тем же правилам, что и остальные приложения кластера.
Образы и политики
Образы ML-сред сканирует Trivy, в том числе по базе уязвимостей ФСТЭК (БДУ). Политики применяются к подам ML-нагрузок.
Единые доступы
Права на Kubeflow выдаются в интерфейсе Штурвала вместе с доступом к кластеру.
Аудит
События уходят во внешние системы вместе с остальным аудитом платформы.
Закрытый контур
Установка и обновления из зеркала образов. Штурвал в реестре российского ПО.
Почитать и переслать команде
От демо до промышленной эксплуатации
Демо
Покажем включение ML в кластере, общий пул GPU, квоты команд и обновление стека.
Пилот на ваших GPU
Разворачиваем в вашей инфраструктуре, подключаем каталог пользователей и одну‑две команды.
Внедрение
Переносим ML-нагрузки, настраиваем квоты, мониторинг и процессы обновления.
Хотите сначала посмотреть на саму платформу? Community Edition Штурвала бесплатна и полнофункциональна, до 10 worker-узлов.
О Community EditionЧастые вопросы
Какие GPU поддерживаются?
NVIDIA: стек построен на NVIDIA GPU Operator. Деление карты: MIG на A100, H100 и аналогах, Time-slicing на остальных картах.
Обязательно ли ставить GPU-узлы на bare metal?
Типовая схема: CPU-узлы на виртуализации, GPU-узлы отдельной группой на железе, в одном кластере. Отдельная платформа для железа не нужна.
Какие ОС на GPU-узлах?
Штурвал работает на Astra Linux, РЕД ОС, Rosa, Alt Linux, Ubuntu, Debian и других ОС.
Можно ли подключить свой движок инференса, например TGI?
Да, через собственный ServingRuntime KServe. Из коробки поставляются vLLM и Hugging Face Transformers для LLM и готовые runtime для классических моделей.
Как выкатить модель в прод?
Через KServe: модель из MLflow Registry публикуется как сервис инференса в кластере. Для классических моделей есть готовые runtime: sklearn, XGBoost, TorchServe, Triton; для LLM – vLLM. Манифесты доставляются через Argo CD, как и у остальных приложений.
У нас уже есть свой Kubeflow. Что с ним делать?
Расскажем на демо, как перенести пайплайны и ноутбуки в Kubeflow под управлением Штурвала.
Подходит ли платформа для LLM?
Да. Дообучение идёт на нескольких GPU через Training Operator. Готовую модель публикует KServe: генеративные LLM обслуживает vLLM, остальные модели – Hugging Face Transformers. Режим auto выбирает vLLM, если он поддерживает модель. Модели, которые не помещаются на один узел, запускаются в multinode-варианте runtime. Карты для LLM выдаются из общего пула по квотам команды.
Работает ли всё в закрытом контуре?
Да. Установка и обновления идут из вашего зеркала образов, без загрузки из nvcr.io и других внешних реестров.
Общий пул GPU. Весь ML‑стек из коробки. Обновление по кнопке.
Расскажите, сколько у вас GPU и команд, и мы покажем, как это будет работать в вашей инфраструктуре.