Advanced Cluster Configurations
Advanced cluster configurations allow you to customize your NVIDIA Run:ai cluster deployment to support your environment. Some settings may be required for deployment, while others can be fine-tuned to align with organizational policies, security requirements, or other operational preferences.
By adjusting these configurations, you can influence system behavior, including functionality, scheduling policies, and resource management, giving you greater control over how the cluster operates. This article provides guidance on configuring and managing these settings so you can adapt your NVIDIA Run:ai cluster to your organization’s needs.
Configuration Scope
The Helm chart provides the complete set of configuration options for the NVIDIA Run:ai cluster. Some options, such as global.affinity, are available only through Helm. The rest of the configurable settings are grouped under clusterConfig. These clusterConfig settings can be applied through Helm as part of your deployment or upgrade process.
The clusterConfig subset can also be managed at runtime through the runaiconfig Custom Resource (under spec). For details, see Modify cluster configurations at runtime.
At runtime, runaiconfig is the source of truth for the active cluster configuration. If a configuration key is defined in both Helm and runaiconfig and the values differ, a Helm upgrade will overwrite the runaiconfig value to match the chart.
Note
The approach remains backward compatible so existing clusters configured via runaiconfig continue to work. However, when using Helm, you should manage configurations exclusively through Helm values. Mixing Helm values and manual runaiconfig edits is not recommended.
Helm Chart Values
The NVIDIA Run:ai cluster installation can be customized to support your environment via Helm values files or Helm install flags. If you are using Guided Installation, set the same keys under cluster.customHelmValues in your config.yaml instead of a Helm values file - see cluster. For example:
Modify Cluster Configurations at Runtime
The clusterConfig subset of settings can also be managed at runtime via the runaiconfig Kubernetes Custom Resource.
-
To edit the cluster configurations, run:
-
To see the full
runaiconfigobject structure, use:
When using runaiconfig, the clusterConfig values appear under spec.
Configurations
The following configurations allow you to enable or disable features, control permissions, and customize the behavior of your NVIDIA Run:ai cluster
Note
- Keys that start with
clusterConfigare available both in Helm and at runtime inrunaiconfig(underspec). All other keys are available only through Helm. - At runtime,
runaiconfigreflects the active configuration. If specificclusterConfigvalues set inrunaiconfigdiffer from those in Helm, a subsequent Helm upgrade will overwrite only those fields to align with the chart.
Helm Only Configurations
All Configurations (Helm and runaiconfig)
Third-Party Service Images
The NVIDIA Run:ai cluster bundles Valkey, oauth2-proxy, and git-sync. For what these services do, see Third-Party Services.
NVIDIA Run:ai Services Resource Management
NVIDIA Run:ai cluster includes many different services. To simplify resource management, the configuration structure allows you to configure the containers CPU / memory resources for each service individually or group of services together.
Note
For resource recommendations, see Vertical scaling. To automatically adjust resources based on actual usage, see Vertical Pod Autoscaling (VPA). Note that static resource configuration remains the primary mechanism. VPA works alongside it by generating recommendations or dynamically applying adjustments depending on the configured update mode.
Apply the following configuration in order to change resources request and limit for a group of services:
Helm
runaiconfig
Or, apply the following configuration in order to change resources request and limit for each service individually:
Helm
runaiconfig
NVIDIA Run:ai Services Replicas
By default, all NVIDIA Run:ai containers are deployed with a single replica. Some services support multiple replicas for redundancy and performance.
To simplify configuring replicas, a global replicas configuration can be set and is applied to all supported services:
Helm
runaiconfig
This can be overwritten for specific services (if supported). Services without the replicas configuration does not support replicas:
Helm
runaiconfig
Prometheus
NVIDIA Run:ai uses two separate Prometheus instances:
- The Prometheus instance used for metrics collection and alerting.
- A dedicated Prometheus instance used the NVIDIA Run:ai Scheduler for tracking historical resource usage and enabling time-based fairshare.
Metrics Collection
The Prometheus instance in NVIDIA Run:ai is used for metrics collection and alerting.
The configuration scheme follows the official PrometheusSpec and supports additional custom configurations. The PrometheusSpec schema is available using the spec.prometheus.spec configuration.
A common use case using the PrometheusSpec is for metrics retention. This prevents metrics loss during potential connectivity issues and can be achieved by configuring local temporary metrics retention. For more information, see Prometheus Storage:
Helm
runaiconfig
In addition to the PrometheusSpec schema, some custom NVIDIA Run:ai configurations are also available:
- Additional labels - Set additional labels for NVIDIA Run:ai’s built-in alerts sent by Prometheus.
- Log level configuration - Configure the
logLevelsetting for the Prometheus container. - Image override - Use
prometheus.spec.imageto manually specify the Prometheus image reference. Due to a known issue, theimageRegistrysetting in the Prometheus Helm chart is ignored. To pull the image from a different registry, specify the full image reference. Default:quay.io/prometheus/prometheus. - Image pull secrets - Use
prometheus.spec.imagePullSecretsto list Kubernetes image pull secrets in therunainamespace. This is particularly relevant for air-gapped installations where pulling Prometheus images requires authentication. Default:[]. - Advanced metrics (GPU profiling metrics) - Use
prometheus.spec.config.advancedMetricsEnabledto activate GPU profiling metrics from NVIDIA DCGM. When enabled, Prometheus collects and aggregates advanced GPU performance data such as SM activity, memory bandwidth, and tensor core utilization. For setup instructions, see GPU profiling metrics. - OTLP receiver - Use
prometheus.config.enableOTLPReceiverto enable or disable the OpenTelemetry Protocol (OTLP) receiver on the NVIDIA Run:ai Prometheus instance. When enabled, Knative Serving can push inference request metrics to Prometheus over OTLP, surfacing them in the NVIDIA Run:ai API and UI. Default:true.
Helm
runaiconfig
Time-Based Fairshare
Time-based fairshare relies on historical resource usage metrics collected by a dedicated Prometheus instance. By default, persistent storage is not configured for this Prometheus instance. As a result, if the Prometheus pod restarts or fails, all historical usage data is lost. In this scenario, the Scheduler recalculates fairshare from scratch and makes scheduling decisions without taking previously collected data into account until new data is accumulated.
To preserve historical usage data across restarts, you can enable persistent storage for the Prometheus instance used for time-based fairshare. It is recommended to use network-based storage that is accessible from all nodes in the cluster.
To enable persistent storage, configure the following cluster settings:
Helm
runaiconfig
NVIDIA Run:ai Managed Nodes
To include or exclude specific nodes from running workloads within a cluster managed by NVIDIA Run:ai, use the nodeSelectorTerms flag. For additional details, see Kubernetes nodeSelector.
Label the nodes using the below:
- key - Label key (e.g., zone, instance-type).
- operator - Operator defining the inclusion/exclusion condition (In, NotIn, Exists, DoesNotExist).
- values - List of values for the key when using In or NotIn.
The below example shows how to include NVIDIA GPUs only and exclude all other GPU types in a cluster with mixed nodes, based on product type GPU label:
Helm
runaiconfig
Custom Certificate Authority for Git and S3
To override the default global CA used by the system and inject a custom CA certificate for Git or S3 data sources, follow these steps:
-
Create a Kubernetes secret with the custom CA certificate:
-
When installing the cluster, make sure the following flags are added to the helm command. See Create a Tenant and Cluster.