NVIDIA AICR: надёжные рецепты для GPU-кластеров

Зачем мы это создали

Надёжно эксплуатировать 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 aicr

Единый бинарный файл для полного рабочего процесса: snapshot, recipe, bundle, validate, verify, diff и управление доверием.

API-сервер (aicrd)

REST API, предоставляющий те же возможности, что и CLI. Запускается внутри кластера для интеграции с CI/CD или в изолированных (air-gapped) окружениях.

Go-библиотека (github.com/NVIDIA/aicr/pkg/client/v1)

Стабильный 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)

aicr diff сравнивает два снимка, выявляя дрейф конфигурации между кластерами или во времени.

Безопасность цепочки поставок (Supply Chain Security)

Происхождение образов SLSA Build Level 3, подписанные SBOM образов, аттестации образов (Cosign / Sigstore) и aicr verify для офлайн-верификации бандлов.

Поддерживаемые компоненты

Рецепты 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. Ключевые разделы:

Для участников проекта:

Ресурсы

  • Дорожная карта — приоритеты функций и план разработки

  • Пользователи — организации и проекты, использующие AICR или строящие на его основе

  • Безопасность — безопасность цепочки поставок, сообщение об уязвимостях и верификация

  • Релизы — бинарные файлы, SBOM и аттестации

  • Задачи — баги, запросы функций и вопросы

  • Slack — присоединяйтесь к Kubernetes Slack и заходите в канал #aicr

Участие в проекте

AI Cluster Runtime распространяется под лицензией Apache 2.0 (LICENSE). Мы рады любому вкладу: новым рецептам для неохваченных окружений, дополнительным форматам бандлеров, проверкам валидации или сообщениям об ошибках. Подробнее о настройке окружения для разработки и процессе PR см. в CONTRIBUTING.md.

© 2026 meganuke