run-ai README

The project's README from github.com/dsx-ai-factory/run-ai. As one markdown file: README.md.

NVIDIA Run:ai: AI Workload and GPU Orchestration

NVIDIA Run:ai

License CI Latest release Contributors

Docs | Roadmap | Installation | API Reference | Contributing | License

NVIDIA Run:ai is an open-source AI workload and GPU orchestration platform for managing shared AI infrastructure on Kubernetes.

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.

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.

Architecture

NVIDIA Run:ai system overview

Architecture Overview →

NVIDIA Run:ai is made up of two components, both installed on a Kubernetes cluster:

At a high level:

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.

How NVIDIA Run:ai Relates to Other Tools

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.

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.

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.

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

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                                  # full build + cluster + deploy
./local-dev.sh --skip-build --skip-cluster      # re-deploy only
./local-dev.sh --teardown                       # tear the environment down

See 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.

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.

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.

Before you start:

Choose an installation method based on how you want to manage the deployment:

To build and run NVIDIA Run:ai locally for development, see Usage.

Distribution Channels

Released NVIDIA Run:ai container images and Helm charts are published to the NVIDIA NGC container registry under nvcr.io/nvidia/runai: this is the registry the installer and Helm charts pull from by default. Source releases and their notes are on the GitHub Releases page; see Release Process for how releases are cut and versioned.

Contributing

Contributions are welcome. Please read Contributing for the development workflow, branch and PR policy, and CI expectations, and Code of Conduct for community guidelines.

Roadmap

NVIDIA Run:ai does not publish a long-range feature roadmap in this repository. What is planned and in progress is tracked in the open:

Release cadence, branch naming, and who cuts a release are documented in Release Process.

Known limitations: the root Makefile targets are placeholders; real build, test, and lint targets live in each service directory (see Building Individual Services). The full CI gate runs remotely and is reported back on pull requests as the Validate Successful Run check.

Community

Security & Support

License

Licensed under the Apache License, Version 2.0; see LICENSE. Third-party attributions are listed in NOTICE and in the per-component NOTICE files.

Trademark notice: Apache 2.0 applies to the software code in this repository. It does not grant permission to use NVIDIA or Run:ai trademarks, logos, product names, fonts, artwork, or other brand assets. Please see Trademarks for details.

Nested and Third-Party Licenses

Some subdirectories contain vendored third-party code or bundled assets under their own license. Each is listed below with its license and the path to that license file:

Subdirectory License License file
skills/ Apache-2.0 AND CC-BY-4.0 skills/LICENSE
runai-cluster/cluster/goofys/ Apache-2.0 runai-cluster/cluster/goofys/LICENSE.md (attributions in the adjacent 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

The following subdirectories ship an aggregated third-party dependency license report (not a license for their own code):

Subdirectory Report
runai-cluster/cluster/init-ca/licenses/ THIRD-PARTY-LICENSES.md (generated by go-licenses)

run-ai (dsx-ai-factory/run-ai)

Searching Database…

487 ·GitHub
这是什么?NVIDIA Run:ai 是一个开源的 AI 工作负载和 GPU 编排平台,用于管理 Kubernetes 上的共享 AI 基础设施,负责 GPU 调度、资源配额,以及跨团队的治理。
它是用来替代 Kubernetes 的,还是运行在 Kubernetes 之上的?它运行在 Kubernetes(或 OpenShift)之上,作为一层调度和编排组件;它并不替代 Kubernetes、容器运行时或 CI/CD。
怎么安装和运行它?生产环境推荐使用 runai-installer CLI 配合配置 YAML 的引导式安装,也可以手动部署 Helm charts;本地开发则运行 local-dev.sh 脚本,它会启动一个自带控制平面和集群服务的独立 Kind 集群。
跑本地开发环境,我的机器上需要装什么?需要 Docker 或 Podman、make、git、curl、python3、openssl,以及满足最低要求的 CPU/内存/磁盘;kind、kubectl 和 helm 会自动安装,而且不需要 Go、Node 或 Java,因为所有构建都在容器里进行。
有没有公开的路线图?根目录 Makefile 的构建目标可以直接用吗?仓库里没有公开的长期路线图(通过开放的 issue 和 release 来跟进),根目录 Makefile 的目标只是占位——真正的构建/测试/lint 目标在各服务自己的目录里。
它是给谁用的,支持哪些环境?它面向为 AI 工作负载搭建共享 GPU 基础设施的组织,可以部署在 Kubernetes 或 OpenShift 上,支持联网环境和物理隔离(air-gapped)环境。
它是否必须用 NVIDIA GPU 和 GPU Operator?是的,它围绕 GPU 感知调度构建,并与 NVIDIA GPU Operator 和 Network Operator 配合使用——这两个组件负责在节点上暴露和配置 GPU,而 Run:ai 决定哪些工作负载能拿到 GPU。
这个 monorepo 里都有什么?它包含控制平面服务(control-plane/)、集群内的 operator/控制器(runai-cluster/)、安装器 CLI(runai-installer/)、一个 MCP 服务器、共享的 client/common 包、规模/负载测试工具、文档,以及本地开发环境。
Run:ai 和 Kubernetes 默认调度器或 Volcano/Kueue 这类工具有什么不同?Run:ai 自带 KAI Scheduler,提供公平共享调度、抢占、GPU 切分分配,以及跨部门和项目的配额层级——这些是默认的 kube-scheduler 和 Volcano、Kueue 等替代方案开箱即用时无法完整提供的。
我可以用哪些方式操作它?你可以通过 Web UI、CLI、REST API 来使用 Run:ai,另外还有一个 MCP 服务器,可以把 Run:ai 的操作作为工具提供给 AI 助手。
官方的容器镜像和 Helm charts 从哪里来?发布版的镜像和 Helm charts 都发布在 NVIDIA NGC 容器仓库的 nvcr.io/nvidia/runai 下,安装器和 Helm charts 默认就是从这里拉取的。
Size
172.2 MB
Stars
487
Age
1mo
Commits · 90 Days