Same-Cluster Installation
This page describes how to install the NVIDIA Run:ai control plane and cluster together, on one Kubernetes cluster (mode: full_installation), from an air-gapped bundle. To install the control plane and cluster on separate Kubernetes clusters instead, see Multi-Cluster Installation.
Before You Start
Complete Preparations before continuing, including the system requirements for your Kubernetes cluster, registry credentials, downloading the runai-installer binary, and building your Air-Gapped Bundle. The installer deploys and configures NVIDIA Run:ai itself; it does not provision this underlying infrastructure for you.
Note
The installer does not install prerequisites or features in air-gapped environments. Install each required component yourself beforehand, on each target Kubernetes cluster, using that component’s air-gapped installation instructions. See Prerequisites and Features.
Some features require additional networking configuration. For example, externally exposed standard inference with Knative requires an additional inference wildcard FQDN and TLS certificate. See Networking Setup.
Create a Configuration File
Configuration Templates
The steps below build the minimum configuration for a same-cluster installation on Kubernetes or OpenShift, from an air-gapped bundle. Depending on your Kubernetes distribution, workload routing, networking setup, and the prerequisites and workload features you need, you may require additional configuration.
- Once you understand the minimum configuration, see Configuration Templates - if your use case matches one, use it as your starting point instead of building the configuration from scratch.
- See Prerequisites and Features to understand the components required, depending on the workload types you plan to enable.
- See Configuration Reference for the full set of supported fields and descriptions, to build a configuration from scratch.
Create a config.yaml file describing your installation. Use the domains, TLS certificates, and networking values you prepared in Networking Setup when completing the configuration below.
Expand the section for your platform:
Kubernetes
For a same-cluster installation on Kubernetes, configure:
-
Define the installation:
install.mode- Set tofull_installationto install the control plane and cluster on the same Kubernetes cluster.install.connectivity- Set toair_gapped, for an installation with no outbound internet access.
-
Configure the registry:
registry.host- The hostname of your own internal mirror registry (populated by loading the air-gapped bundle), not NGC.registry.username- The username to authenticate to that registry.registry.passwordPath- The path to a file containing the password for that user. See Registry Credentials.
-
Configure the air-gapped bundle:
airgap- The sameworkingDirandvaluesDiryou used withairgap load, plusskipPrepare: true- the bundle is already loaded, soinstallskips straight to the chart install. See Air-Gapped Bundle andairgapin the Configuration Reference.
-
Define the control plane:
controlPlane.domain- The FQDN for the NVIDIA Run:ai UI and API. See Domains and TLS Certificates.controlPlane.tls- The certificate and private key for the control plane FQDN, ascertPathandkeyPath. See Domains and TLS Certificates.controlPlane.customHelmValues- Merges Helm values into the control plane chart, for settings not otherwise exposed by the installer. See Advanced Control Plane Configurations for the full set of keys.supportEntitled- For NVIDIA Run:ai Support-Entitled Release, must be set totrue.- Third-party services - Add the external PostgreSQL connection and the Keycloak and NATS settings of the control plane third-party services. Do not set image values, because
airgap loadgenerates them. See Gov-Ready Third-Party Services for the values. Gov-ready global.fipsMode- Enables FIPS mode, so that the NVIDIA Run:ai services use only FIPS-validated cryptography. Set toonly. Gov-ready
-
Define the cluster:
cluster.name- The name of the NVIDIA Run:ai cluster.cluster.domain- Omit it for a same-cluster installation - the cluster reusescontrolPlane.domain, since both run on the same Kubernetes cluster.cluster.workloadRouting-host(the default) orpath. This determines which certificate you need forcluster.tlsbelow.cluster.tls- A certificate and private key for the cluster domain, ascertPathandkeyPath. See Domains and TLS Certificates for which certificate you need.cluster.customHelmValues- Merges Helm values into the cluster chart, for settings not otherwise exposed by the installer. See Advanced Cluster Configurations for the full set of keys.global.fipsMode- Enables FIPS mode, so that the NVIDIA Run:ai services use only FIPS-validated cryptography. Set toonly. Gov-ready
-
Skip the prerequisites:
prerequisites.skip- Set totrue. The air-gapped bundle contains only the NVIDIA Run:ai charts, so the installer cannot install prerequisites such as the GPU Operator and Prometheus. Make sure the prerequisites your workloads need are already installed on the cluster. See Prerequisites and Features.
-
Configure external access to the control plane and cluster:
externalConnection- Configures how traffic reaches the NVIDIA Run:ai control plane UI/API and cluster endpoint from outside the cluster, through a Kubernetes Ingress Controller or Gateway API implementation already running on your cluster. This is separate fromcluster.workloadRouting, which controls how the workloads you submit are exposed. See Networking Setup.
The following example combines these settings to install the NVIDIA Run:ai control plane and cluster on the same Kubernetes cluster from an already-loaded air-gapped bundle:
OpenShift
For a same-cluster installation on OpenShift, configure:
-
Define the installation:
install.mode- Set tofull_installationto install the control plane and cluster on the same OpenShift cluster.install.connectivity- Set toair_gapped, for an installation with no outbound internet access.install.kubernetesDistribution- Set toopenshift.
-
Configure the registry:
registry.host- The hostname of your own internal mirror registry (populated by loading the air-gapped bundle), not NGC.registry.username- The username to authenticate to that registry.registry.passwordPath- The path to a file containing the password for that user. See Registry Credentials.
-
Configure the air-gapped bundle:
airgap- The sameworkingDirandvaluesDiryou used withairgap load, plusskipPrepare: true- the bundle is already loaded, soinstallskips straight to the chart install. See Air-Gapped Bundle andairgapin the Configuration Reference.
-
Define the control plane:
controlPlane.domain- The FQDN for the NVIDIA Run:ai UI and API. See Domains and TLS Certificates.controlPlane.customHelmValues- Merges Helm values into the control plane chart, for settings not otherwise exposed by the installer. See Advanced Control Plane Configurations for the full set of keys.supportEntitled- For NVIDIA Run:ai Support-Entitled Release, must be set totrue.- Third-party services - Add the external PostgreSQL connection and the Keycloak and NATS settings of the control plane third-party services. Do not set image values, because
airgap loadgenerates them. See Gov-Ready Third-Party Services for the values. Gov-ready global.fipsMode- Enables FIPS mode, so that the NVIDIA Run:ai services use only FIPS-validated cryptography. Set toonly. Gov-ready
-
Define the cluster:
cluster.name- The name of the NVIDIA Run:ai cluster.cluster.domain- Omit it for a same-cluster installation - the cluster reusescontrolPlane.domain, since both run on the same OpenShift cluster.cluster.customHelmValues- Merges Helm values into the cluster chart, for settings not otherwise exposed by the installer. See Advanced Cluster Configurations for the full set of keys.global.fipsMode- Enables FIPS mode, so that the NVIDIA Run:ai services use only FIPS-validated cryptography. Set toonly. Gov-ready
-
Skip the prerequisites:
prerequisites.skip- Set totrue. The air-gapped bundle contains only the NVIDIA Run:ai charts, so the installer cannot install prerequisites such as the GPU Operator and Prometheus. Make sure the prerequisites your workloads need are already installed on the cluster. See Prerequisites and Features.
The following example combines these settings to install the NVIDIA Run:ai control plane and cluster on the same OpenShift cluster from an already-loaded air-gapped bundle:
Run the Installer
-
Validate first - Before applying any changes, check your configuration against the target cluster:
-
Preview the plan - Go further and preview the full installation plan without applying it:
-
Run the installer - Once you are ready:
The runai-installer CLI:
- Loads and validates the configuration file.
- Connects to the Kubernetes cluster and runs preflight checks.
- Prompts for confirmation before applying any changes.
- Deploys the NVIDIA Run:ai control plane and cluster components.
- Reports the status and elapsed time for each step.
Verify the Installation
After installation completes successfully, verify that the NVIDIA Run:ai pods are running:
All pods should reach Running or Completed status.
Connect to NVIDIA Run:ai User Interface
Note
After installation, it may take a few minutes for the UI to become accessible (up to 15 minutes). Accessing it too early may result in a “server cannot be reached” error.
-
Retrieve the generated control plane administrator username and password:
-
Open your browser and go to the control plane domain you configured (for example,
https://runai.mycorp.local). -
Log in using the credentials retrieved above. It is recommended to change the password after the first login.
-
Verify that the cluster appears with a Connected status. If the cluster does not show as Connected, see Troubleshooting scenarios.
Command Reference and Troubleshooting
See Command Reference and Troubleshooting for installer flags and common troubleshooting scenarios.