Prerequisites#

The following are the prerequisites for deploying the NVIDIA GPU Operator.

Hardware And Operating System Requirements#

Your GPUs and cluster align with the GPU Operator support matrix for hardware and operating system.

Additional Operating System configurations depend on how you plan to manage the NVIDIA GPU Driver:

  • If you are planning to use NVIDIA GPU Driver Custom Resource Definition to manage drivers, you can use a mix of operating system versions on CPU and GPU nodes. Refer to the NVIDIA GPU Driver Custom Resource Definition page for more information on using this custom resource.

  • If you are planning to use ClusterPolicy for driver configuration, all worker nodes or node groups that will run GPU workloads in the Kubernetes cluster must run the same operating system version to use the NVIDIA GPU Driver container.

  • If you are planning to pre-install the NVIDIA GPU Driver on your nodes, then you can run different operating systems on your nodes.

  • For worker nodes or node groups that run CPU workloads only, the nodes can run any operating system because the GPU Operator does not perform any configuration or management of nodes for CPU-only workloads.

Cluster Requirements#

  • You have the kubectl and helm CLIs available on a client machine. For supported Kubernetes versions refer to the Container Platforms support matrix.

    You can run the following commands to install the Helm CLI:

    $ curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 \
       && chmod 700 get_helm.sh \
       && ./get_helm.sh
    
  • Nodes must be configured with a container engine such as CRI-O or containerd. For supported container runtime, refer to Supported Container Runtimes.

  • If your cluster uses Pod Security Admission (PSA) to restrict the behavior of pods, label the namespace for the Operator to set the enforcement policy to privileged:

    $ kubectl create ns gpu-operator
    $ kubectl label --overwrite ns gpu-operator pod-security.kubernetes.io/enforce=privileged
    
  • Node Feature Discovery (NFD) is a dependency for the Operator on each node. By default, NFD master and worker are automatically deployed by the Operator. If NFD is already running in the cluster, then you must disable deploying NFD when you install the Operator.

    One way to determine if NFD is already running in the cluster is to check for an NFD label on your nodes (requires jq):

      $ kubectl get nodes -o json | jq '.items[].metadata.labels | keys | any(startswith("feature.node.kubernetes.io"))'
    
    If the command output is ``true``, then NFD is already running in the cluster.
    

DRA Requirements#

If you are planning to use the DRA Driver for NVIDIA GPUs for GPU resource management, the following requirements must be met:

  • Use Kubernetes 1.34.2 or later.

  • If you plan to use pre-installed driver, the NVIDIA GPU driver must be version 580 or later.

  • For ComputeDomains, ensure the following:

    • NVIDIA Grace Blackwell GPUs with Multi-Node NVLink (MNNVL) are available on your cluster. Refer to the NVIDIA Multi-Node NVLink Systems documentation for details.

    • When using ComputeDomains with a pre-installed GPU driver:

      • The corresponding nvidia-imex-* packages are installed through your Linux distribution’s package manager.

      • The IMEX systemd service is disabled before installing the GPU Operator (on all GPU nodes). For example:

        $ systemctl disable --now nvidia-imex.service && systemctl mask nvidia-imex.service
        

Next Steps#

After verifying prerequisites, choose an install path: