Install the Control Plane
This page describes how to install the NVIDIA Run:ai control plane on your Kubernetes cluster using Helm. The control plane provides the central management layer for NVIDIA Run:ai handling multi-cluster management, resource and access management as well as workload submission and monitoring.
This procedure includes:
- Configuring key settings such as domain name, ingress, and administrator credentials
- Deploying the control plane into the
runai-backendnamespace
By completing this process, the NVIDIA Run:ai control plane will be running in your cluster and accessible via the configured domain.
Before You Start
Before installing the NVIDIA Run:ai control plane, complete Preparations.
Permissions
As part of the installation, you will be required to install the NVIDIA Run:ai control plane Helm charts. The Helm charts require Kubernetes administrator permissions. You can review the exact objects that are created by the charts using the --dry-run on both helm charts.
Installation
Note
- To customize the installation based on your environment, see Advanced control plane configurations.
- PostgreSQL and Keycloakx are installed with default usernames and passwords. To change the default credentials, see Changing PostgreSQL Passwords and Changing the Keycloak Admin Password in Advanced Control Plane Configurations.
Kubernetes
Connected
Connected
Use the Helm command for the release type you are installing and update the values as follows.
- Replace
global.domain=<DOMAIN>with the fully qualified domain name (FQDN) obtained in FQDN and DNS. - The recommended ingress controller is HAProxy. If you are using a different ingress controller, set
--set global.ingress.ingressClass=<INGRESS_CLASS>to the ingress class configured for your environment. - If you are using a local certificate authority, add
--set global.customCA.enabled=trueas described in Control Plane Local CA. - Set
tenantsManager.config.adminUsername=<ADMIN_EMAIL>to the administrator email address. - Set
tenantsManager.config.adminPassword=<ADMIN_PASSWORD>to the initial administrator password. The password must meet the following requirements:- Minimum Length: At least 8 characters long.
- Digits: At least 1 numeric digit (0-9).
- Lowercase Characters: At least 1 lowercase letter (a-z).
- Uppercase Characters: At least 1 uppercase letter (A-Z).
- Special Characters: At least 1 special character (e.g., !, @, #, $).
- Save the image pull secrets, the external PostgreSQL connection, and the hardened images and settings of the control plane third-party services, in a values file and add
-f <GOV_READY_VALUES_FILE>to thehelm upgradecommand. See Gov-Ready Third-Party Services for the values. Gov-ready - Add
--set global.fipsMode=onlyto thehelm upgradecommand to enable FIPS mode, so that the NVIDIA Run:ai services use only FIPS-validated cryptography. Gov-ready
Open Source
Support-Entitled
In addition to the values above, update the Helm commands as follows:
- Add
--set supportEntitled=trueto thehelm upgradecommand. - Add
--set telemetryService.enabled=trueto thehelm upgradecommand to enable telemetry. - Add
--set global.imagePullSecrets[0].name=runai-reg-credsto thehelm upgradecommand to reference the secret created in Software Artifacts. - Optional: associate NVIDIA Run:ai’s telemetry with your NCA ID by adding one of the following to the
helm upgradecommand. See Registry Credentials for how to generate the NGC Service API Key. By default, telemetry is not associated with your organization.--set telemetryService.telemetryAuth.token=<SERVICE_API_KEY>- Passes the Service API Key directly. Visible in shell history and process listings.--set telemetryService.telemetryAuth.existingSecret=<SECRET_NAME> --set telemetryService.telemetryAuth.secretKey=<KEY_NAME>- References a secret you create yourself beforehand - the chart does not create or manage it.
For example:
Note
Use the dry-run flag --dry-run=client to gain an understanding of what is being installed before the actual installation.
Air-gapped
Air-gapped
Prerequisite
If your internal registry requires authentication, you must create the runai-reg-creds imagePullSecret before proceeding. See Software Artifacts in Preparations.
Use the Helm command for the release type you are installing and update the values as follows. The control-plane-airgap-values.yaml file is written by the airgap load step in Preparations.
- Replace
control-plane-<VERSION>.tgzwith the full filename of the control plane Helm chart (e.g.,control-plane-3.0.2.tgz), located in thechartsfolder of the working directory you specified toairgap load. - Replace
<VALUES_DIR>with thevaluesDirpath you set inairgap-load.yamlduring Preparations - this is wherecontrol-plane-airgap-values.yamlwas written. - Replace
global.domain=<DOMAIN>with the fully qualified domain name (FQDN) obtained in FQDN and DNS. - Set
global.customCA.enabled=trueas described in Control Plane Local CA. - The recommended ingress controller is HAProxy. If you are using a different ingress controller, set
--set global.ingress.ingressClass=<INGRESS_CLASS>to the ingress class configured for your environment. - If your internal registry requires authentication, add
--set global.imagePullSecrets[0].name=runai-reg-credsto reference the secret created in Software Artifacts. - Set
tenantsManager.config.adminUsername=<ADMIN_EMAIL>to the administrator email address. - Set
tenantsManager.config.adminPassword=<ADMIN_PASSWORD>to the initial administrator password. The password must meet the following requirements:- Minimum Length: At least 8 characters long.
- Digits: At least 1 numeric digit (0-9).
- Lowercase Characters: At least 1 lowercase letter (a-z).
- Uppercase Characters: At least 1 uppercase letter (A-Z).
- Special Characters: At least 1 special character (e.g., !, @, #, $).
- Save the external PostgreSQL connection and the Keycloak and NATS settings of the control plane third-party services in a values file, and add
-f <GOV_READY_VALUES_FILE>to thehelm upgradecommand, next to the-fof the generated values file. Do not set image values, becauseairgap loadgenerates them. See Gov-Ready Third-Party Services for the values. Gov-ready - Add
--set global.fipsMode=onlyto thehelm upgradecommand to enable FIPS mode, so that the NVIDIA Run:ai services use only FIPS-validated cryptography. Gov-ready
Open Source
Support-Entitled
In addition to the values above, add --set supportEntitled=true and --set telemetryService.enabled=true to the helm upgrade command:
For example:
Note
Use the dry-run flag --dry-run=client to gain an understanding of what is being installed before the actual installation.
OpenShift
Connected
Connected
Use the Helm command for the release type you are installing and update the values as follows.
- Replace the
<OPENSHIFT-CLUSTER-DOMAIN>with the domain configured for the OpenShift cluster. To determine the OpenShift cluster domain, runoc get routes -A. - If you are using a local certificate authority, add
--set global.customCA.enabled=trueas described in Control Plane Local CA. - Set
tenantsManager.config.adminUsername=<ADMIN_EMAIL>to the administrator email address. - Set
tenantsManager.config.adminPassword=<ADMIN_PASSWORD>to the initial administrator password. The password must meet the following requirements:- Minimum Length: At least 8 characters long.
- Digits: At least 1 numeric digit (0-9).
- Lowercase Characters: At least 1 lowercase letter (a-z).
- Uppercase Characters: At least 1 uppercase letter (A-Z).
- Special Characters: At least 1 special character (e.g., !, @, #, $).
- Save the image pull secrets, the external PostgreSQL connection, and the hardened images and settings of the control plane third-party services, in a values file and add
-f <GOV_READY_VALUES_FILE>to thehelm upgradecommand. See Gov-Ready Third-Party Services for the values. Gov-ready - Add
--set global.fipsMode=onlyto thehelm upgradecommand to enable FIPS mode, so that the NVIDIA Run:ai services use only FIPS-validated cryptography. Gov-ready
Open Source
Support-Entitled
In addition to the values above, update the Helm commands as follows:
- Add
--set supportEntitled=trueto thehelm upgradecommand. - Add
--set telemetryService.enabled=trueto thehelm upgradecommand to enable telemetry. - Add
--set global.imagePullSecrets[0].name=runai-reg-credsto thehelm upgradecommand to reference the secret created in Software Artifacts. - Optional: associate NVIDIA Run:ai’s telemetry with your NCA ID by adding one of the following to the
helm upgradecommand. See Registry Credentials for how to generate the NGC Service API Key. By default, telemetry is not associated with your organization.--set telemetryService.telemetryAuth.token=<SERVICE_API_KEY>- Passes the Service API Key directly. Visible in shell history and process listings.--set telemetryService.telemetryAuth.existingSecret=<SECRET_NAME> --set telemetryService.telemetryAuth.secretKey=<KEY_NAME>- References a secret you create yourself beforehand - the chart does not create or manage it.
For example:
Note
Use the dry-run flag --dry-run=client to gain an understanding of what is being installed before the actual installation.
Air-gapped
Air-gapped
Prerequisite
If your internal registry requires authentication, you must create the runai-reg-creds imagePullSecret before proceeding. See Software Artifacts in Preparations.
Use the Helm command for the release type you are installing and update the values as follows. The control-plane-airgap-values.yaml file is written by the airgap load step in Preparations.
- Replace
control-plane-<VERSION>.tgzwith the full filename of the control plane Helm chart (e.g.,control-plane-3.0.2.tgz), located in thechartsfolder of the working directory you specified toairgap load. - Replace
<VALUES_DIR>with thevaluesDirpath you set inairgap-load.yamlduring Preparations - this is wherecontrol-plane-airgap-values.yamlwas written. - Replace
<OPENSHIFT-CLUSTER-DOMAIN>with the domain configured for the OpenShift cluster. To determine the OpenShift cluster domain, runoc get routes -A. - Set
global.customCA.enabled=trueas described in Control Plane Local CA. - If your internal registry requires authentication, add
--set global.imagePullSecrets[0].name=runai-reg-credsto reference the secret created in Software Artifacts. - Set
tenantsManager.config.adminUsername=<ADMIN_EMAIL>to the administrator email address. - Set
tenantsManager.config.adminPassword=<ADMIN_PASSWORD>to the initial administrator password. The password must meet the following requirements:- Minimum Length: At least 8 characters long.
- Digits: At least 1 numeric digit (0-9).
- Lowercase Characters: At least 1 lowercase letter (a-z).
- Uppercase Characters: At least 1 uppercase letter (A-Z).
- Special Characters: At least 1 special character (e.g., !, @, #, $).
- Save the external PostgreSQL connection and the Keycloak and NATS settings of the control plane third-party services in a values file, and add
-f <GOV_READY_VALUES_FILE>to thehelm upgradecommand, next to the-fof the generated values file. Do not set image values, becauseairgap loadgenerates them. See Gov-Ready Third-Party Services for the values. Gov-ready - Add
--set global.fipsMode=onlyto thehelm upgradecommand to enable FIPS mode, so that the NVIDIA Run:ai services use only FIPS-validated cryptography. Gov-ready
Open Source
Support-Entitled
In addition to the values above, add --set supportEntitled=true and --set telemetryService.enabled=true to the helm upgrade command:
For example:
Note
Use the dry-run flag --dry-run=client to gain an understanding of what is being installed before the actual installation.
Connect to NVIDIA Run:ai User Interface
Note
After installing the NVIDIA Run:ai control plane, 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.
- Open your browser and go to:
Kubernetes
OpenShift
https://runai.<DOMAIN>.local
- Log in using the administrator credentials provided during the installation. It is recommended to change the password after the first login.
Next Steps
With the control plane installed, continue to Install the Cluster. Before installing the cluster, make sure you have completed the required setup in Prerequisites and Features.