Todos los productos
Search
Centro de documentos

Container Compute Service:Specify GPU models and driver versions for ACS GPU-accelerated pods

Última actualización: Sep 09, 2026

Alibaba Cloud Container Compute Service (ACS) proporciona capacidad de cómputo serverless para contenedores. Cuando utiliza recursos de GPU, ACS le permite declarar los modelos de GPU y las versiones de controladores compatibles en los pods. Esta funcionalidad reduce significativamente los costos de gestión de infraestructura y de operación y mantenimiento. En este tema se describe cómo especificar un modelo de GPU y una versión de controlador al crear un pod.

Modelos de GPU

ACS es compatible con varios modelos de GPU. Puede utilizarlos con capacity reservations o solicitarlos bajo demanda cuando cree un pod. El método que utilice depende de la clase de cómputo.

  • GPU de alto rendimiento para redes

    Solo puede solicitar reservas de nodos. Después de comprar las reservas, debe asociar cada una con su clúster. Cada reserva se ejecuta como un nodo virtual independiente dentro del clúster. Para obtener más información, consulte GPU-HPN Capacity Reservation.

  • Instancias de GPU

    Puede usar los recursos de GPU bajo demanda o configurar reservas de capacidad. Una vez creado el pod, ACS descuenta automáticamente los recursos de GPU de su capacity reservation.

Nota

Para consultar la lista de modelos de GPU compatibles, envíe un ticket.

Especifique un modelo de GPU para un pod

Para GPU-HPN, solo puede solicitar reservas de nodos. Cada reserva se ejecuta como un nodo virtual en el clúster. La etiqueta del nodo virtual incluye el modelo de GPU. Utilice node affinity scheduling para programar los pods en ese nodo virtual. Para obtener más información, consulte Schedule pods to GPU-HPN virtual nodes with attribute labels.

En los pods acelerados por GPU, especifique explícitamente el modelo de GPU en los campos labels y nodeSelector del pod.

Clase de cómputo

Campo de protocolo

Ejemplo

Tipos de instancia de GPU de red de alto rendimiento

spec.nodeSelector

apiVersion: v1
kind: Pod
metadata:
  labels:
    # Set the compute class to GPU-HPN.
    alibabacloud.com/compute-class: "gpu-hpn"
  name: gpu-example-pod
spec:
  nodeSelector:
 # Set the GPU model to example-model.
    alibabacloud.com/gpu-model-series: "example-model"
  ...

Tipo de instancia de GPU

metadata.labels[

alibabacloud.com/gpu-model-series]

apiVersion: v1
kind: Pod
metadata:
  labels:
    # Set the compute class to gpu.
    alibabacloud.com/compute-class: "gpu"
    # Set the GPU model to example-model, such as T4.
    alibabacloud.com/gpu-model-series: "example-model"
  name: gpu-pod
spec:
...

Versiones de controladores

Las aplicaciones de GPU suelen depender de Compute Unified Device Architecture (CUDA), una plataforma de cómputo paralelo y un modelo de programación que NVIDIA lanzó en 2007. A continuación se muestra la arquitectura de CUDA. La API de controlador y la API de tiempo de ejecución de la pila de software de CUDA presentan las siguientes diferencias.

  • API de controlador: ofrece toda la funcionalidad, pero su uso es complejo.

  • API de tiempo de ejecución: envuelve parte de la API de controlador y oculta algunos pasos de inicialización del controlador. Su uso resulta más sencillo.

La API de controlador de CUDA se incluye en el paquete del controlador de NVIDIA. La biblioteca de CUDA y el entorno de ejecución de CUDA se incluyen en el paquete de CUDA Toolkit.

cuda.png

Cuando ejecute aplicaciones de GPU en un clúster de ACS, tenga en cuenta lo siguiente:

  1. Utilice las imágenes base de CUDA proporcionadas por NVIDIA para instalar CUDA Toolkit en su imagen de contenedor. Estas imágenes base ya incluyen CUDA Toolkit. A partir de ahí, construya su imagen de aplicación directamente sobre una imagen base que coincida con la versión específica de CUDA Toolkit que requiere su aplicación.

  2. Para especificar una versión de controlador al crear un pod, consulte Specify a driver version for a pod.

  3. Para conocer la compatibilidad entre CUDA Toolkit y los controladores de NVIDIA, consulte el documento oficial de NVIDIA CUDA Toolkit Release Notes.

Nota

La versión de la API de tiempo de ejecución de CUDA que utiliza su aplicación debe coincidir con la versión de la imagen base de CUDA empleada para construir su imagen de contenedor. Por ejemplo, si su imagen de contenedor se construyó a partir de la imagen base de CUDA NVIDIA/CUDA:12.2.0-base-Ubuntu20.04, su aplicación usa la versión 12.2.0 de la API de tiempo de ejecución de CUDA.

Especifique una versión de controlador para un pod

ACS le permite especificar una versión de controlador mediante etiquetas de pod cuando su aplicación usa recursos de GPU. Utilice el formato que se muestra en la siguiente tabla.

Clase de cómputo

Campo de protocolo

Ejemplo

Instancias de GPU

metadata.labels[alibabacloud.com/gpu-driver-version]

apiVersion: v1
kind: Pod
metadata:
  labels:
    # Set the compute class to gpu.
    alibabacloud.com/compute-class: "gpu"
    # Set the GPU model to example-model, such as T4.
    alibabacloud.com/gpu-model-series: "example-model"
    # Set the driver version to 535.161.08.
    alibabacloud.com/gpu-driver-version: "535.161.08"
  name: gpu-pod
spec:
...

Instancia de GPU con redes de alto rendimiento

apiVersion: v1
kind: Pod
metadata:
  labels:
    # Set the compute class to GPU-HPN.
    alibabacloud.com/compute-class: "gpu-hpn"
    # Set the driver version to 535.161.08.
    alibabacloud.com/gpu-driver-version: "535.161.08"
  name: gpu-pod
spec:
...

Versiones de controladores de GPU

Asegúrese de que la versión del controlador que especifique sea compatible con ACS. Para obtener más información, consulte Supported GPU driver versions.

Versión predeterminada del controlador de GPU para pods

ACS le permite configurar atributos específicos de los pods mediante reglas. Si la versión predeterminada del controlador no satisface sus necesidades, agregue la siguiente configuración al ConfigMap kube-system/acs-profile para asignar distintas versiones de controladores de GPU a tipos específicos de pods con GPU. Para obtener más información, consulte Configure selectors.

La siguiente configuración establece la versión del controlador en 1.5.0 para todos los pods GPU-HPN del clúster.

apiVersion: v1
kind: ConfigMap
metadata:
  name: acs-profile
  namespace: kube-system
data:
  # Keep other system configurations unchanged.
  selectors: |
    [
      {
        "name": "gpu-hpn-driver",
        "objectSelector": {
          "matchLabels": {
            "alibabacloud.com/compute-class": "gpu-hpn"
          }
        },
        "effect": {
          "labels": {
            "alibabacloud.com/gpu-driver-version": "1.5.0"
          }
        }
      }
    ]

Ejemplo

  1. Cree un archivo llamado gpu-pod-with-model-and-driver.yaml y agregue el siguiente contenido YAML. Este archivo define un pod con la clase de cómputo gpu. El pod solicita una GPU con el modelo example-model y la versión de controlador 535.161.08.

    apiVersion: v1
    kind: Pod
    metadata:
      name: gpu-pod-with-model-and-driver
      labels:
        # Set the compute class to gpu.
        alibabacloud.com/compute-class: "gpu"
        # Set the GPU model to example-model, such as T4.
        alibabacloud.com/gpu-model-series: "example-model"
        # Set the driver version to 535.161.08.
        alibabacloud.com/gpu-driver-version: "535.161.08"
    spec:
      containers:
      - image: registry.cn-beijing.aliyuncs.com/acs/tensorflow-mnist-sample:v1.5
        name: tensorflow-mnist
        command:
        - sleep
        - infinity
        resources:
          requests:
            cpu: 1
            memory: 1Gi
            nvidia.com/gpu: 1
          limits:
            cpu: 1
            memory: 1Gi
            nvidia.com/gpu: 1
  2. Ejecute el siguiente comando para desplegar gpu-pod-with-model-and-driver.yaml en su clúster.

    kubectl apply -f gpu-pod-with-model-and-driver.yaml
  3. Ejecute el siguiente comando para comprobar el estado del pod.

    kubectl get pod

    Resultado esperado:

    NAME                            READY   STATUS    RESTARTS   AGE
    gpu-pod-with-model-and-driver   1/1     Running   0          87s
  4. Ejecute el siguiente comando para consultar la información de la GPU en el pod.

    Nota

    El comando /usr/bin/nvidia-smi del ejemplo viene preconfigurado en la imagen de contenedor de muestra.

    kubectl exec -it gpu-pod-with-model-and-driver -- /usr/bin/nvidia-smi

    Resultado esperado:

    +---------------------------------------------------------------------------------------+
    | NVIDIA-SMI xxx.xxx.xx             Driver Version: 535.161.08   CUDA Version: xx.x     |
    |-----------------------------------------+----------------------+----------------------+
    ...
    |=========================================+======================+======================|
    |   x  NVIDIA example-model           xx  | xxxxxxxx:xx:xx.x xxx |                    x |
    | xxx   xxx    xx              xxx / xxxx |      xxxx /       xxx|      x%      xxxxxxxx|
    |                                         |                      |                  xxx |
    +-----------------------------------------+----------------------+----------------------+

    El resultado muestra el modelo de GPU example-model y la versión del controlador 535.161.08, que coinciden con las etiquetas de la definición del pod.

    Importante

    El resultado mostrado es solo de referencia. Los resultados reales pueden variar según su entorno.