All Products
Search
Document Center

Container Service for Kubernetes:Perbarui driver NVIDIA node secara manual

Last Updated:Jun 19, 2026

Ganti driver NVIDIA pada node ACK yang dipercepat GPU jika CUDA memerlukan versi driver yang lebih baru.

Prasyarat

Pastikan Anda telah memiliki:

  • kubectl yang dikonfigurasi dengan akses ke kluster

  • Akses SSH ke node target yang dipercepat GPU

  • File .run driver NVIDIA baru yang telah diunduh dari situs resmi NVIDIA ke node tersebut

  • (Bersyarat) Paket .rpm NVIDIA Fabric Manager yang sesuai, jika diperlukan — lihat Langkah 3, sublangkah 5

Langkah 1: Cordon dan drain node

  1. Tandai node yang dipercepat GPU sebagai tidak dapat dijadwalkan:

    kubectl cordon <NODE_NAME>

    Ganti <NODE_NAME> dengan nama node target. Output yang diharapkan:

    node/<NODE_NAME> cordoned
  2. Kosongkan Pod workload dari node:

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

    --grace-period=120 memberikan waktu hingga 120 detik bagi Pod untuk melakukan shutdown yang mulus. --ignore-daemonsets=true melewatkan Pod yang dikelola oleh DaemonSet, yang akan ditangani pada langkah berikutnya. Output yang diharapkan:

    There are pending nodes to be drained:
     <NODE_NAME>

Langkah 2: Uninstal driver NVIDIA saat ini

  1. Login ke node dan hentikan kubelet serta containerd. Tindakan ini menghentikan Pod DaemonSet yang masih menggunakan referensi GPU yang tidak dapat dievakuasi oleh kubectl drain.

    sudo systemctl stop kubelet containerd
  2. Periksa proses yang masih menggunakan perangkat GPU:

    sudo fuser -v /dev/nvidia*

    Tidak ada output berarti tidak ada proses yang memegang referensi GPU — lanjutkan ke sublangkah berikutnya. Jika muncul output, hentikan setiap proses yang tercantum. Contohnya:

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

    Hentikan proses tersebut:

    sudo kill 3781

    Jalankan kembali sudo fuser -v /dev/nvidia* hingga tidak ada proses yang tersisa.

  3. Uninstal driver NVIDIA saat ini:

    sudo nvidia-uninstall
  4. (Opsional) Uninstal NVIDIA Fabric Manager jika telah terinstal. Periksa apakah sudah terinstal:

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

    Tidak ada output berarti NVIDIA Fabric Manager belum terinstal — lewati langkah ini. Jika terinstal, uninstal dengan perintah berikut:

    yum remove nvidia-fabric-manager

Langkah 3: Instal driver NVIDIA baru pada node

  1. Instal driver baru. Contoh dengan NVIDIA-Linux-x86_64-510.108.03.run:

    sudo bash NVIDIA-Linux-x86_64-510.108.03.run -a -s -q
  2. Verifikasi instalasi:

    sudo nvidia-smi

    Output menampilkan versi driver baru. Contoh untuk 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. Terapkan pengaturan pasca-instalasi yang diperlukan:

    sudo nvidia-smi -pm 1 || true                            # Aktifkan mode Persistence
    sudo nvidia-smi -acp 0 || true                           # Atur izin menjadi UNRESTRICTED
    sudo nvidia-smi --auto-boost-default=0 || true           # Nonaktifkan mode auto boost
    sudo nvidia-smi --auto-boost-permission=0 || true        # Izinkan pengguna non-admin mengontrol mode auto boost
    sudo nvidia-modprobe -u -c=0 -m || true                  # Muat modul kernel unified memory NVIDIA dan buat file perangkat
  4. (Opsional) Untuk memuat driver NVIDIA saat boot, pastikan /etc/rc.d/rc.local berisi:

    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. Periksa apakah NVIDIA Fabric Manager diperlukan — node dengan interkoneksi multi-GPU berbasis NVSwitch membutuhkannya.

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

    Tidak ada output berarti NVIDIA Fabric Manager tidak diperlukan. Jika muncul output, unduh paket NVIDIA Fabric Manager yang sesuai dari repositori YUM NVIDIA. Versi paket harus sesuai dengan versi driver. Instal dan jalankan NVIDIA Fabric Manager:

    # Instal NVIDIA Fabric Manager
    sudo yum localinstall nvidia-fabric-manager-510.108.03-1.x86_64.rpm
    
    # Aktifkan NVIDIA Fabric Manager saat boot
    systemctl enable nvidia-fabricmanager.service
    
    # Jalankan NVIDIA Fabric Manager
    systemctl start nvidia-fabricmanager.service
  6. Restart kubelet dan containerd:

    sudo systemctl restart containerd kubelet

Langkah 4: Kembalikan node ke kluster

Tandai node sebagai dapat dijadwalkan:

sudo kubectl uncordon <NODE_NAME>

Ganti <NODE_NAME> dengan nama node Anda. Kubernetes akan melanjutkan penjadwalan Pod pada node tersebut.