NVIDIA Run:ai 开源并采用 Apache-2.0 协议
NVIDIA's Run:AI is now apparently under Apache-2.0 license.
NVIDIA 将核心的 GPU 编排工具 Run:ai 开源,这对本地部署和私有云 AI 基础设施的开发者是重大利好,直接降低了企业级 GPU 调度的门槛,值得收藏关注。
NVIDIA Run:ai
Docs | Roadmap | Installation | API Reference | Contributing | License
文档 | 路线图 | 安装 | API 参考 | 贡献指南 | 许可证
NVIDIA Run:ai is an open-source AI workload and GPU orchestration platform for managing shared AI infrastructure on Kubernetes.
NVIDIA Run:ai 是一个开源的 AI 工作负载和 GPU 编排平台,用于管理 Kubernetes 上的共享 AI 基础设施。
NVIDIA Run:ai provides a consistent way to run development, training, and inference workloads across Kubernetes environments, whether deployed on-premises, in the cloud, or across hybrid infrastructure. It combines GPU scheduling, resource management, workload orchestration, governance, and observability to help organizations share GPU resources efficiently across teams and clusters.
NVIDIA Run:ai 提供了一种一致的方式,在 Kubernetes 环境中运行开发、训练和推理工作负载,无论部署在本地、云端还是混合基础设施中。它结合了 GPU 调度、资源管理、工作负载编排、治理和可观测性,帮助组织在团队和集群之间高效共享 GPU 资源。
This monorepo contains the NVIDIA Run:ai control plane and cluster services, installer, CLI, MCP server, documentation, shared client packages, and the local development environment.
此单体仓库包含 NVIDIA Run:ai 控制平面和集群服务、安装程序、CLI、MCP 服务器、文档、共享客户端包以及本地开发环境。
Architecture
架构
Architecture Overview →
架构概览 →
NVIDIA Run:ai is made up of two components, both installed on a Kubernetes cluster:
NVIDIA Run:ai 由两个组件组成,两者均安装在 Kubernetes 集群上:
- NVIDIA Run:ai control plane - Provides centralized resource management, handles workload submission, and delivers cluster monitoring and analytics. The control plane is the management layer; it connects to one or more NVIDIA Run:ai clusters and gives administrators and users a single place to operate across them.
- NVIDIA Run:ai cluster - Set of cluster services that provide enhanced scheduling and workload management on each Kubernetes cluster where workloads run. The cluster component extends Kubernetes native scheduling with Run:ai’s GPU-aware capabilities.
- NVIDIA Run:ai 控制平面 - 提供集中的资源管理,处理工作负载提交,并提供集群监控和分析。控制平面是管理层;它连接到一个或多个 NVIDIA Run:ai 集群,为管理员和用户提供一个跨集群操作的统一入口。
- NVIDIA Run:ai 集群 - 一组集群服务,在每个运行工作负载的 Kubernetes 集群上提供增强的调度和工作负载管理。集群组件通过 Run:ai 的 GPU 感知能力扩展了 Kubernetes 原生调度功能。
At a high level:
从高层来看:
- Users and external systems interact with NVIDIA Run:ai through the web UI, CLI, or REST API.
- The NVIDIA Run:ai control plane manages workloads, organizational resources, policies, and configuration across connected Kubernetes clusters.
- NVIDIA Run:ai cluster services synchronize configuration and workload requests from the control plane to the appropriate cluster.
- NVIDIA Run:ai applies scheduling and resource policies to determine where and how workloads run on available GPU and compute resources.
- Workload and cluster status is synchronized back to the NVIDIA Run:ai control plane, providing centralized visibility across connected clusters.
- 用户和外部系统通过 Web UI、CLI 或 REST API 与 NVIDIA Run:ai 进行交互。
- NVIDIA Run:ai 控制平面管理已连接的 Kubernetes 集群上的工作负载、组织资源、策略和配置。
- NVIDIA Run:ai 集群服务将来自控制平面的配置和工作负载请求同步到相应的集群。
- NVIDIA Run:ai 应用调度和资源策略,以确定工作负载在可用的 GPU 和计算资源上的运行位置及方式。
- 工作负载和集群状态同步回 NVIDIA Run:ai 控制平面,从而在已连接的集群上提供集中式的可见性。
Core Capabilities
核心功能
| Capability | What it does |
|---|---|
| AI-aware GPU scheduling | Schedules GPU workloads using fair-share, preemption, bin-packing, priorities, and topology-aware placement. |
| Dynamic GPU allocation | Shares GPU resources across workloads with fractional GPU allocation and dynamic use of available capacity. |
| Resource quotas and policies | Allocates GPU resources across departments and projects and enforces organizational resource policies. |
| Multi-cluster management | Centrally manages workloads, resources, and configuration across multiple Kubernetes clusters. |
| AI workload management | Manages workspaces, training, distributed training, and inference, with extensible support for additional Kubernetes workloads. |
| Access control and governance | Controls access to NVIDIA Run:ai resources with role-based permissions and enforces organizational policies across workloads and resources. |
| Monitoring and observability | Provides visibility into clusters, nodes, GPUs, workloads, resource utilization, and platform activity. |
| Multiple interfaces | Supports NVIDIA Run:ai operations through the web UI, CLI, and REST API. |
| 功能 | 作用 |
|---|---|
| AI 感知 GPU 调度 | 使用公平共享、抢占、装箱、优先级和拓扑感知放置来调度 GPU 工作负载。 |
| 动态 GPU 分配 | 通过分数 GPU 分配和动态利用可用容量,在工作负载之间共享 GPU 资源。 |
| 资源配额与策略 | 跨部门和项目分配 GPU 资源,并执行组织资源策略。 |
| 多集群管理 | 集中管理多个 Kubernetes 集群中的工作负载、资源和配置。 |
| AI 工作负载管理 | 管理工作区、训练、分布式训练和推理,并提供对额外 Kubernetes 工作负载的扩展支持。 |
| 访问控制与治理 | 通过基于角色的权限控制对 NVIDIA Run:ai 资源的访问,并在所有工作负载和资源上强制执行组织策略。 |
| 监控与可观测性 | 提供对集群、节点、GPU、工作负载、资源利用率及平台活动的可见性。 |
| 多种接口 | 支持通过 Web UI、CLI 和 REST API 进行 NVIDIA Run:ai 操作。 |
How NVIDIA Run:ai Relates to Other Tools
NVIDIA Run:ai 与其他工具的关系
NVIDIA Run:ai is a scheduling and orchestration layer on top of Kubernetes: it does not replace Kubernetes, a container runtime, or a CI/CD system.
NVIDIA Run:ai 是建立在 Kubernetes 之上的调度和编排层:它不会替代 Kubernetes、容器运行时或 CI/CD 系统。
| Layer | Tools | How NVIDIA Run:ai relates |
|---|---|---|
| Cluster orchestration | Kubernetes, OpenShift | NVIDIA Run:ai runs on these. It extends the cluster with GPU-aware scheduling rather than replacing native scheduling. |
| Schedulers | Default kube-scheduler, Volcano, Kueue | NVIDIA Run:ai ships the KAI Scheduler and adds fair-share, preemption, fractional GPUs, and quota hierarchies across departments and projects. |
| GPU enablement | NVIDIA GPU Operator, Network Operator | Complementary: these expose and configure GPUs on nodes; NVIDIA Run:ai decides which workloads get them and for how long. |
| ML platforms and pipelines | Kubeflow, Ray, Argo Workflows, Slurm | Complementary for the Kubernetes-based ones: they submit workloads, NVIDIA Run:ai schedules and governs the GPU capacity those workloads consume. Slurm is an alternative for HPC-style batch on bare metal. |
| Workload types | Training Operator, LeaderWorkerSet, Knative, KServe | NVIDIA Run:ai integrates with these to manage workspaces, training, distributed training, and inference as first-class workloads. |
| 层级 | 工具 | 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 决定哪些工作负载获得它们以及持续时间。 |
| ML 平台与流水线 | Kubeflow, Ray, Argo Workflows, Slurm | 对于基于 Kubernetes 的工具而言是互补的:它们提交工作负载,NVIDIA Run:ai 则调度并治理这些工作负载所消耗的 GPU 容量。Slurm 是裸金属环境下用于 HPC 风格批处理的替代方案。 |
| 工作负载类型 | Training Operator, LeaderWorkerSet, Knative, KServe | NVIDIA Run:ai 与这些工具集成,将工作区、训练、分布式训练和推理作为一等公民的工作负载进行管理。 |
If you need GPU sharing, quota enforcement, and multi-tenant governance across teams sharing one Kubernetes GPU estate, that is the gap NVIDIA Run:ai fills. If you only need to run a single team's jobs on dedicated GPUs, native Kubernetes scheduling may be sufficient.
如果您需要在共享单一 Kubernetes GPU 资源的团队间实现 GPU 共享、配额执行和多租户治理,这正是 NVIDIA Run:ai 所填补的空白。如果您只需在专用 GPU 上运行单个团队的作业,原生 Kubernetes 调度可能就足够了。
Repository Map
仓库地图
| Component | Path | Description |
|---|---|---|
| Control Plane | control-plane/ | APIs and services that manage workloads, policies, identity, organizational structure, and platform configuration |
| NVIDIA Run:ai Cluster | runai-cluster/ | Controllers, admission webhooks, and services deployed into each managed Kubernetes cluster |
| Installer | runai-installer/ | CLI tool and provisioner service for deploying NVIDIA Run:ai on Kubernetes |
| MCP Server | runai-mcp-server/ | Model Context Protocol server that exposes NVIDIA Run:ai operations as tools for AI assistants |
| Clients and shared packages | runai-clients/, runai-common-packages/, runai-application-packages/ | Generated API clients and shared Go libraries |
| Scale/Load Testing | scale-tests/ | Load-testing SDK and unified load-test suite used to validate platform behavior at scale |
| Documentation | docs/, fern/ | Product and developer documentation |
| Local environment | local-dev.sh, local-dev.md | One-command local Kubernetes (Kind) development environment |
| 组件 | 路径 | 描述 |
|---|---|---|
| 控制平面 | control-plane/ | 管理工作负载、策略、身份、组织架构和平台配置的 API 和服务 |
| NVIDIA Run:ai 集群 | runai-cluster/ | 部署到每个受管 Kubernetes 集群中的控制器、准入 Webhook 和服务 |
| 安装程序 | runai-installer/ | 用于在 Kubernetes 上部署 NVIDIA Run:ai 的 CLI 工具和预配服务 |
| MCP 服务器 | runai-mcp-server/ | 模型上下文协议服务器,将 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) 开发环境 |
For a detailed breakdown of individual services and components, see the Service Reference.
有关各个服务和组件的详细分解,请参阅服务参考。
Usage
用法
Local Development Environment
本地开发环境
The local-dev.sh script builds the NVIDIA Run:ai control plane and cluster services from source and deploys them to a self-contained Kind cluster with a local image registry.
local-dev.sh 脚本从源代码构建 NVIDIA Run:ai 控制平面和集群服务,并将它们部署到一个包含本地镜像注册表的独立 Kind 集群中。
./local-dev.sh # full build + cluster + deploy
./local-dev.sh --skip-build --skip-cluster # re-deploy only
./local-dev.sh --teardown # tear the environment downSee Local Development Guide for prerequisites (Docker/Podman, make, git, curl, python3, openssl, and minimum CPU/RAM/disk; kind, kubectl, and helm are installed automatically) and all available flags. Go, Node, and Java are not needed on the host: all builds run inside containers.
请参阅本地开发指南以了解先决条件(Docker/Podman、make、git、curl、python3、openssl 以及最低 CPU/RAM/磁盘要求;kind、kubectl 和 helm 会自动安装)以及所有可用标志。主机上不需要 Go、Node 和 Java:所有构建均在容器内运行。
Building Individual Services
构建单个服务
Each service directory has a Makefile with standard targets (make build, make test, make lint, make validate) and a README describing how to build, test, and work with that service. See the Service Reference for a breakdown of individual services and components.
每个服务目录都有一个 Makefile,其中包含标准目标(make build、make test、make lint、make validate)和一个 README,描述如何构建、测试和与该服务协作。有关各个服务和组件的详细分解,请参阅服务参考。
Installation
安装
NVIDIA Run:ai can be deployed on Kubernetes or OpenShift in connected or air-gapped environments. To understand the full installation lifecycle, see the Installation and Configuration Overview.
NVIDIA Run:ai 可以部署在连接或空气隔离环境中的 Kubernetes 或 OpenShift 上。要了解完整的安装生命周期,请参阅安装与配置概述。
Before you start:
开始之前:
- Support Matrix - Kubernetes/OpenShift versions, operating systems, GPU and network operators, and third-party services NVIDIA Run:ai supports.
- System Requirements - Infrastructure, networking, and access you need to prepare before installing.
- 支持矩阵 - Kubernetes/OpenShift 版本、操作系统、GPU 和网络运营商,以及 NVIDIA Run:ai 支持的第三方服务。
- 系统要求 - 安装前需要准备的基础设施、网络和访问权限。
Choose an installation method based on how you want to manage the deployment:
根据您希望如何管理部署来选择一种安装方法:
- Guided installation (recommended) - Uses the runai-installer CLI with a configuration YAML file. The installer performs preflight checks, installs required dependencies, and deploys the NVIDIA Run:ai control plane and cluster.
- Manual installation - Deploys the NVIDIA Run:ai Helm charts directly. Use this path if you manage deployments through your own tooling, such as Argo CD, or require granular control over Helm values.
- 引导式安装(推荐)- 使用 runai-installer CLI 和配置文件 YAML。安装程序会执行预检检查、安装所需的依赖项,并部署 NVIDIA Run:ai 控制平面和集群。
- 手动安装 - 直接部署 NVIDIA Run:ai Helm 图表。如果您通过自己的工具(如 Argo CD)管理部署,或者需要对 Helm 值进行细粒度控制,请使用此路径。
更进一步:量化金融体系
看懂新闻只是起点——沿量化金融路径,把它变成能交付的工程能力