Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Atualizar manualmente o driver NVIDIA de um nó

Última atualização: Jun 27, 2026

Substitua o driver NVIDIA em um nó ACK acelerado por GPU quando o CUDA exigir uma versão mais recente.

Pré-requisitos

Verifique se você tem:

  • kubectl configurado com acesso ao cluster

  • Acesso SSH ao nó acelerado por GPU de destino

  • Arquivo .run do novo driver NVIDIA baixado do site oficial da NVIDIA para o nó

  • (Condicional) Pacote .rpm correspondente do NVIDIA Fabric Manager, se necessário — consulte a Etapa 3, subetapa 5

Etapa 1: Isolar e drenar o nó

  1. Marque o nó acelerado por GPU como não agendável:

    kubectl cordon <NODE_NAME>

    Substitua <NODE_NAME> pelo nome do nó de destino. Saída esperada:

    node/<NODE_NAME> cordoned
  2. Evite os pods de carga de trabalho do nó:

    kubectl drain <NODE_NAME> --grace-period=120 --ignore-daemonsets=true

    O parâmetro --grace-period=120 concede aos pods até 120 segundos para encerramento graceful. Já --ignore-daemonsets=true ignora pods gerenciados por DaemonSet, tratados na próxima etapa. Saída esperada:

    There are pending nodes to be drained:
     <NODE_NAME>

Etapa 2: Desinstalar o driver NVIDIA atual

  1. Faça login no nó e pare o kubelet e o containerd. Essa ação encerra os pods de DaemonSet com referências à GPU que o kubectl drain não consegue remover.

    sudo systemctl stop kubelet containerd
  2. Verifique se há processos usando dispositivos GPU:

    sudo fuser -v /dev/nvidia*

    Sem saída significa que nenhum processo mantém referências à GPU — prossiga para a próxima subetapa. Caso haja saída, encerre cada processo listado. Exemplo:

                         USER        PID ACCESS COMMAND
    /dev/nvidia0:        root       3781 F.... dcgm-exporter
    /dev/nvidiactl:      root       3781 F...m dcgm-exporter

    Encerre o processo:

    sudo kill 3781

    Execute sudo fuser -v /dev/nvidia* novamente até não restarem processos.

  3. Desinstale o driver NVIDIA atual:

    sudo nvidia-uninstall
  4. (Opcional) Desinstale o NVIDIA Fabric Manager, se instalado. Verifique a instalação:

    sudo rpm -qa | grep ^nvidia-fabric-manager

    Sem saída indica que o NVIDIA Fabric Manager não está instalado — pule esta etapa. Caso contrário, desinstale-o:

    yum remove nvidia-fabric-manager

Etapa 3: Instalar o novo driver NVIDIA no nó

  1. Instale o novo driver. Exemplo com NVIDIA-Linux-x86_64-510.108.03.run:

    sudo bash NVIDIA-Linux-x86_64-510.108.03.run -a -s -q
  2. Verifique a instalação:

    sudo nvidia-smi

    A saída mostra a nova versão do driver. Exemplo para 510.108.03:

    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 510.108.03   Driver Version: 510.108.03   CUDA Version: 11.6     |
    |-------------------------------+----------------------+----------------------+
    | 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 V100-SXM2...  Off  | 00000000:00:07.0 Off |                    0 |
    | N/A   35C    P0    40W / 300W |      0MiB / 32768MiB |      0%      Default |
    |                               |                      |                  N/A |
    +-------------------------------+----------------------+----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+
  3. Aplique as configurações pós-instalação necessárias:

    sudo nvidia-smi -pm 1 || true                            # Enable Persistence mode
    sudo nvidia-smi -acp 0 || true                           # Set permission to UNRESTRICTED
    sudo nvidia-smi --auto-boost-default=0 || true           # Disable auto boost mode
    sudo nvidia-smi --auto-boost-permission=0 || true        # Allow non-admin users to control auto boost mode
    sudo nvidia-modprobe -u -c=0 -m || true                  # Load the NVIDIA unified memory kernel module and create device files
  4. (Opcional) Para carregar o driver NVIDIA na inicialização, garanta que /etc/rc.d/rc.local contenha:

    sudo nvidia-smi -pm 1 || true
    sudo nvidia-smi -acp 0 || true
    sudo nvidia-smi --auto-boost-default=0 || true
    sudo nvidia-smi --auto-boost-permission=0 || true
    sudo nvidia-modprobe -u -c=0 -m || true
  5. Verifique se o NVIDIA Fabric Manager é necessário — nós com interconexões multi-GPU baseadas em NVSwitch exigem esse componente.

    sudo lspci | grep -i 'Bridge:.*NVIDIA'

    Sem saída indica que o NVIDIA Fabric Manager não é necessário. Se houver saída, baixe o pacote correspondente do NVIDIA Fabric Manager no repositório YUM da NVIDIA. A versão do pacote deve corresponder à versão do driver. Instale e inicie o NVIDIA Fabric Manager:

    # Install NVIDIA Fabric Manager
    sudo yum localinstall nvidia-fabric-manager-510.108.03-1.x86_64.rpm
    
    # Enable NVIDIA Fabric Manager on boot
    systemctl enable nvidia-fabricmanager.service
    
    # Start NVIDIA Fabric Manager
    systemctl start nvidia-fabricmanager.service
  6. Reinicie o kubelet e o containerd:

    sudo systemctl restart containerd kubelet

Etapa 4: Retornar o nó ao cluster

Marque o nó como agendável:

sudo kubectl uncordon <NODE_NAME>

Substitua <NODE_NAME> pelo nome do seu nó. O Kubernetes retomará o agendamento de pods no nó.