Зачем мы это создали
Надёжно эксплуатировать GPU-ускоренные кластеры Kubernetes непросто. Незначительные различия в версиях ядра, драйверах, контейнерных средах выполнения, операторах и релизах Kubernetes приводят к сбоям, которые трудно диагностировать и дорого воспроизвести.
Исторически эти знания хранились во внутренних пайплайнах валидации и сборниках инструкций (runbooks). AI Cluster Runtime делает их доступными для всех.
Каждый рецепт (recipe) AICR:
-
Оптимизирован — настроен под конкретное сочетание оборудования, облака, ОС и типа рабочей нагрузки.
-
Проверен — проходит автоматические проверки ограничений и совместимости перед публикацией.
-
Воспроизводим — одни и те же входные данные всегда дают идентичное развёртывание.
Каждый рецепт AICR содержит два вида криптографических доказательств: откуда он появился (происхождение, provenance — подписано CI NVIDIA, проверяется офлайн) и, для рецептов с опубликованными свидетельствами, что зафиксировала их валидация (достоверность, validity — привязанная к подписанту, защищённая от подделки аттестация, связывающая удостоверение с результатом aicr validate от участников, имеющих доступ к кластерам, которого у NVIDIA нет). Полную цепочку см. в SECURITY.md и демонстрациях bundle attestation, recipe evidence и build provenance.
Быстрый старт
# Установка CLI (Homebrew)
brew tap NVIDIA/aicr
brew install aicr
# Или через установочный скрипт
curl -sfL https://get.aicr.run | bash -s --
# Сгенерировать рецепт для вашего окружения
aicr recipe --service eks --accelerator h100 --os ubuntu \
--intent training --platform kubeflow -o recipe.yaml
# Преобразовать рецепт в готовые к развёртыванию бандлы (helm, argocd, flux или helmfile)
aicr bundle --recipe recipe.yaml --deployer argocd --output ./bundles
# После развёртывания бандла проверить работающий кластер на соответствие рецепту
aicr validate --recipe recipe.yaml
# Получить конкретное значение конфигурации (например, версию GPU-драйвера)
aicr query --service eks --accelerator h100 --os ubuntu \
--intent training --platform kubeflow \
--selector components.gpu-operator.values.driver.version
Содержимое директории bundles/ зависит от выбранного --deployer: манифесты Application Argo CD для argocd, Helm chart в стиле app-of-apps для argocd-helm, манифесты HelmRelease и Kustomization для flux, граф релизов helmfile.yaml для helmfile или простые команды Helm для helm.
Подробнее об установке вручную, сборке из исходников и использовании контейнерных образов см. в Руководстве по установке.
Возможности
| Возможность | Описание |
|---|---|
CLI |
Единый бинарный файл для полного рабочего процесса: snapshot, recipe, bundle, validate, verify, diff и управление доверием. |
API-сервер ( |
REST API, предоставляющий те же возможности, что и CLI. Запускается внутри кластера для интеграции с CI/CD или в изолированных (air-gapped) окружениях. |
Go-библиотека ( |
Стабильный Go SDK для встроенного использования — тот же рабочий процесс (resolve, bundle, snapshot, validate) вызывается из любой Go-программы без запуска подпроцессов или обращения к REST. Изоляция на уровне клиента поддерживает многопользовательское использование. |
Агент снимков (Snapshot Agent) |
Kubernetes Job, захватывающий состояние живого кластера (GPU-оборудование, драйверы, ядро, ОС, операторы, конфигурацию K8s) в ConfigMap для последующей валидации по рецептам. |
Мультидеплойерные бандлы (Multi-Deployer Bundles) |
Один и тот же рецепт преобразуется в артефакты для Helm, Argo CD (App of Apps или вариант с Helm chart), Flux или Helmfile — выбирайте то, что подходит вашему GitOps-пайплайну. |
Многофазная валидация (Multi-Phase Validation) |
Фазы развёртывания, производительности (обучение и инференс) и соответствия — можно запускать все сразу или по одной. |
Обнаружение дрейфа конфигурации (Drift Detection) |
|
Безопасность цепочки поставок (Supply Chain Security) |
Происхождение образов SLSA Build Level 3, подписанные SBOM образов, аттестации образов (Cosign / Sigstore) и |
Поддерживаемые компоненты
Рецепты AICR компонуются из следующих групп компонентов:
| Группа | Примеры |
|---|---|
GPU-стек |
GPU Operator, DRA GPU Driver, Network Operator, NFD, NVSentinel |
Интеграция с облаком |
AWS EFA, AWS EBS CSI, GKE NCCL TCPXO |
Настройка узлов (Node tuning) |
Nodewright Operator и кастомизации, cert-manager |
Наблюдаемость (Observability) |
kube-prometheus-stack, Prometheus Operator CRDs, Prometheus Adapter, метрики ephemeral-storage |
Платформы обучения |
Kubeflow Trainer, Slinky Slurm Operator, KAI Scheduler, Kueue |
Платформы инференса |
Dynamo, Grove, NIM Operator, Agent Gateway |
Полный перечень компонентов с закреплёнными версиями и источниками см. в Каталоге компонентов. Не нашли нужного? Создайте задачу — обратная связь помогает расставлять приоритеты валидации.
Поддерживаемые окружения
| Измерение | Значения |
|---|---|
Сервисы |
AKS, BCM, EKS, GKE, Kind, LKE, Metal3, OCP, OKE |
Ускорители |
A100, B200, GB200, GB300, H100, H200, L40, L40S, RTX PRO 6000 |
Операционные системы |
Amazon Linux, COS, Oracle Linux, RHEL, Talos, Ubuntu |
Типы рабочих нагрузок |
Инференс, Обучение |
Платформы |
Dynamo, Kubeflow, NIM, Run:ai, Slurm (Slinky) |
Как это работает
Рецепт — это зафиксированная по версиям конфигурация для конкретного окружения. Вы описываете целевую среду (облако, GPU, ОС, тип рабочей нагрузки, дополнительную платформу), а движок рецептов подбирает соответствие из библиотеки проверенных оверлеев (overlays) — слоистых конфигураций, которые собираются снизу вверх: от базовых значений по умолчанию через настройки облака, ускорителя, ОС до специфики рабочей нагрузки. Повторно используемые миксины (mixins) несут общие фрагменты (ограничения ОС, компоненты платформы), так что листовой оверлей объявляет только то, что уникально для него.
Бандлер (bundler) материализует рецепт в готовые к развёртыванию артефакты: одна папка на компонент, каждая содержит значения Helm, контрольные суммы и README. Валидатор сравнивает рецепт с живым снимком кластера — сначала проверяет декларативные ограничения, затем при необходимости запускает фазы развёртывания, производительности и соответствия внутри кластера.
Такое разделение означает, что одна и та же проверенная конфигурация работает независимо от того, используете ли вы Helm, Argo CD, Flux, Helmfile или собственный пайплайн.
Чем AI Cluster Runtime не является
-
Не дистрибутивом Kubernetes
-
Не инструментом подготовки кластера или управления его жизненным циклом
-
Не управляемой плоскостью управления и не хостируемым сервисом
-
Не заменой облачного провайдера или платформы OEM
-
Не универсальной платформой управления конфигурацией
По своей сути AICR — это генератор конфигурации кластера. Вы приносите свой GPU-ускоренный кластер Kubernetes и инструменты развёртывания; AICR генерирует артефакты конфигурации среды выполнения, которые ваши инструменты применяют к кластеру. AICR также умеет проверять, что конфигурация корректно материализована и обеспечивает ожидаемые характеристики производительности.
Документация
Полная документация доступна на docs.nvidia.com/aicr. Ключевые разделы:
-
Установка — установка CLI
aicr(скриптом, вручную или сборка из исходников) -
Справочник CLI — все команды, флаги и примеры
-
Справочник API — REST API эндпоинты для
aicrd -
Развёртывание агента — запуск агента снимков в кластере
-
Валидация — фазы развёртывания, производительности и соответствия
-
Каталог компонентов — все компоненты, которые могут входить в рецепт
-
Разработка рецептов — добавление и изменение метаданных рецептов
-
Руководство по автоматизации — паттерны интеграции с CI/CD
Для участников проекта:
-
Руководство участника — настройка окружения для разработки, тестирование и процесс PR
-
Кодекс поведения — стандарты сообщества и их соблюдение
-
Руководство по разработке — локальная разработка, цели Make и инструментарий
-
Обзор архитектуры — дизайн системы и пакеты
Ресурсы
-
Дорожная карта — приоритеты функций и план разработки
-
Пользователи — организации и проекты, использующие AICR или строящие на его основе
-
Безопасность — безопасность цепочки поставок, сообщение об уязвимостях и верификация
-
Релизы — бинарные файлы, SBOM и аттестации
-
Задачи — баги, запросы функций и вопросы
-
Slack — присоединяйтесь к Kubernetes Slack и заходите в канал #aicr
Участие в проекте
AI Cluster Runtime распространяется под лицензией Apache 2.0 (LICENSE). Мы рады любому вкладу: новым рецептам для неохваченных окружений, дополнительным форматам бандлеров, проверкам валидации или сообщениям об ошибках. Подробнее о настройке окружения для разработки и процессе PR см. в CONTRIBUTING.md.