Как мы собрали ML-платформу на Kubernetes и не утонули в YAML. ai.. ai. Kubernetes.. ai. Kubernetes. ml.. ai. Kubernetes. ml. orion soft.. ai. Kubernetes. ml. orion soft. искусственный интеллект.. ai. Kubernetes. ml. orion soft. искусственный интеллект. Машинное обучение.. ai. Kubernetes. ml. orion soft. искусственный интеллект. Машинное обучение. разработка.
Как мы собрали ML-платформу на Kubernetes и не утонули в YAML - 1

Инфраструктура для машинного обучения — это не просто «поставить кубер и Jupyter». Любая команда, которая пыталась собрать MLOps-стек с нуля, знает: в теории всё просто, а на практике — год возни, YAML на сотни строк и бесконечные танцы с GPU-драйверами. Мы через это тоже прошли.

Так появилась Nova AI — новая редакция нашей платформы Nova, адаптированная под задачи искусственного интеллекта и машинного обучения. Базовая Nova уже несколько лет используется компаниями как Kubernetes-платформа для оркестрации контейнеров и управления инфраструктурой. Но в какой-то момент стало ясно: если поверх этого ядра добавить GPU Operator и специализированные ML-сервисы — такие как JupyterHub, MLflow, Airflow и KServe, — получится полноценная среда для ML-команд.

Меня зовут Никита Векессер, я лидер продукта Nova AI, и в этой статье будет инженерный разбор того, как мы собрали новую редакцию продукта: из чего она состоит, как устроено управление компонентами, как реализовано дробление GPU и почему мы сделали ставку на модульность, а не на монолитный стек вроде Kubeflow.

Почему и зачем появилась Nova AI

Nova AI выросла из Nova Container Platform — Kubernetes-платформы Orion soft для оркестрации контейнеров. Уже несколько лет она используется enterprise-компаниями для инфраструктурных сценариев, и со временем стало понятно, что она также хорошо подходит для задач машинного обучения и искусственного интеллекта.

Первым делом мы провели опрос рынка и определили основные боли ML-команд:

  • построение собственной ML-платформы занимает год–полтора даже у опытных инженеров;

  • рынок MLOps-специалистов узкий, и потеря одного из них способна надолго остановить развитие инфраструктуры;

  • оптимизация GPU и распределённый инференс остаются для большинства компаний неизведанной зоной;

  • Основной приоритет на создание инфраструктуры под ML, в результате чего часто забивают безопасность и другие сопутствующие и неотъемлемые вещи.

Как мы собрали ML-платформу на Kubernetes и не утонули в YAML - 2

Nova AI решает эти проблемы на уровне инфраструктуры: это не набор компонентов, а единый слой, где ключевые сервисы уже протестированы и согласованы. Платформа устраняет лишнюю сложность и обеспечивает стабильное и единообразное окружение для ML и AI без необходимости в ручной сборке.

Логичный вопрос, который наверняка может возникнуть у читателя: чем это всё отличается от Kubeflow и аналогов?

Kubeflow действительно покрывает весь ML-цикл — от подготовки данных до инференса, но на практике редко используется в продакшне. Он сложен в установке, требует глубокой доработки под корпоративные политики и тяжело интегрируется с существующими системами безопасности.

Nova AI построена иначе: всё модульно и управляется через CRD и кастомный оператор, который автоматизирует установку и обновление компонентов по принципу GitOps. Команда сама выбирает нужные модули — JupyterHub, Airflow, MLflow, KServe и другие. Каждый можно установить отдельно, без жёстких зависимостей и общего монолита.

Такой подход убивает сразу не двух, а трёх зайцев:

  • упрощает интеграцию с внутренними системами и IDM;

  • делает обновления и масштабирование предсказуемыми;

  • позволяет использовать знакомый стек инструментов в контейнерной инфраструктуре.

В результате Nova AI остаётся инженерно понятным решением: без магии, без vendor lock-in, с знакомой многим архитектурой и контролем за всем, что происходит под капотом.

Архитектура и стек

Как уже писалось выше, в основе Nova AI — Nova Container Platform, Kubernetes-платформа Orion soft для оркестрации контейнеров. Поверх неё развёрнут слой, оптимизированный под задачи машинного обучения и искусственного интеллекта.

Как мы собрали ML-платформу на Kubernetes и не утонули в YAML - 3

Архитектура разделена на два уровня — инфраструктурный и прикладной.

Инфраструктурный уровень отвечает за взаимодействие с железом и GPU-ресурсами. Здесь работает кастомный оператор, который управляет установкой системных компонентов:

  • NVIDIA GPU Operator — обеспечивает корректное определение и использование видеокарт в кластере;

  • Node Feature Discovery — определяет аппаратные характеристики нод и их системные конфигурации.

Оба компонента устанавливаются по умолчанию. При необходимости в конфигурации кастомного оператора можно задать параметры для включения режимов MIG (Multi-Instance GPU) или time-slicing, чтобы управлять дроблением GPU на уровне манифеста. Этот слой обеспечивает видимость GPU и распределение вычислительных ресурсов между подами.

Прикладной уровень — это ML-стек, с которым работают инженеры и дата-сайентисты:

  • JupyterHub для запуска ноутбуков, 

  • Airflow для оркестрации пайплайнов, 

  • MLflow для трекинга экспериментов, 

  • MinIO для хранения данных, 

  • KServe для инференса моделей,

  • KubeRay — для распределённых вычислений и управления задачами.

Каждый модуль независим: можно развернуть только нужные — например, ограничиться JupyterHub или добавить Airflow и MLflow для полного цикла MLOps. Все настройки выполняются через ресурсы MLInfrastructure и MLCluster, которые создаёт оператор.

Оператор интегрирован с FluxCD: изменения конфигурации применяются автоматически и безопасно. Чтобы включить новый модуль, достаточно изменить манифест ресурса — и платформа сама доставит нужные компоненты в кластер. Это избавляет от ручных кастомизаций на сотни строк и делает процесс воспроизводимым.

С точки зрения эксплуатации, Nova AI — это управляемая среда, где ML-инструменты остаются независимыми сервисами, но их установка и обновления происходят централизованно.

Общий интерфейс управления при этом не навязывается: у каждого инструмента сохраняется свой UI — JupyterHub, MLflow, Airflow и т. д.

Так достигается баланс между гибкостью и контролем: единая точка управления через CRD и GitOps, но полная автономность компонентов на уровне работы и интерфейсов.

GPU и производительность

В Nova AI дробление GPU на уровне драйвера реализовано стандартными средствами NVIDIA — MIG и time-slicing. Ниже кратко о том, как эти режимы работают и чем отличаются. Тот или иной режим выбирается в зависимости от конфигурации и возможностей видеокарты.

MIG обеспечивает аппаратное разделение GPU на независимые логические секции. Каждая получает гарантированные ресурсы, и «перетекание» нагрузки между задачами исключено. Такой вариант даёт стабильную производительность и защищённость от ошибок вроде Out of Memory, но требует GPU с поддержкой MIG на уровне железа (серии A100/H100 и совместимые).

Time-slicing распределяет ресурсы по времени. Это более гибкий режим, доступный почти на всех видеокартах, но без строгой изоляции: отдельные процессы могут временно занимать больше ресурсов, чем запланировано, что потенциально влияет на соседние задачи.

Nova AI не накладывает собственных ограничений — все возможности и лимиты определяются самим железом и драйверами NVIDIA. Платформа просто обеспечивает правильную интеграцию и автоматическую настройку через GPU Operator, без необходимости ручного тюнинга.

Распределенный инференс

Платформа поддерживает объединение ресурсов GPU с разных физических серверов. Это позволяет запускать крупные языковые модели, которым требуется больше видеопамяти, чем доступно на одном узле.

В одном из пилотных кейсов на четырёх серверах с GPU NVIDIA Tesla T4 были запущены модели Qwen-2.5-7B и Qwen-2.5-Coder-14B. Платформа автоматически распределяла нагрузку между карточками и масштабировала вычисления внутри единого GPU-кластера.

Утилизация и контроль производительности

Nova AI включает инструменты для мониторинга и анализа загрузки ресурсов, но не задаёт единую систему метрик. Платформа обеспечивает базовые механизмы сбора данных, а выбор и интерпретация метрик остаются на стороне команды.

Инженеры могут логически делить GPU и распределять задачи параллельно, повышая фактическую утилизацию ресурсов видеокарт. Для мониторинга можно использовать привычный стек Prometheus и Grafana с экспортом метрик GPU, CPU, памяти и сетевых задержек.

Типовая интеграция включает централизованные метрики, логи и алёртинг на уровне Kubernetes. Набор графиков и правил уведомлений можно расширять под конкретный ворклоад: следить за загрузкой GPU, откликами пайплайнов, временем инференса или простоями вычислительных узлов.

Nova AI не подменяет собой систему наблюдаемости — она даёт инфраструктурный слой, где метрики доступны из коробки и легко встраиваются в существующие процессы DevOps/MLOps.

Ключевая идея такая:

  • дробление GPU реализовано нативно через NVIDIA-операторы;

  • поведение зависит от выбранного режима (MIG / time-slicing);

  • платформа не лезет в вычисления, а отвечает за предсказуемую работу и мониторинг среды.

Безопасность и комплаенс

В Nova AI безопасность встроена на уровне инфраструктуры — от управления секретами до сканирования на уязвимости контейнеров и хостов.

Управление секретами и токенами

Центральный элемент системы — StarVault, хранилище секретов компании Orion soft. Оно служит единой точкой входа для всех сервисов Nova AI и обеспечивает централизованный контроль доступа.

Компоненты с пользовательским интерфейсом — MLflow, JupyterHub, Airflow и другие — интегрированы со StarVault по протоколу OIDC (OpenID Connect). Пользователь проходит аутентификацию один раз, а доступ к сервисам управляется через общую политику.

Для доставки секретов в контейнеры поддерживаются несколько механизмов:

  • Vault Agent — автоматически получает и обновляет секреты внутри подов;

  • Vault CSI Driver — монтирует секреты в виде файлов;

  • Vault Secrets Webhook — подставляет токены и переменные окружения при запуске контейнеров.

Такой подход исключает хранение секретов в открытом виде и обеспечивает безопасную работу ML-стека даже в изолированных инфраструктурах.

Защита контейнеров и сетей

В Nova AI реализован тот же уровень безопасности, что и в базовой Nova Container Platform. Для контроля среды выполнения используется NeuVector — модуль, отвечающий за runtime-мониторинг и анализ сетевых соединений. Он выявляет уязвимости, отслеживает подозрительную активность и при необходимости блокирует несанкционированные операции.

Модуль подключается опционально, но при активации обеспечивает промышленный уровень наблюдаемости и защиты, достаточный для критичных и закрытых сред.

Соответствие требованиям

Nova AI создаётся с учётом российских норм информационной безопасности и политики импортозамещения. В экосистеме Orion soft уже есть сертифицированная редакция продукта, одобренная ФСТЭК. Команда работает над её обновлением и планирует включить туда модули ML-инфраструктуры Nova AI.

Платформа полностью совместима с отечественными ОС: Astra Linux, Red OS и другими. Все базовые компоненты, включая NVIDIA GPU Operator, протестированы на этих дистрибутивах и обеспечивают корректную работу GPU.

В планах — пересборка ключевых компонентов ML-стека (Airflow, MLflow, и др.) из исходников с устранением уязвимостей, что обеспечит прозрачность, контроль версий и соответствие требованиям безопасности при поставке решений заказчикам.

Таким образом, Nova AI уже поддерживает необходимые отечественные ОС и стандарты, а в перспективе планирует стать частью сертифицированной сборки, предназначенной для организаций с повышенными требованиями к ИБ и комплаенсу.

Типовой пилот 

Развернуть минимальный кластер Nova AI в среднем занимает 30–40 минут. Процесс полностью описан в документации и не требует ручных доработок.

Для пилота достаточно:

  • одного узла с GPU (физического или виртуального, поддерживающего драйверы NVIDIA). Если в ворклоаде используется GPU, нужно наличие такого узла и установка ресурса MLInfrastructure. Если же нагрузка выполняется только на CPU, ресурс MLInfrastructure можно не устанавливать — достаточно MLCluster;

  • предустановленной Nova Container Platform либо чистого сервера для её установки;

  • лицензии Nova AI.

Из подготовки — только установка видеодрайверов NVIDIA. Этот шаг выполняется строго по инструкции: требуется установка NVIDIA GPU Drivers. Мы протестировали их совместимость с отечественными ОС — Astra Linux и Red OS, так что проблем с установкой и работой GPU в этих средах не возникает.

После выполнения необходимых подготовительных шагов кластер разворачивается из готовых манифестов, и пользователю сразу доступны базовые компоненты ML-стека — JupyterHub, MLflow, Airflow. Такой пилот позволяет быстро проверить интеграцию с инфраструктурой заказчика и оценить возможности платформы в реальных условиях.

Сложности первых внедрений

Успешное развертывание Nova AI во многом зависит от подготовленности среды и согласованности инфраструктуры. При наличии у команды базовых навыков работы с Kubernetes и контейнерами установка проходит без затруднений

Чаще всего ошибки возникают из-за:

  • некорректных сетевых конфигураций или маршрутизации;

  • нехватки понимания механики подов и ресурсных лимитов;

  • неверно настроенных архитектурных зависимостей.

Эти вопросы решаются совместно: инженеры Orion soft подключаются к пилотам, помогают с конфигурацией и разбором ошибок. Обычно достаточно одного совместного сеанса, чтобы привести систему в рабочее состояние.

Поддержка и обновления

Nova AI изначально создавалась как управляемая платформа, где обновления и конфигурации применяются по принципу GitOps. Все параметры хранятся в репозитории и синхронизируются автоматически — без ручных вмешательств.

Перед релизом обновления проходят внутреннее тестирование: проверяется совместимость модулей и корректность обновления. В продакшн выкладываются только проверенные контейнерные образы, которые устанавливаются стандартными командами.

Во время пилота создаётся общий чат с инженерами OrionSoft — через него решаются вопросы по установке и конфигурации. После выхода в продакшн заказчики подключаются к техподдержке и при необходимости передают кейсы напрямую в разработку.

За счёт такой схемы обновления проходят предсказуемо, а кластеры остаются воспроизводимыми и управляемыми.

Будущее и опыт

Пока проходят первые пилоты мы собираем обратную связь от инженеров и заказчиков, чтобы понять, какие задачи им важнее всего закрыть в ближайших релизах.

Дальше — курс на развитие по нескольким ключевым направлениям.

Альтернативные GPU. Сейчас платформа оптимизирована под NVIDIA, но мы работаем над совместимостью и с китайскими видеокартами — это важно в условиях импортозамещения и локальных поставок железа.

Рабочие окружения. Помимо JupyterHub появится поддержка VS Code как альтернативного инструмента для экспериментов — для тех, кто привык писать код именно в нём.

ML-стек. В разработке новые компоненты: мониторинг моделей, Feature Store и инструменты, которые помогут глубже контролировать и управлять ML-процессами.

Network Operator. Добавление этого компонента позволит гибче управлять сетевыми политиками и изоляцией сервисов внутри ML-кластера.

UX для дата-сайентистов. Хочется, чтобы работа между компонентами была максимально естественной: например, результаты экспериментов из JupyterHub автоматически появлялись в MLflow без дополнительных действий.

Инфраструктура. В ближайших релизах появится автоматическая установка GPU-драйверов для российских ОС — чтобы новый сервер можно было запустить без участия администратора.

Дорожная карта гибкая: приоритеты задаёт не внутренний план, а реальные сценарии у заказчиков.

Связаться с нами и запросить демо можно через сайт Nova AI— там же оформляется пилот.

А в комментариях расскажите, с какими проблемами вы сталкивались при запуске ML-инфры и что помогло их решить — обсудим.

Автор: NVekesser

Источник

Rambler's Top100