Cluster System Requirements
The NVIDIA Run:ai cluster is a Kubernetes application. It has specific system and Kubernetes environment requirements that must be met before installation. These requirements ensure that NVIDIA Run:ai cluster services can be deployed successfully and support AI workloads after connecting to the NVIDIA Run:ai control plane.
This section describes the minimum hardware, supported Kubernetes and OpenShift versions, and environment prerequisites required for cluster installation. Environment prerequisites include critical infrastructure components such as a properly configured Fully Qualified Domain Name (FQDN) with DNS resolution, TLS certificate configuration and ingress readiness.
The cluster requires the NVIDIA GPU Operator and other operators and frameworks to be installed in the cluster to provision and manage GPUs and support AI workload execution. For detailed version compatibility, including supported Kubernetes, GPU Operator versions and more, refer to the Support matrix.
Hardware Requirements
The following hardware requirements are for the Kubernetes cluster nodes. By default, all NVIDIA Run:ai cluster services run on all available nodes. For production deployments, you may want to set node roles to separate between system and worker nodes, reduce downtime and save CPU cycles on expensive GPU machines.
Architecture
x86 - Supported for Kubernetes and OpenShift.
ARM - Supported for Kubernetes and OpenShift.
NVIDIA Run:ai Cluster - System Nodes
This configuration is the minimum requirement you need to install and use NVIDIA Run:ai cluster.
CPU
10 cores
Memory
20GB
Disk space
50GB
NVIDIA Run:ai Cluster - Worker Nodes
The NVIDIA Run:ai cluster supports x86 and ARM CPUs, and any NVIDIA GPUs supported by the NVIDIA GPU Operator. The list of supported GPUs depends on the version of the NVIDIA GPU Operator installed in the cluster. NVIDIA Run:ai supports GPU Operator versions 25.3 to 25.10.
For the list of supported GPUs, see Supported NVIDIA Data Center GPUs and Systems. To install the GPU Operator, see NVIDIA GPU Operator.
The following configuration represents the minimum hardware requirements for installing and operating the NVIDIA Run:ai cluster on worker nodes. Each node must meet these specifications:
CPU
2 cores
Memory
4GB
Shared Storage
NVIDIA Run:ai workloads must be able to access data from any worker node in a uniform way, to access training data and code as well as save checkpoints, weights, and other machine-learning-related artifacts.
Typical protocols are Network File Storage (NFS) or Network-attached storage (NAS). NVIDIA Run:ai cluster supports both. For more information, see Shared storage.
Software Requirements
The following software requirements must be fulfilled on the Kubernetes cluster.
Operating System
The following notes apply to the operating system running on NVIDIA Run:ai cluster nodes:
Any Linux operating system supported by both Kubernetes and NVIDIA GPU Operator.
NVIDIA Run:ai cluster on Google Kubernetes Engine (GKE) supports both Ubuntu and Container Optimized OS (COS).
COS is supported only with NVIDIA GPU Operator 24.6 and above, and NVIDIA Run:ai cluster version 2.19 and above.
NVIDIA Run:ai cluster on Elastic Kubernetes Service (EKS) does not support Bottlerocket or Amazon Linux.
NVIDIA Run:ai cluster on Oracle Kubernetes Engine (OKE) supports only Ubuntu.
Internal tests are being performed on Ubuntu and CoreOS for OpenShift.
Kubernetes Distribution
NVIDIA Run:ai Compatible Distributions
NVIDIA Run:ai cluster requires Kubernetes. The following Kubernetes distributions are supported:
Vanilla Kubernetes
OpenShift Container Platform (OCP)
Elastic Kubernetes Engine (EKS)
Google Kubernetes Engine (GKE)
Azure Kubernetes Service (AKS)
Oracle Kubernetes Engine (OKE)
Rancher Kubernetes Engine 2 (RKE2)
For the full list of NVIDIA Run:ai compatible distributions and per-version Kubernetes and OpenShift compatibility, see Support matrix.
Partner-Compatible Distributions
The following Kubernetes distributions are partner-compatible. They are tested and validated by the partner, who is responsible for maintaining compatibility with NVIDIA Run🇦🇮
Crusoe Managed Kubernetes (CMK)
Mirantis k0rdent
Rafay platform
Spectro Cloud
vCluster
VMware vSphere Kubernetes Service (VKS)
For the full list of partner-compatible distributions and per-partner version compatibility, see Support matrix.
Container Runtime
NVIDIA Run:ai supports the following container runtimes. Make sure your Kubernetes cluster is configured with one of these runtimes:
Containerd (default in Kubernetes)
CRI-O (default in OpenShift)
Kubernetes Pod Security Admission
NVIDIA Run:ai supports restricted policy for Pod Security Admission (PSA) on OpenShift only. Other Kubernetes distributions are only supported with privileged policy.
For NVIDIA Run:ai on OpenShift to run with PSA restricted policy:
Label the
runainamespace as described in Pod Security Admission with the following labels:The workloads submitted through NVIDIA Run:ai should comply with the restrictions of PSA restricted policy. This can be enforced using Policies.
NVIDIA Run:ai Namespace
The NVIDIA Run:ai must be installed in a namespace or project (OpenShift) called runai. Use the following to create the namespace/project:
Kubernetes Load Balancer
In Kubernetes, services of type LoadBalancer are used to expose applications outside the cluster through a single, stable IP address, providing a consistent entry point for external traffic. In managed cloud environments this capability is built-in, while in self-hosted and on-premise deployments it must be provided explicitly.
MetalLB fulfills this role by allocating external IP addresses from a predefined pool and advertising them on the external network, enabling access to services running inside the cluster.
In NVIDIA Run:ai, this is required to support north-south traffic, including access to the NVIDIA Run:ai control plane, APIs, UI, inference endpoints, and externally exposed development workspaces and training workloads.
Reserve a range of IP addresses (recommended a full 32 subnet) for example:
172.20.10.0-172.20.10.255Install MetalLB:
Create a YAML file named
metalLB-config.yamland replace<IPADDRESS-RANGE-START>-<IPADDRESS-RANGE-END>with the reserved range of IP addresses:Apply the YAML:
Kubernetes Ingress Controller
The NVIDIA Run:ai cluster requires Kubernetes Ingress Controller to be installed on the Kubernetes cluster.
OpenShift and RKE2 come with a pre-installed ingress controller.
Make sure that a default ingress controller,
global.ingress.ingressClassis set. For more details, see Advanced cluster configurations.
There are multiple ways to install and configure an ingress controller. The following example demonstrates how to install and configure the HAProxy Kubernetes Ingress Controller using helm.
Fully Qualified Domain Name (FQDN)
You must have a Fully Qualified Domain Name (FQDN) to install the NVIDIA Run:ai cluster (for example, runai.mycorp.local). This cannot be an IP. The domain name must be accessible inside the organization's private network.
Wildcard FQDN for Inference
In order to make inference serving endpoints available externally to the cluster, configure a wildcard DNS record (*.runai-inference.mycorp.local) that resolves to the cluster’s public IP address, or to the cluster's load balancer IP address in on-prem environments. This ensures each inference workload receives a unique subdomain under the wildcard domain.
TLS Certificate
Kubernetes - You must have a TLS certificate that is associated with the FQDN for HTTPS access. Create a Kubernetes Secret named
runai-cluster-domain-tls-secretin therunainamespace and include the path to the TLS--certand its corresponding private--keyby running the following:Replace
/path/to/fullchain.pemwith the actual path to your TLS certificate.Replace
/path/to/private.pemwith the actual path to your private key.
OpenShift - NVIDIA Run:ai uses the OpenShift default Ingress router for serving. The TLS certificate configured for this router must be issued by a trusted CA. For more details, see the OpenShift documentation on configuring certificates.
Wildcard TLS Certificate - Inference
Kubernetes - For serving inference endpoints over HTTPS, NVIDIA Run:ai requires a dedicated wildcard TLS certificate that matches the fully qualified domain name (FQDN) used for inference. This certificate ensures secure external access to inference workloads:
Replace
/path/to/fullchain.pemwith the actual path to your TLS certificate.Replace
/path/to/private.pemwith the actual path to your private key.
OpenShift - A wildcard TLS certificate for inference is not required. OpenShift Routes handle TLS termination for inference endpoints using the platform’s built-in routing and certificate management.
Local Certificate Authority
A local certificate authority serves as the root certificate for organizations that cannot use publicly trusted certificate authority. Follow the steps below to configure the local certificate authority.
In air-gapped environments, you must configure and install the local CA's public key in the Kubernetes cluster. This is required for the installation to succeed:
1. Add the public key to the required namespace:
When installing the cluster, make sure the following flag is added to the helm command
--set global.customCA.enabled=true. See Install the cluster.
NVIDIA GPU Operator
The NVIDIA Run:ai cluster requires NVIDIA GPU Operator to be installed on the Kubernetes cluster. GPU Operator versions 25.3 to 25.10 are supported.
For installation instructions, see Installing the NVIDIA GPU Operator.
For air-gapped installation, follow the instructions in Install NVIDIA GPU Operator in Air-Gapped Environments.
See the following notes below:
Use the default
gpu-operatornamespace. Otherwise, you must specify the target namespace using the flagrunai-operator.config.nvidiaDcgmExporter.namespaceas described in Advanced cluster configurations.NVIDIA drivers may already be installed on the nodes. In such cases, use the NVIDIA GPU Operator flags
--set driver.enabled=false. DGX OS is one such example as it comes bundled with NVIDIA Drivers.
For distribution-specific requirements and additional instructions, see the sections below:
For troubleshooting information, see the NVIDIA GPU Operator Troubleshooting Guide.
NVIDIA Network Operator
When deploying on clusters with RDMA or Multi-Node NVLink‑capable nodes (e.g. B200, GB200), the NVIDIA Network Operator is required to enable high-performance networking features such as GPUDirect RDMA in Kubernetes. Network Operator versions v24.4 and above are supported.
The Network Operator works alongside the NVIDIA GPU Operator to provide:
NVIDIA networking drivers for advanced network capabilities.
Kubernetes device plugins to expose high‑speed network hardware to workloads.
Secondary network components to support network‑intensive applications.
The Network Operator must be installed and configured as follows:
Install the network operator as detailed in Network Operator Deployment on Vanilla Kubernetes Cluster.
Configure SR-IOV InfiniBand support as detailed in Network Operator Deployment with an SR-IOV InfiniBand Network.
For air-gapped installation, follow the instructions in Network Operator Deployment in an Air-gapped Environment.
NVIDIA Dynamic Resource Allocation (DRA) Driver
When deploying on clusters with Multi-Node NVLink (e.g. GB200), the NVIDIA DRA driver is required to enable Dynamic Resource Allocation at the Kubernetes level. To install, follow the instructions in Configure and Helm-install the driver. For air-gapped installations, the DRA driver is installed with the GPU Operator. DRA driver versions 25.3 to 25.8 are supported.
After the DRA driver is installed, update the cluster configuration using GPUNetworkAccelerationEnabled flag to enable GPU network acceleration. This triggers an update of the NVIDIA Run:ai workload controller deployment and restarts the controller. For details on how to configure this value using Helm or runaiconfig, see Advanced cluster configurations.
Prometheus
NVIDIA Run:ai requires Prometheus on the Kubernetes cluster. The setup has two parts:
Prerequisite: Kube-Prometheus Stack. On Kubernetes, install the Kube-Prometheus Stack to provide the Prometheus Operator and the Prometheus Custom Resource Definitions (CRDs). OpenShift includes equivalent components through its built-in Cluster Monitoring Operator, so no install is required.
NVIDIA Run:ai Prometheus instance. During cluster installation, the NVIDIA Run:ai cluster operator creates a dedicated Prometheus Custom Resource (CR) in the
runainamespace. This step applies to both Kubernetes and OpenShift, and produces the Prometheus instance that NVIDIA Run:ai uses for monitoring.
For RKE2, see Enable Monitoring for instructions on installing Prometheus.
The following example installs the community Kube-Prometheus Stack using helm:
Additional Software Requirements
To enable NVIDIA Run:ai capabilities such as Distributed Training and Inference, additional Kubernetes applications (frameworks) must be installed on the cluster.
Distributed Training
Distributed training enables training of AI models over multiple nodes. This requires installing a distributed training framework on the cluster. The following frameworks are supported:
There are several ways to install each framework. A simple method of installation example is the Kubeflow Training Operator which includes TensorFlow, PyTorch, XGBoost and JAX.
It is recommended to use Kubeflow Training Operator v1.9.2, and MPI Operator v0.6.0 or later for compatibility with advanced workload capabilities, such as Stopping a workload and Scheduling rules.
To install the Kubeflow Training Operator for TensorFlow, PyTorch, XGBoost and JAX frameworks, run the following command:
To install the MPI Operator for MPI v2, run the following command:
Inference
Inference enables serving of AI models. This requires the Knative Serving framework to be installed on the cluster and supports Knative versions 1.11 to 1.18.
NVIDIA Run:ai supports two access modes for inference services:
External access (default) - Inference services are exposed outside the cluster via a wildcard FQDN. Requires a wildcard DNS record, a wildcard TLS certificate, and an HAProxy ingress.
Cluster-local access - Inference services are reachable only within the cluster through the cluster-internal domain. No external DNS, certificate, or ingress required.
External-Access Inference
With external access, inference services are reachable from outside the cluster. Use this mode when inference workloads must be reachable by clients outside the cluster.
On Kubernetes, external access exposes inference services through a wildcard FQDN (for example, *.runai-inference.mycorp.local). This requires the wildcard DNS record (see FQDN), the Inference wildcard certificate, and an HAProxy ingress to handle TLS termination.
Follow the Installing Knative instructions or run:
Once installed, follow the steps below:
Create the
knative-servingnamespace:Create a YAML file named
knative-serving.yamland replace the placeholder FQDN with your wildcard inference domain (for example,runai-inference.mycorp.local):Apply the changes:
Configure HAProxy to proxy requests to Kourier / Knative and handle TLS termination using the wildcard certificate. Create a YAML file named
knative-ingress.yamland replace the FQDN placeholders with your wildcard inference domain:Apply the changes:
On OpenShift Serverless, external access is the platform default: each KnativeService automatically gets an OpenShift Route.
Follow the Installing the OpenShift Serverless Operator instructions. Once installed, follow the steps below:
Create the
knative-servingproject:Create a YAML file named
knative-serving.yaml:Apply the changes:
Cluster-Local Inference
With cluster-local access, inference services are reachable only from inside the cluster through the cluster-internal domain (<service>.<namespace>.svc.cluster.local). This mode is recommended when inference workloads are consumed by other applications running in the same cluster.
On OpenShift Serverless, external access is the platform default; cluster-local must be enabled per inference workload. See the OpenShift tab below.
On Kubernetes, cluster-local access does not require an external DNS record, a wildcard certificate, or an HAProxy ingress because traffic does not leave the cluster.
Follow the Installing Knative instructions or run:
Once installed, follow the steps below:
Create the
knative-servingnamespace:Create a YAML file named
knative-serving.yaml:Apply the changes:
On OpenShift Serverless, external access is the platform default: KnativeServices automatically get an OpenShift Route. To make an inference workload cluster-local, configure the workload's routing settings so that the networking.knative.dev/visibility=cluster-local label is applied to the underlying KnativeService.
Follow the Installing the OpenShift Serverless Operator instructions. Once installed, follow the steps below:
Create the
knative-servingproject:Create a YAML file named
knative-serving.yaml.Apply the changes:
Autoscaling
NVIDIA Run:ai allows for autoscaling a deployment according to the metrics below:
Latency (milliseconds)
Throughput (requests/sec)
Concurrency (requests)
Using a custom metric (for example, Latency) requires installing the Kubernetes Horizontal Pod Autoscaler (HPA). Use the following command to install. Make sure to update the {VERSION} in the below command with a supported Knative version.
Distributed Inference
NVIDIA Run:ai supports distributed inference (multi-node) deployments using the Leader Worker Set (LWS). To enable this capability, install LWS on your cluster:
Install the LWS Helm chart in version 0.7.0 or higher:
Install the Leader Worker Set Operator by following the Installing the Leader Worker Set Operator instructions in the OpenShift documentation. Only the operator installation step is required; the remaining sections can be ignored.
Configure the LWS namespace so NVIDIA Run:ai can detect it. The OpenShift LWS Operator installs into the
openshift-lws-operatornamespace by default. Choose one of the following methods:Helm flag: Set
clusterConfig.lws.namespace=openshift-lws-operatorduring cluster installation. For more details, see Advanced cluster configurations.runaiconfig patch: Apply the setting directly:
Integrations
Integrations are Kubernetes components and external tools that can be used with NVIDIA Run:ai for development, training, orchestration, data access, and monitoring.
In many cases, the integration is “out of the box” from the NVIDIA Run:ai side. Once the component is installed in the cluster, you can submit its custom resource definitions (CRDs) and still benefit from NVIDIA Run:ai scheduling, resource management, and visibility. Examples include NVIDIA components such as the NIM Operator and Dynamo Operator. See Integrations for more details.
Last updated