全部产品
Search
文档中心

Container Service for Kubernetes:Memperbarui Driver NVIDIA dari sebuah node secara manual

更新时间:Jun 26, 2025

Jika pustaka CUDA Anda memerlukan versi baru driver NVIDIA, Anda dapat memperbarui driver NVIDIA pada node dengan menghapus versi saat ini dan menginstal yang baru. Topik ini menjelaskan cara memperbarui driver NVIDIA pada sebuah node.

Langkah 1: Putuskan koneksi node dari kluster dan kosongkan node

  1. Jalankan perintah berikut untuk menetapkan node GPU yang drivernya ingin diperbarui menjadi tidak dapat dijadwalkan:

    kubectl cordon <NODE_NAME>

    Ganti <NODE_NAME> dengan nama node.

    Keluaran yang diharapkan:

    node/<NODE_NAME> cordoned
  2. Jalankan perintah berikut untuk mengosongkan pod pada node GPU:

    kubectl drain <NODE_NAME> --grace-period=120 --ignore-daemonsets=true   # Tetapkan periode tenggang untuk mengosongkan pod menjadi 120 detik.

    Keluaran yang diharapkan:

    Ada node tertunda yang harus dikosongkan:
    <NODE_NAME>

Langkah 2: Uninstal driver NVIDIA saat ini dari node yang dipercepat GPU

  1. Masuk ke node dan jalankan perintah berikut untuk menghentikan layanan kubelet dan containerd pada node. Beberapa pod DaemonSet menggunakan sumber daya GPU, sehingga perintah kubectl drain tidak dapat mengosongkannya. Anda perlu menghentikan layanan kubelet dan containerd terlebih dahulu sebelum melanjutkan.

    sudo systemctl stop kubelet containerd
  2. Masuk ke node dan jalankan perintah fuser untuk memeriksa apakah ada proses yang menggunakan sumber daya GPU. Jika ada, jalankan perintah kill untuk menghentikan proses tersebut. Selama pembaruan driver NVIDIA, proses tidak diizinkan menggunakan sumber daya GPU.

    sudo fuser -v /dev/nvidia*

    Jika tidak ada keluaran yang ditampilkan, tidak ada proses yang menggunakan sumber daya GPU. Dalam contoh berikut, proses 3781 sedang menggunakan sumber daya GPU.

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

    Dalam hal ini, Anda perlu menghentikan proses tersebut.

    sudo kill 3781

    Jalankan perintah fuser lagi untuk memeriksa apakah ada proses yang masih menggunakan sumber daya GPU dan ulangi langkah sebelumnya hingga semua proses dihentikan.

  3. Masuk ke node dan uninstall driver NVIDIA.

    sudo nvidia-uninstall
  4. (Opsional) Uninstal nvidia fabric manager.

    Jalankan perintah berikut untuk memeriksa apakah nvidia fabric manager terinstal pada node:

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

    Jika tidak ada keluaran yang ditampilkan, nvidia fabric manager tidak terinstal. Jika terinstal, jalankan perintah berikut untuk menguninstalnya:

    yum remove nvidia-fabric-manager

Langkah 3: Instal versi baru driver NVIDIA pada node

  1. Unduh versi driver baru dari situs resmi NVIDIA ke node, lalu jalankan perintah berikut untuk menginstalnya. Dalam contoh ini, NVIDIA-Linux-x86_64-510.108.03.run diinstal.

    sudo bash NVIDIA-Linux-x86_64-510.108.03.run -a -s -q
  2. Jalankan perintah berikut untuk memeriksa apakah versi driver baru telah terinstal:

    sudo nvidia-smi

    Keluaran menunjukkan bahwa versi drivernya adalah 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. Konfigurasikan pengaturan berikut:

    sudo nvidia-smi -pm 1 || true                            # Aktifkan mode Persistensi.
    sudo nvidia-smi -acp 0 || true                           # Tetapkan persyaratan izin ke TIDAK TERBATAS.
    sudo nvidia-smi --auto-boost-default=0 || true           # Nonaktifkan mode dorongan otomatis. Nilai 0 menunjukkan bahwa mode dorongan otomatis dinonaktifkan.
    sudo nvidia-smi --auto-boost-permission=0 || true        # Izinkan pengguna selain administrator untuk mengontrol mode dorongan otomatis. Nilai 0 menunjukkan bahwa pengguna selain administrator diizinkan untuk mengontrol mode dorongan otomatis. Nilai 1 menunjukkan bahwa pengguna selain administrator tidak diizinkan untuk mengontrol mode dorongan otomatis.
    sudo nvidia-modprobe -u -c=0 -m || true                  # Muat modul kernel NVIDIA dengan file konfigurasi nomor file tertentu.

  4. (Opsional) Jika Anda ingin driver NVIDIA dimuat secara otomatis saat boot, pastikan file /etc/rc.d/rc.local berisi konfigurasi berikut:

    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. Jalankan perintah berikut untuk memeriksa apakah Anda perlu menginstal nvidia fabric manager pada node:

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

    Jika tidak ada keluaran yang dikembalikan, Anda tidak perlu menginstal nvidia fabric manager. Jika perlu, unduh nvidia fabric manager dari repositori YUM NVIDIA ke node. Pastikan versi nvidia fabric manager sama dengan versi driver NVIDIA baru.

    Jalankan perintah berikut untuk menginstal dan meluncurkan nvidia fabric manager:

    # Instal nvidia fabric manager.
    sudo yum localinstall nvidia-fabric-manager-510.108.03-1.x86_64.rpm 
    
    # Aktifkan nvidia fabric manager untuk mulai saat boot.
    systemctl enable nvidia-fabricmanager.service
        
    # Mulai nvidia fabric manager.
    systemctl start nvidia-fabricmanager.service
  6. Aktifkan layanan kubelet dan containerd.

    sudo systemctl restart containerd kubelet

Langkah 4: Hubungkan node ke kluster

Jalankan perintah berikut untuk menghubungkan node ke kluster: Ganti <NODE_NAME> dengan nama node.

sudo kubectl uncordon <NODE_NAME>