元鉴
返回中文阅读流

NVIDIA Developer Blog

使用分层可复现的配方验证 GPU 基础设施的 Kubernetes

每个运行在 Kubernetes 上的 AI 集群都需要一个协同工作的完整软件栈,从底层驱动和内核设置到高层操作符和...

中文内容

已翻译official company source英文原文2026-05-26

每个运行于 Kubernetes 的 AI 集群都需要一套协同运作的完整软件栈,涵盖从底层驱动与内核设置到高层 Operator 及工作负载配置的各个环节。刚调通一个集群,往往又要花费数天时间让下一个集群与之对齐。升级某个组件,其他部分可能随之故障;迁移至新云平台,一切又需从头开始。AI Cluster Runtime 是一个全新的开源项目,旨在将集群配置移出关键路径。它以配方形式发布经过优化、验证且可复现的 Kubernetes 配置,供你直接部署至集群。

AI Cluster Runtime 的工作原理

为支持横跨云环境与本地 AI 工厂的 GPU 集群,NVIDIA 针对 AI 工作负载验证了特定的驱动、运行时、Operator、内核模块及系统设置组合。AI Cluster Runtime 将这些验证结果作为配方发布。这些版本锁定的 YAML 文件记录了在给定环境中经过测试的组件、具体版本及配置值。配方还附带约束条件(如最低 Kubernetes 版本、指定操作系统与内核版本),以及基于组件依赖关系计算得出的部署顺序。每个配方均已在真实集群上完成验证,并可在不同环境中复现。

你可以直接在代码库中浏览配方,通过 REST API 进行查询,或使用 aicr CLI 为目标环境生成配方,并将其渲染为可直接部署的 Helm charts 与 manifests。

捕获集群状态

若您的集群处于运行状态,可在生成 recipe 前对其状态进行快照。该快照将捕获操作系统发行版、内核版本、GPU硬件及驱动、Kubernetes 版本以及已安装的 Operator。

aicr snapshot \
  --node-selector nodeGroup=gpu-worker \
  --output cm://gpu-operator/aicr-snapshot

此操作会在目标节点上部署一个短期运行的 Job,采集系统指标数据,并将结果写入 ConfigMap 或本地文件。该快照将作为验证检查的基准。

生成 recipe

recipe 命令会接收目标环境的描述,并将其与已验证的 overlay 库进行匹配,以生成包含精确组件版本与设置项的单一 recipe。

aicr recipe \
  --service eks \
  --accelerator h100 \
  --intent training \
  --os ubuntu \
  --platform kubeflow \
  --output recipe.yaml

recipe 采用分层结构构建,而非作为整体式配置进行维护。具体包括:

  • 基础层,用于定义通用组件和默认版本。
  • 环境层,用于添加 Kubernetes 专属组件——例如 Amazon EKS 上的 EBS CSI 驱动程序和 EFA 插件。
  • 意图层,用于配置面向训练优化的组件设置以及 NVIDIA Collective Communications Library (NCCL) 调优参数。
  • 硬件层,用于固定驱动版本,并为特定加速器启用 CDI 和 GDRCopy 等功能。

各层按顺序叠加,更具体的配置值优先于通用值生效。

一个完全定制化的部署配方(例如 NVIDIA Blackwell + EKS + Ubuntu + 训练 + Kubeflow)在 16 个组件中最多包含 268 个配置值。通用的 EKS 查询会返回 200 个。训练与推理意图之间的差异可能会替换 5 个组件并更改 41 个配置值,从而基于相同的基础产生完全不同的部署堆栈。这种程度的差异正是人们最终不得不手动调优集群的原因。

验证

验证分阶段进行。在部署任何内容之前,就绪检查会将配方约束与您的快照进行比对:包括 Kubernetes 版本、操作系统、内核和 GPU 硬件。

aicr validate \
  --recipe recipe.yaml \
  --phase readiness

部署完成后,后续阶段将验证组件的健康状况与合规性。合规性阶段会对照 CNCF 的 Certified Kubernetes AI Conformance Program 等标准进行检查,验证动态资源分配(DRA)、成组调度以及作业级网络等要求。

创建捆绑包

打包器将配方转换为可部署的制品。

aicr bundle \
  --recipe recipe.yaml \
  --system-node-selector nodeGroup=system-pool \
  --accelerated-node-selector nodeGroup=gpu-worker \
  --accelerated-node-toleration nvidia.com/gpu=present:NoSchedule \
  --output ./bundles

输出为一个目录,每个组件对应一个文件夹,文件夹内包含 values.yaml、完整性校验和、README 以及可选的自定义清单。

组件按其依赖图进行排序(例如,cert-manager 位于 NVIDIA GPU Operator 之前,NVIDIA GPU Operator 位于 Kubeflow Trainer 之前)。可使用附带的 deploy.sh 脚本进行部署,通过 --deployer argocd 生成 ArgoCD Application 清单,或将 Bundle 发布为 OCI 镜像以用于物理隔离环境。

及时跟进 AI Cluster Runtime 实践指南

随着 NVIDIA 内部验证流水线的运行,Recipes 会持续更新。新的组件发布、驱动程序更新以及内核参数变更,在通过测试后均会整合至已发布的 Recipes 中。当某项特定的 NCCL 设置能够提升 Blackwell 吞吐量时,该配置便会纳入下一版本的 Recipe 中。

由于每个配方均进行了版本控制,您可以在升级前将当前部署与最新已验证的配置进行差异比对,从而准确了解具体的变更内容。

贡献示例

该项目从一开始就专为协作而设计,使 CSP、OEM、平台团队及个人运维人员能够协助验证各类硬件、操作系统与 Kubernetes 发行版的组合。

贡献一个配方。复制现有覆盖层,根据您的环境更新条件与配置,运行 make test,并发起 PR。配方开发指南将逐步介绍该流程。

支持私有扩展。--data 参数可在运行时叠加外部配方目录,使您无需 fork 即可将组织专属配置与公开配置并行维护。

提交 Issue。分享您关注的环境。这将直接决定下一步的验证重点。

开始使用 AI Cluster Runtime

AI Cluster Runtime 已在 GitHub 上以 Alpha 版本形式提供。该版本包含 aicr CLI、API 服务器、集群代理,以及经过验证的参考方案,涵盖在运行 Ubuntu 24.04 的 NVIDIA H100 与 NVIDIA Blackwell 加速器上,基于 Kubernetes(如 Amazon EKS)的训练与推理工作负载。

训练参考方案面向 Kubeflow Trainer,推理参考方案面向 NVIDIA Dynamo。每个版本均提供 SLSA Level 3 溯源信息、已签名的 SBOM 以及镜像证明。

目前正积极推进相关项目开发,以将 AI Cluster Runtime 扩展至更多平台、加速器和工作负载类型。欢迎收看 NVIDIA GTC 2026 的“Operating Cloud AI Factories at Scale”主题环节,深入了解 AI Cluster Runtime 及其他助力 AI 规模化运营的产品。

Like

标签

原文标题

Validate Kubernetes for GPU Infrastructure with Layered, Reproducible Recipes