Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Customize GPU drivers on nodes with an OSS URL

Última atualização: Sep 16, 2026

Clusters ACK instalam versões diferentes do driver NVIDIA por padrão, conforme o tipo e a versão do cluster. Para instalar uma versão mais recente do driver em nós de GPU, carregue um driver personalizado no OSS e configure rótulos do node pool para obtê-lo via URL do OSS.

Observações de uso

  • O ACK não garante compatibilidade entre versões de drivers de GPU e da biblioteca CUDA. Você é responsável por verificar essa compatibilidade.

  • Para requisitos detalhados de drivers para diferentes modelos de GPU NVIDIA, consulte a documentação oficial da NVIDIA.

  • Se você utilizar uma imagem de sistema operacional personalizada com driver de GPU, NVIDIA Container Runtime ou outros componentes de GPU pré-instalados, o ACK não poderá garantir que o driver personalizado seja compatível com outros componentes de GPU do ACK, como agentes de monitoramento.

  • Ao especificar uma versão de driver de GPU usando um rótulo de node pool, a instalação ocorre apenas nos novos nós adicionados ao pool. Os nós existentes não são afetados. Para aplicar o novo driver aos nós existentes, Remove a node from a cluster or node pool e, em seguida, Add existing nodes.

  • Os tipos de instância gn7, GPU-accelerated compute-optimized instance family e GPU compute-optimized: gn, ebm, and scc apresentam problemas de compatibilidade com as versões de driver 510.xxx e 515.xxx. Use uma versão anterior à 510 com o GPU System Processor (GSP) desativado (por exemplo, 470.xxx.xxxx) ou a versão 525.125.06 ou superior.

  • Instâncias ECS dos tipos GPU compute-optimized: gn, ebm, and scc ou Ebmgn7e instance family suportam apenas versões de driver NVIDIA 525.125.06 ou posteriores.

  • Se você customize the GPU driver version by specifying a version number ou by using an OSS URL, o sistema operacional e o driver podem tornar-se incompatíveis após a atualização. Consulte Supported NVIDIA driver versions in ACK para selecionar um driver compatível.

  • Carregar seu próprio driver de GPU no OSS pode causar incompatibilidades com a imagem do sistema operacional, o tipo de instância ECS ou o runtime de contêiner, resultando em falha na criação do nó. O ACK não garante sucesso com esse método. Verifique a configuração antes de prosseguir.

Etapa 1: Baixar o driver desejado

Se as NVIDIA driver versions supported by ACK não incluírem a versão necessária, baixe o driver no site oficial da NVIDIA. Este exemplo utiliza a versão 550.90.07. Baixe o arquivo NVIDIA-Linux-x86_64-550.90.07.run para sua máquina local.

Etapa 2: Baixar o NVIDIA Fabric Manager

Baixe o NVIDIA Fabric Manager do repositório NVIDIA YUM. A versão do Fabric Manager deve corresponder à versão do driver.

wget https://developer.download.nvidia.cn/compute/cuda/repos/rhel7/x86_64/nvidia-fabric-manager-550.90.07-1.x86_64.rpm

Etapa 3: Criar um bucket do OSS

Faça login no console do OSS e create a bucket.

Nota

Crie o bucket na mesma região do seu cluster ACK para que os nós possam obter o driver pela rede interna.

Etapa 4: Carregar arquivos no bucket do OSS

  1. Acesse o console do OSS e upload os arquivos NVIDIA-Linux-x86_64-550.90.07.run e nvidia-fabric-manager-550.90.07-1.x86_64.rpm no diretório raiz do bucket.

    Importante

    Carregue os arquivos no diretório raiz do bucket, e não em um subdiretório.

  2. Na página do bucket, no painel de navegação à esquerda, clique em File Management > Objects. Na coluna Actions do arquivo carregado, clique em Details.

  3. No painel Details, desative a opção Use HTTPS.

    Importante

    O ACK obtém os arquivos de driver via HTTP, mas o OSS usa HTTPS por padrão. Desative a opção Use HTTPS para habilitar o acesso HTTP.

  4. No painel de navegação à esquerda, clique em Overview. Copie o endpoint interno na parte inferior da página.

    Importante
    • Endpoints externos são lentos e podem causar falha na criação de nós de GPU. Use um endpoint interno (contém -internal) ou um endpoint acelerado (contém oss-accelerate).

    • Se o download de um arquivo falhar, ajuste a política de access control do bucket.

Etapa 5: Configurar rótulos do node pool

  1. Faça login no console do ACK. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique no nome do seu cluster. No painel de navegação à esquerda, clique em Nodes > Node Pools.

  3. Clique em Create Node Pool para adicionar nós de GPU. Consulte Create and manage a node pool para detalhes sobre os parâmetros. Os principais parâmetros para esta configuração são:

    Na seção Node Labels, clique no ícone 1 para adicionar os seguintes rótulos. Substitua os valores de exemplo pelos seus valores reais.

    Key

    Value

    ack.aliyun.com/nvidia-driver-oss-endpoint

    Endpoint interno do bucket do OSS obtido na Step 4.

    my-nvidia-driver.oss-cn-beijing-internal.aliyuncs.com

    ack.aliyun.com/nvidia-driver-runfile

    Nome do arquivo de driver NVIDIA obtido na Step 1.

    NVIDIA-Linux-x86_64-550.90.07.run

    ack.aliyun.com/nvidia-fabricmanager-rpm

    Nome do arquivo do Fabric Manager obtido na Step 2.

    nvidia-fabric-manager-550.90.07-1.x86_64.rpm

Etapa 6: Verificar a instalação do driver

  1. Visualize os Pods com o rótulo component: nvidia-device-plugin:

    kubectl get po -n kube-system -l component=nvidia-device-plugin -o wide

    Saída esperada:

    NAME                                            READY   STATUS    RESTARTS   AGE   IP              NODE                       NOMINATED NODE   READINESS GATES
    nvidia-device-plugin-cn-beijing.192.168.1.127   1/1     Running   0          6d    192.168.1.127   cn-beijing.192.168.1.127   <none>           <none>
    nvidia-device-plugin-cn-beijing.192.168.1.128   1/1     Running   0          17m   192.168.1.128   cn-beijing.192.168.1.128   <none>           <none>
    nvidia-device-plugin-cn-beijing.192.168.8.12    1/1     Running   0          9d    192.168.8.12    cn-beijing.192.168.8.12    <none>           <none>
    nvidia-device-plugin-cn-beijing.192.168.8.13    1/1     Running   0          9d    192.168.8.13    cn-beijing.192.168.8.13    <none>           <none>

    A saída mostra que o Pod do nó recém-adicionado é nvidia-device-plugin-cn-beijing.192.168.1.128.

  2. Verifique se a versão correta do driver está instalada:

    kubectl exec -ti nvidia-device-plugin-cn-beijing.192.168.1.128 -n kube-system -- nvidia-smi

    Saída esperada:

    +-----------------------------------------------------------------------------------------+
    | NVIDIA-SMI 550.90.07              Driver Version: 550.90.07      CUDA Version: 12.4     |
    |-----------------------------------------+------------------------+----------------------+
    | GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
    |                                         |                        |               MIG M. |
    |=========================================+========================+======================|
    |   0  Tesla P100-PCIE-16GB           On  |   00000000:00:08.0 Off |                  Off |
    | N/A   31C    P0             26W /  250W |       0MiB /  16384MiB |      0%      Default |
    |                                         |                        |                  N/A |
    +-----------------------------------------+------------------------+----------------------+
                                                                                             
    +-----------------------------------------------------------------------------------------+
    | Processes:                                                                              |
    |  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
    |        ID   ID                                                               Usage      |
    |=========================================================================================|
    |  No running processes found                                                             |
    +-----------------------------------------------------------------------------------------+

    A saída exibe a versão de driver 550.90.07, confirmando que o driver NVIDIA personalizado foi instalado com sucesso.

Outros métodos

Também é possível definir a URL do OSS do driver personalizado ao criar um node pool com a API CreateClusterNodePool:

{
  // Other sections are omitted.
  ......
    "tags": [
      {
        "key": "ack.aliyun.com/nvidia-driver-oss-endpoint",
        "value": "my-nvidia-driver.oss-cn-beijing-internal.aliyuncs.com"
      },
      {
        "key": "ack.aliyun.com/nvidia-driver-runfile",
        "value": "NVIDIA-Linux-x86_64-550.90.07.run"
      },
      {
        "key": "ack.aliyun.com/nvidia-fabricmanager-rpm",
        "value": "nvidia-fabric-manager-550.90.07-1.x86_64.rpm"
      }
    ],
  // Other sections are omitted.
  ......
}