Preparations
This page prepares your environment for installing the NVIDIA Run:ai control plane and a tenant cluster: setting up your installer machine, creating the namespaces and TLS/CA secrets each install needs, and retrieving software artifacts and registry access.
System Requirements
Complete the System Requirements section before starting. It covers:
- Infrastructure Requirements - Hardware, operating system, Kubernetes distribution, storage, and permissions required for the control plane’s and each tenant cluster’s Kubernetes environment.
- Networking Setup - Load balancer and ingress requirements, the control plane’s wildcard FQDN and TLS certificate, and each tenant cluster’s own FQDNs and TLS certificates. The exact requirements depend on your routing configuration and the workload types each tenant plans to support.
- Third-Party Services - The third-party services deployed as part of the installation.
- Metrics Store Requirements - The external metrics store the control plane requires.
- External Access to Critical Services - The inbound and outbound connectivity required to reach those services and NVIDIA registries.
Your deployment model is always multi-cluster: control plane setup is completed once, and cluster setup is repeated for each tenant cluster.
General Setup
This section covers what you set up once, before installing anything: your installer machine and the registry credentials needed to pull NVIDIA Run:ai images. None of it depends on whether you are installing the control plane or a tenant cluster.
Installer Machine
The machine you run Helm from needs:
- At least 50GB of free space
- Docker installed
- Helm 3.14 or later
Note
Helm 4 defaults to server-side apply when installing a new chart release, which can conflict with resources managed by the NVIDIA Run:ai operator. Append --server-side=false to your helm upgrade command. NVIDIA Run:ai clusters originally installed with Helm 3.x are unaffected.
Registry Credentials
NVIDIA Run:ai Support-Entitled Release installations require an NGC Personal Key to authenticate to the NVIDIA Run:ai container registry (nvcr.io). Generate a Personal Key from the NGC Personal Keys page.
Personal Keys begin with nvapi-. NGC authenticates using the literal username $oauthtoken with the key as the password. The Personal Key is used during installation, to pull the NVIDIA Run:ai container images. Use this key to create the runai-reg-creds secret described in Software Artifacts below.
For connected installs, NVIDIA Run:ai’s telemetry for Support-Entitled Release installations is not associated with your organization by default. To associate it with your NCA ID, generate an NGC Service API Key. In the Service field, select both NVIDIA Run:ai Self-Hosted and NGC Catalog. The Personal Key is used during installation. The Service API Key is used at runtime, after installation, by the NVIDIA Run:ai control plane to report telemetry. Pass the resulting key as telemetryService.telemetryAuth.token during installation, or reference a secret you create yourself beforehand via telemetryService.telemetryAuth.existingSecret/secretKey. Create the runai-backend namespace first, as described in Control Plane Namespace, then create the secret:
Control Plane Setup
This section covers what you set up for the NVIDIA Run:ai control plane: its namespace and TLS certificate. A multi-tenant deployment has only one control plane, always on its own dedicated Kubernetes cluster. See Deployment Model.
Control Plane Namespace
The NVIDIA Run:ai control plane uses a namespace called runai-backend. Use the following to create the namespace:
Control Plane Certificate
This certificate secures the NVIDIA Run:ai control plane’s wildcard FQDN you prepared in FQDN and DNS. Before creating the secret below, see TLS Certificates to confirm which certificate you need and why.
You must have a wildcard TLS certificate that is associated with the control plane’s FQDN for HTTPS access, covering every tenant subdomain. Create a Kubernetes Secret named runai-backend-tls in the runai-backend namespace and include the path to the TLS --cert and its corresponding private --key by running the following:
- Replace
/path/to/fullchain.pemwith the actual path to your wildcard TLS certificate. - Replace
/path/to/private.pemwith the actual path to your private key.
Cluster Setup
This section covers what you set up for a tenant’s NVIDIA Run:ai cluster: its namespace, TLS certificates, and host-based routing. Set it up on that tenant’s own Kubernetes cluster. Repeat this section once per tenant cluster.
Cluster Namespace
The NVIDIA Run:ai cluster must be installed in a namespace or project (OpenShift) called runai. Use the following to create the namespace/project:
Kubernetes
OpenShift
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.
Cluster TLS Certificates
These certificates secure the tenant cluster’s domain, workspaces, training, distributed inference, and standard inference FQDNs you prepared in FQDN and DNS. Before creating the secrets below, see TLS Certificates to confirm which certificates you need and why. The workspaces, training, and distributed inference wildcard certificate is only needed for the default host-based routing - see Host-Based Routing (Ingress Resource) below for the matching Ingress setup. If you are using path-based routing instead, skip that certificate.
Cluster Domain Certificates (Single-Domain)
-
Kubernetes - To enable secure communication between the NVIDIA Run:ai control plane and the cluster, configure a TLS certificate associated with the cluster’s main domain (e.g.
runai.tenant-a-corp.com). This certificate should be stored as a secret namedrunai-cluster-domain-tls-secretin therunainamespace.- Replace
/path/to/fullchain.pemwith the actual path to your TLS certificate. - Replace
/path/to/private.pemwith the actual path to your private key.
- Replace
-
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.
Workspaces, Training, and Distributed Inference Wildcard Certificate
Note
For path-based routing, this certificate is not required.
- Kubernetes - To allow secure access to workspace, training, and distributed inference workloads via subdomains, configure a wildcard TLS certificate that matches the cluster domain (e.g.
*.runai.tenant-a-corp.com). This certificate should be stored as a secret namedrunai-cluster-domain-star-tls-secretin therunainamespace.-
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 Workspace and Training workloads is not required. OpenShift Routes handle TLS termination for workspace and training endpoints using the platform’s built-in routing and certificate management.
Standard Inference Wildcard Certificate
Note
The inference wildcard certificate is only required for standard inference (Knative, single-node) workloads exposed externally via wildcard FQDN. Other inference workloads (for example, distributed inference using serving frameworks such as LWS, Dynamo, KServe, or others) do not require this certificate. For cluster-local standard inference, skip this section.
-
Kubernetes - To securely expose inference services over HTTPS, configure a wildcard TLS certificate for the inference domain (e.g.
*.runai-inference.tenant-a-corp.com). This certificate should be stored as a secret namedrunai-cluster-inference-tls-secretin theknative-servingnamespace.- Replace
/path/to/fullchain.pemwith the actual path to your TLS certificate. - Replace
/path/to/private.pemwith the actual path to your private key.
- Replace
-
OpenShift - A wildcard TLS certificate for Inference workloads is not required. OpenShift Routes handle TLS termination for inference endpoints using the platform’s built-in routing and certificate management.
Host-Based Routing (Ingress Resource)
Note
- The following steps are required for Kubernetes only. For OpenShift, no additional configuration is required.
- NVIDIA Run:ai also supports path-based routing. If you prefer to use it instead of the default host-based routing, disable host-based routing by setting
clusterConfig.global.subdomainSupport: falseduring the Helm installation. See Advanced Cluster Configurations. - If you choose path-based routing, skip the steps below.
Host-based routing binds together the configured domains (FQDN), TLS certificates, and ingress rules to expose workloads externally. With NVIDIA Run:ai host-based routing, workloads are exposed using subdomains, so each workload is assigned its own URL. For example:
Host-based routing relies on:
- The FQDN structure defined earlier
- The TLS certificates configured for those domains
-
Ensure that:
- Wildcard DNS records are configured (see FQDN and DNS)
- TLS certificates are created and stored as Kubernetes secrets (see Cluster TLS Certificates above)
-
Create the ingress resource
-
Run the following:
Software Artifacts
This section describes how to prepare the software artifacts required for installing the NVIDIA Run:ai control plane and onboarding a tenant.
Kubernetes
In connected environments, Kubernetes pulls NVIDIA Run:ai container images directly from a remote registry at runtime.
Note
This section applies only to NVIDIA Run:ai Support-Entitled Release installations. NVIDIA Run:ai Open Source images are served publicly from nvcr.io with no authentication, so no registry secret is needed.
For Support-Entitled Release, you must create a Kubernetes secret for registry access. NVIDIA Run:ai container images are hosted in the NVIDIA NGC container registry under nvidia/runai-oss. Using the NGC Personal Key from Registry Credentials above, create the required secret:
Note
Creating this secret alone does not configure the control plane to use it - you must also add --set global.imagePullSecrets[0].name=runai-reg-creds to the helm upgrade command. See Control Plane Installation.
OpenShift
In connected environments, OpenShift pulls NVIDIA Run:ai container images directly from a remote registry at runtime.
Note
This section applies only to NVIDIA Run:ai Support-Entitled Release installations. NVIDIA Run:ai Open Source images are served publicly from nvcr.io with no authentication, so no registry secret is needed.
For Support-Entitled Release, you must create a Kubernetes secret for registry access. NVIDIA Run:ai container images are hosted in the NVIDIA NGC container registry under nvidia/runai-oss. Using the NGC Personal Key from Registry Credentials above, create the required secret:
Note
Creating this secret alone does not configure the control plane to use it - you must also add --set global.imagePullSecrets[0].name=runai-reg-creds to the helm upgrade command. See Control Plane Installation.
Next Steps
- Control Plane Installation - Install the control plane.
- API Access Setup - Configure programmatic API access using service account credentials.
- Prerequisites and Features - Install the GPU Operator, Prometheus, and any workload-specific features (such as distributed training or inference) that tenant’s cluster needs.
- Create a Tenant and Cluster - Create a tenant, provision and register its cluster, and install that cluster.