Updated on 2025-12-08 GMT+08:00

CCE AI Suite (NVIDIA GPU)

Introduction

The CCE AI Suite (NVIDIA GPU) add-on helps you use and manage GPUs in your clusters. It supports access to GPUs in containers and helps you efficiently run and maintain GPU-based compute-intensive workloads in cloud native environments. With this add-on, both CCE standard and Turbo clusters can handle GPU scheduling, install drivers automatically, manage runtimes, and monitor performance. This means you get full support for GPU workloads throughout their entire lifecycle. To run GPU nodes in a cluster, you must install this add-on.

How nvidia-gpu-device-plugin Works

nvidia-gpu-device-plugin is one of the core components of CCE AI Suite (NVIDIA GPU). As a bridge between the container platform and GPU hardware, nvidia-gpu-device-plugin abstracts physical GPUs into resources that can be identified and scheduled by the container platform. This addresses the GPU allocation and usage problems in containerized environments.

This component runs as a DaemonSet so that the GPUs on every node can be identified by kubelet and reported to Kubernetes. You only need to declare the GPU resource requests in pod specs to use the GPUs on nodes. kubelet does not automatically detect GPU devices on its own. Instead, it relies on nvidia-gpu-device-plugin to register and report GPU information. nvidia-gpu-device-plugin runs on every GPU node and uses the gRPC protocol to communicate with kubelet Device Plugin Manager and complete the registration. The workflow is shown below.
Figure 1 GPU resource reporting and health
  1. Sending a registration request: nvidia-gpu-device-plugin sends a registration request to kubelet as a client along with:
    • Device name (nvidia.com/gpu): identifies the type of hardware resource managed by the add-on for kubelet to identify and schedule.
    • Unix socket: enables local gRPC communication between the component and kubelet to ensure that kubelet can properly call the correct services.
    • API version: specifies the version of the Device Plugin API protocol. It ensures that the communication protocols of both parties are compatible.
  2. Starting a service: After registration, nvidia-gpu-device-plugin starts a gRPC server to provide services for external systems. The gRPC server handles kubelet requests, including device list queries, health status reporting, and resource allocation. The listening address (Unix socket path) of the gRPC server and supported Device Plugin API version have been reported to kubelet during registration. This ensures that kubelet can properly establish connections and call the correct APIs based on the registration information.
  3. Health monitoring: After the gRPC server is started, kubelet establishes a persistent connection with nvidia-gpu-device-plugin through the ListAndWatch API to continuously listen to the device IDs and their health. If a device becomes unhealthy, nvidia-gpu-device-plugin reports the error to kubelet through the connection.
  4. Information reporting: kubelet integrates the device information into the node statuses and reports resource details such as the number of devices to Kubernetes API server. The scheduler (kube-scheduler or Volcano) uses these details to make scheduling decisions.
  5. Persistent storage: CCE stores the GPU device information (such as quantity and status) reported by nodes in etcd for cluster-level resource persistence. This ensures that GPU data can be kept after a cluster component is faulty or restarted, and provides consistent data sources for components such as the scheduler and controller, ensuring reliability of resource scheduling and management.

Notes and Constraints

  • The driver to be downloaded must be a .run file.
  • Only NVIDIA Tesla drivers are supported, not GRID drivers.
  • When installing or reinstalling the add-on, ensure that the driver download address is correct and accessible. CCE does not verify the address validity.
  • This add-on only enables you to download the driver and execute the installation script. The add-on status only indicates that how the add-on is running, not whether the driver is successfully installed.
  • CCE does not guarantee the compatibility between the GPU driver version and the CUDA library version of your application. You need to check the compatibility by yourself.
  • If a custom OS image has had a GPU driver installed, CCE cannot ensure that the GPU driver is compatible with other GPU components such as the monitoring components used in CCE.

Installing the Add-on

  1. Log in to the CCE console and click the cluster name to access the cluster console.
  2. In the navigation pane, choose Add-ons. In the right pane, find the CCE AI Suite (NVIDIA GPU) add-on and click Install.
  3. Determine whether to enable Use DCGM-Exporter to Observe DCGM Metrics. After this function is enabled, DCGM-Exporter is deployed on the GPU node.

    If the add-on version is 2.7.40 or later, DCGM-Exporter can be deployed. DCGM-Exporter maintains the community capability and does not support the sharing mode or GPU virtualization.

    After DCGM-Exporter is enabled, if you need to report the collected GPU monitoring data to AOM, see Comprehensive Monitoring of DCGM Metrics.

  4. Configure the add-on parameters.

    Table 1 Add-on parameters

    Parameter

    Description

    Default Cluster Driver

    All GPU nodes in a cluster use the same driver. You can select a proper GPU driver version or customize the driver link and enter the download link of the NVIDIA driver.
    NOTICE:
    • If the download link is a public network address, for example, https://us.download.nvidia.com/tesla/470.103.01/NVIDIA-Linux-x86_64-470.103.01.run, bind an EIP to each GPU node. For details about how to obtain the driver link, see Obtaining a Driver Link from the Internet.
    • If the download link is an OBS URL, you do not need to bind an EIP to GPU nodes. For details about how to obtain the driver link, see Obtaining a Driver Link from the OBS Link.
    • Ensure that the NVIDIA driver version matches the GPU node.
    • If the driver version is changed, restart the node to apply the change.

    After the add-on is installed, you can configure GPU virtualization and node pool drivers on the Heterogeneous Resources tab in Settings.

  5. Click Install.

    If the add-on is uninstalled, GPU pods newly scheduled to the nodes cannot run properly, but GPU pods already running on the nodes will not be affected.

Verifying the Add-on

After the add-on is installed, run the nvidia-smi command on the GPU node and the container that schedules GPU resources to verify the availability of the GPU device and driver.

  • GPU node:
    • If the add-on version is earlier than 2.0.0, run the following command:
      cd /opt/cloud/cce/nvidia/bin && ./nvidia-smi
    • If the add-on version is 2.0.0 or later, run the following command:
      cd /usr/local/nvidia/bin && ./nvidia-smi
  • Container:
    • If the cluster version is v1.27 or earlier, run the following command:
      cd /usr/local/nvidia/bin && ./nvidia-smi
    • If the cluster version is v1.28 or later, run the following command:
      cd /usr/bin && ./nvidia-smi

If GPU information is returned, the device is available and the add-on has been installed.

Obtaining a Driver Link from the Internet

  1. Log in to the CCE console and click the cluster name to access the cluster console.
  2. Create a node. In the Specifications area, select the GPU node flavor. The GPU card models are displayed in the lower part of the area.

  1. Log in to the NVIDIA driver download page and search for the driver information. The OS must be Linux 64-bit.

    Figure 2 Selecting parameters

  2. After confirming the driver information, click Find. On the displayed page, find the driver to be downloaded and click View.

    Figure 3 Viewing the driver information

  3. Click Download and copy the download link.

    Figure 4 Obtaining the link

Obtaining a Driver Link from the OBS Link

  1. Upload the driver to OBS and set the driver file to public read.

    When the node is restarted, the driver will be downloaded and installed again. Ensure that the OBS bucket link of the driver is valid.

  2. In the bucket list, click a bucket name, and then the Overview page of the bucket is displayed.
  3. In the navigation pane, choose Objects.
  4. Select the name of the target object and copy the driver link on the object details page.

Components

Table 2 Add-on components

Component

Description

Resource Type

nvidia-driver-installer

A workload for installing the NVIDIA GPU driver on a node, which only uses resources during the installation process (Once the installation is finished, no resources are used.)

DaemonSet

nvidia-gpu-device-plugin

A Kubernetes device plugin that provides NVIDIA GPU heterogeneous compute for containers

DaemonSet

nvidia-operator

A component that provides NVIDIA GPU node management capabilities for clusters

Deployment

Helpful Links

  • CCE AI Suite (NVIDIA GPU) provides GPU monitoring metrics. For details about GPU metrics, see GPU Metrics.