NVIDIA 的 Run:AI 现已采用 Apache-2.0 许可证开源
摘要
NVIDIA 的 Run:AI AI 工作负载与 GPU 编排平台现已以 Apache-2.0 许可证作为开源单体仓库(monorepo)发布,包括其控制平面、集群服务、CLI 以及用于在 Kubernetes 上管理 GPU 资源的 MCP 服务器。
查看缓存全文
缓存时间: 2026/10/14 07:21
dsx-ai-factory/run-ai
来源:https://github.com/dsx-ai-factory/run-ai NVIDIA Run:ai:AI 工作负载与 GPU 编排平台
NVIDIA Run:ai
许可证 | CI | 最新版本 (https://github.com/dsx-ai-factory/run-ai/releases) | 贡献者 (https://github.com/dsx-ai-factory/run-ai/graphs/contributors) 文档 | 路线图 | 安装 | API 参考 (https://docs.nvidia.com/run-ai/self-hosted/reference/home) | 贡献指南 | 许可证
NVIDIA Run:ai 是一个开源 AI 工作负载和 GPU 编排平台,用于在 Kubernetes 上管理共享的 AI 基础设施。NVIDIA Run:ai 提供了一致的方式来在各种 Kubernetes 环境中运行开发、训练和推理工作负载,无论是在本地部署、云端,还是混合基础设施中。它将 GPU 调度、资源管理、工作负载编排、治理和可观测性结合在一起,帮助组织在团队和集群之间高效共享 GPU 资源。
此 monorepo 包含 NVIDIA Run:ai 控制平面和集群服务、安装程序、CLI、MCP 服务器、文档、共享客户端包以及本地开发环境。
架构
架构概览 → (https://docs.nvidia.com/run-ai/self-hosted/documentation/getting-started/architecture)
NVIDIA Run:ai 由两个组件组成,均安装在 Kubernetes 集群上:
-
NVIDIA Run:ai 控制平面 提供集中式资源管理,处理工作负载提交,并提供集群监控和分析功能。控制平面是管理层;它连接到一个或多个 NVIDIA Run:ai 集群,为管理员和用户提供跨集群的统一操作入口。
-
NVIDIA Run:ai 集群 一组集群服务,用于在每个运行工作负载的 Kubernetes 集群上提供增强的调度和工作负载管理。集群组件通过 Run:ai 的 GPU 感知能力扩展了 Kubernetes 原生调度。
从高层次来看:
- 用户和外部系统通过 Web UI、CLI 或 REST API 与 NVIDIA Run:ai 交互。
- NVIDIA Run:ai 控制平面在已连接的 Kubernetes 集群上管理工作负载、组织资源、策略和配置。
- NVIDIA Run:ai 集群服务将控制平面的配置和工作负载请求同步到相应的集群。
- NVIDIA Run:ai 应用调度和资源策略,确定工作负载在可用 GPU 和计算资源上的运行位置和方式。
- 工作负载和集群状态会同步回 NVIDIA Run:ai 控制平面,提供跨已连接集群的集中式可见性。
核心能力
| 能力 | 说明 |
|---|---|
| AI 感知的 GPU 调度 | 使用公平份额、抢占、装箱、优先级和拓扑感知放置来调度 GPU 工作负载。 |
| 动态 GPU 分配 | 通过小数 GPU 分配和可用容量的动态利用,在工作负载之间共享 GPU 资源。 |
| 资源配额和策略 | 在部门和项目之间分配 GPU 资源,并强制执行组织级资源策略。 |
| 多集群管理 | 在多个 Kubernetes 集群上集中管理工作负载、资源和配置。 |
| AI 工作负载管理 | 管理工作区、训练、分布式训练和推理,并支持扩展以管理更多 Kubernetes 工作负载类型。 |
| 访问控制和治理 | 通过基于角色的权限控制对 NVIDIA Run:ai 资源的访问,并在工作负载和资源上强制执行组织策略。 |
| 监控和可观测性 | 提供对集群、节点、GPU、工作负载、资源利用率和平台活动的可见性。 |
| 多种接口 | 支持通过 Web UI、CLI 和 REST API 进行 NVIDIA Run:ai 操作。 |
NVIDIA Run:ai 与其他工具的关系
NVIDIA Run:ai 是构建在 Kubernetes 之上的调度和编排层:它不会取代 Kubernetes、容器运行时或 CI/CD 系统。
| 层级 | 工具 | NVIDIA Run:ai 的关系 |
|---|---|---|
| 集群编排 | Kubernetes、OpenShift | NVIDIA Run:ai 运行在这些平台之上。它以 GPU 感知调度扩展集群,而非替换原生调度。 |
| 调度器 | 默认 kube-scheduler、Volcano、Kueue | NVIDIA Run:ai 内置了 KAI Scheduler,并增加了公平份额、抢占、小数 GPU 以及跨部门和项目的配额层级。 |
| GPU 使能 | NVIDIA GPU Operator、Network Operator | 互补关系:这些工具负责在节点上暴露和配置 GPU;NVIDIA Run:ai 决定哪些工作负载获得 GPU 以及使用多长时间。 |
| ML 平台和流水线 | Kubeflow、Ray、Argo Workflows、Slurm | 对于基于 Kubernetes 的工具是互补关系:它们提交工作负载,NVIDIA Run:ai 调度和治理这些工作负载消耗的 GPU 容量。Slurm 是裸金属 HPC 式批处理的替代方案。 |
| 工作负载类型 | Training Operator、LeaderWorkerSet、Knative、KServe | NVIDIA Run:ai 与这些工具集成,将工作区、训练、分布式训练和推理作为一等工作负载进行管理。 |
如果您的场景需要在共享同一 Kubernetes GPU 资源池的多个团队之间实现 GPU 共享、配额强制执行和多租户治理,那么这正是 NVIDIA Run:ai 所填补的空白。如果只需要在专用 GPU 上运行单个团队的任务,Kubernetes 原生调度可能就足够了。
仓库结构
| 组件 | 路径 | 说明 |
|---|---|---|
| 控制平面 | control-plane/ | 管理工作负载、策略、身份、组织结构和平台配置的 API 及服务 |
| NVIDIA Run:ai 集群 | runai-cluster/ | 部署到每个受管 Kubernetes 集群的控制器、准入 Webhook 和服务 |
| 安装程序 | runai-installer/ | 用于在 Kubernetes 上部署 NVIDIA Run:ai 的 CLI 工具和配置服务 |
| MCP 服务器 | runai-mcp-server/ | Model Context Protocol 服务器,将 NVIDIA Run:ai 操作作为工具暴露给 AI 助手 |
| 客户端和共享包 | runai-clients/、runai-common-packages/、runai-application-packages/ | 自动生成的 API 客户端和共享 Go 库 |
| 扩展/负载测试 | scale-tests/ | 用于验证平台大规模行为的负载测试 SDK 和统一负载测试套件 |
| 文档 | docs/、fern/ | 产品和开发者文档 |
| 本地环境 | local-dev.sh、local-dev.md | 一键启动的本地 Kubernetes(Kind)开发环境 |
有关各服务和组件的详细说明,请参阅服务参考。
使用方法
本地开发环境
local-dev.sh 脚本从源码构建 NVIDIA Run:ai 控制平面和集群服务,并将它们部署到一个自带本地镜像仓库的自包含 Kind (https://kind.sigs.k8s.io/) 集群中。
./local-dev.sh # 完整构建 + 集群 + 部署
./local-dev.sh --skip-build --skip-cluster # 仅重新部署
./local-dev.sh --teardown # 拆除环境
请参阅本地开发指南了解前置要求(Docker/Podman、make、git、curl、python3、openssl,以及最低 CPU/内存/磁盘要求;kind、kubectl 和 helm 会自动安装)及所有可用标志。
主机上不需要安装 Go、Node 和 Java:所有构建都在容器内运行。
构建单个服务
每个服务目录都有一个 Makefile,包含标准目标(make build、make test、make lint、make validate)以及一个 README,说明如何构建、测试和使用该服务。
有关各服务和组件的详细说明,请参阅服务参考。
安装
NVIDIA Run:ai 可以部署在连接网络或气隙(air-gapped)环境中的 Kubernetes 或 OpenShift 上。
要了解完整的安装生命周期,请参阅安装与配置概览。
开始之前:
- 支持矩阵 NVIDIA Run:ai 支持的 Kubernetes/OpenShift 版本、操作系统、GPU 和网络 Operator 以及第三方服务。
- 系统要求 安装前需要准备的基础设施、网络和访问权限。
根据您希望的部署管理方式选择安装方法:
- 引导式安装(推荐)
使用
runai-installerCLI 和配置 YAML 文件。安装程序会执行预检、安装所需依赖,并部署 NVIDIA Run:ai 控制平面和集群。 - 手动安装 直接部署 NVIDIA Run:ai Helm charts。如果您通过自己的工具(如 Argo CD)管理部署,或需要对 Helm values 进行精细控制,请选择此方式。
如需在本地构建和运行 NVIDIA Run:ai 进行开发,请参阅使用方法。
分发渠道
正式发布的 NVIDIA Run:ai 容器镜像和 Helm charts 发布到 NVIDIA NGC 容器注册中心的 nvcr.io/nvidia/runai 下:这是安装程序和 Helm charts 默认拉取的注册中心。
源码发布及其说明请参见 GitHub Releases 页面;有关发布和版本管理方式,请参阅发布流程。
贡献
欢迎贡献。请阅读贡献指南了解开发工作流程、分支和 PR 策略以及 CI 要求,阅读行为准则了解社区规范。
路线图
NVIDIA Run:ai 不在本仓库中发布长期功能路线图。已规划和进行中的工作在以下公开渠道跟踪:
- 开放 Issues 已规划的工作、已接受的功能请求和已知的不足。Issue 由维护者进行分类和标记。
- Releases 每个版本实际发布的内容,附带从该版本分支上合并的 Pull Request 自动生成的发布说明。
- 支持 当前支持的版本以及各版本何时进入生命周期终止阶段。
发布节奏、分支命名和发布负责人在发布流程中有详细记录。
**已知限制:**根目录 Makefile 中的目标仅为占位符;实际的构建、测试和 lint 目标位于各服务目录中(请参阅构建单个服务)。完整的 CI 检查在远程运行,并通过 Validate Successful Run 检查项在 Pull Request 上报告结果。
社区
- GitHub Issues Bug 报告、功能请求、文档问题和使用疑问。这是项目的主要讨论论坛;请从此处开始。
- 支持 受支持的版本以及获取帮助的渠道,包括商业支持。
安全与支持
许可证
本项目采用 Apache License 2.0 授权;详见 LICENSE。第三方声明列在 NOTICE 及各组件的 NOTICE 文件中。
**商标声明:**Apache 2.0 适用于本仓库中的软件代码。它不授予使用 NVIDIA 或 Run:ai 商标、徽标、产品名称、字体、美术作品或其他品牌资产的许可。详情请参阅商标。
嵌套和第三方许可证
部分子目录包含以各自许可证发布的第三方代码或捆绑资产。以下逐一列出其许可证及许可证文件路径:
| 子目录 | 许可证 | 许可证文件 |
|---|---|---|
skills/ | Apache-2.0 AND CC-BY-4.0 | skills/LICENSE |
runai-cluster/cluster/goofys/ | Apache-2.0 | runai-cluster/cluster/goofys/LICENSE.md(声明见相邻的 NOTICE) |
control-plane/assets-service/third_party/go_acc/ | Apache-2.0 | .../go_acc/LICENSE |
control-plane/workloads-and-policies/third_party/kserve/ | Apache-2.0 | .../kserve/LICENSE |
runai-application-packages/jsonutils/conjungo/ | MIT | .../conjungo/LICENSE |
runai-application-packages/jsonutils/gojsonq/ | MIT | .../gojsonq/LICENSE.md |
runai-application-packages/validation/ | MIT | .../validation/LICENSE |
runai-cluster/cluster/workload-controller/third_party/validation/ | MIT | .../third_party/validation/LICENSE |
control-plane/frontend/public/static-cli/fonts/ | Apache-2.0 | .../fonts/LICENSE.txt |
以下子目录包含聚合的第三方依赖许可证报告(并非其自身代码的许可证):
| 子目录 | 报告 |
|---|---|
runai-cluster/cluster/init-ca/licenses/ | THIRD-PARTY-LICENSES.md(由 go-licenses 生成) |
相似文章
NVIDIA Run:ai 现已开源,成为 NVIDIA DSX AI Factory 平台的一部分(17分钟阅读)
NVIDIA 将完整的 Run:ai 平台开源,作为 NVIDIA DSX AI Factory 平台的一部分,提供生产级 AI 工作负载与 GPU 编排能力,包括可独立采用的 KAI Scheduler、GPU Fractioning Operator、KAI Resource Management 和 Workload Map 四大组件。
推动开源AI发展,NVIDIA将GPU动态资源分配驱动捐赠给Kubernetes社区
NVIDIA正将其GPU动态资源分配(DRA)驱动捐赠给CNCF及Kubernetes社区,使其从厂商主导转变为社区所有。此次捐赠旨在简化Kubernetes中面向AI工作负载的GPU资源管理,并通过与CNCF Confidential Containers社区的协作,为Kata Containers提供GPU支持。
NVIDIA大规模解锁AI算力,邀请合作伙伴助力AI基础设施建设
NVIDIA宣布推出新商业模式,通过与AI云合作提供大规模AI算力,借助收入分成和信贷支持加速基础设施接入。
@dhruvtwt_:怎么没人聊这事?@nvidia 正免费提供约 80 款 AI 模型的托管 API
Nvidia 低调开放约 80 款免费托管 AI 模型 API,包括 MiniMax M2.7、GLM 5.1、Kimi 2.5、DeepSeek 3.2、GPT-OSS-120B 等,可直接接入 OpenClaude、Zed IDE 等主流开发工具。
@ClementDelangue: 从我们所知(请谨慎对待,我们需要更多透明度!),如果 @OpenAI 一直在运行这个……
NVIDIA 推出 OpenShell,一个用于安全 AI 代理执行的开源运行时,具有内核级强制和形式化验证,以防止未授权操作。