Kluster ACK menyertakan driver GPU NVIDIA default. Jika aplikasi Anda memerlukan versi tertentu atau versi yang lebih baru, Anda dapat menginstal driver kustom. Topik ini menjelaskan cara menggunakan label kelompok node dan URL Object Storage Service (OSS) untuk menginstal driver NVIDIA kustom pada node GPU Anda.
Catatan penggunaan
Jika Anda menyesuaikan versi driver GPU untuk kelompok node Anda dengan menentukan nomor versi atau dengan menggunakan URL OSS, OS dan driver mungkin menjadi tidak kompatibel setelah citra OS diperbarui. Lihat Versi driver NVIDIA yang didukung di ACK untuk memilih driver yang kompatibel.
Jika Anda mengunggah driver GPU sendiri ke OSS, Anda mungkin mengalami ketidakcocokan dengan citra OS, tipe instans ECS, atau runtime kontainer, yang dapat menyebabkan pembuatan node gagal. ACK tidak menjamin bahwa node dapat ditambahkan secara berhasil dengan metode ini. Anda bertanggung jawab untuk memverifikasi konfigurasi tersebut.
Langkah 1: Unduh driver target
Jika daftar versi driver NVIDIA yang didukung oleh ACK tidak mencakup versi yang Anda butuhkan, unduh driver tersebut dari situs web resmi NVIDIA. Topik ini menggunakan versi 550.90.07 sebagai contoh. Unduh file driver NVIDIA-Linux-x86_64-550.90.07.run ke mesin lokal Anda.
Langkah 2: Unduh NVIDIA Fabric Manager
Unduh NVIDIA Fabric Manager dari repositori NVIDIA YUM resmi. Pastikan versi NVIDIA Fabric Manager sesuai dengan versi driver.
wget https://developer.download.nvidia.cn/compute/cuda/repos/rhel7/x86_64/nvidia-fabric-manager-550.90.07-1.x86_64.rpmLangkah 3: Buat bucket OSS
Masuk ke Konsol Object Storage Service (OSS) dan buat bucket OSS. Untuk informasi selengkapnya, lihat Buat bucket.
Buat bucket di wilayah yang sama dengan kluster ACK Anda agar node ACK dapat menarik driver dari bucket melalui jaringan internal saat menginstal driver GPU.
Langkah 4: Unggah file ke bucket OSS
Masuk ke Konsol OSS dan unggah file
NVIDIA-Linux-x86_64-550.90.07.rundannvidia-fabric-manager-550.90.07-1.x86_64.rpmke direktori root bucket.PentingPastikan Anda mengunggah file ke direktori root bucket, bukan subdirektori.
Pada halaman bucket, di panel navigasi sebelah kiri, klik . Pada kolom Actions untuk file yang diunggah, klik Details.
Pada panel Details, matikan sakelar Use HTTPS.
PentingACK menarik file driver menggunakan URL HTTP. Namun, OSS secara default menggunakan HTTPS. Oleh karena itu, Anda harus mematikan sakelar Use HTTPS.
Pada halaman detail bucket, klik Overview di panel navigasi sebelah kiri. Temukan dan salin titik akhir internal dari bagian bawah halaman.
PentingMenarik file driver dari titik akhir eksternal lambat dan dapat menyebabkan pembuatan node GPU gagal. Gunakan titik akhir internal (yang mengandung
-internal) atau nama domain yang dipercepat (yang mengandungoss-accelerate).Jika pengunduhan file gagal, lihat Kontrol akses untuk menyesuaikan kebijakan kontrol akses bucket.
Langkah 5: Konfigurasikan label kelompok node
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik .
Klik Create Node Pool di pojok kiri atas, lalu tambahkan node GPU. Untuk informasi selengkapnya mengenai parameter, lihat Buat dan kelola kelompok node. Parameter berikut merupakan kunci dalam konfigurasi ini.
Pada bagian Node Labels, klik ikon
untuk menambahkan label berikut. Ganti nilai contoh dengan nilai aktual Anda.Key
Value
ack.aliyun.com/nvidia-driver-oss-endpointTitik akhir internal bucket OSS dari Langkah 4.
my-nvidia-driver.oss-cn-beijing-internal.aliyuncs.comack.aliyun.com/nvidia-driver-runfileNama file driver NVIDIA dari Langkah 1.
NVIDIA-Linux-x86_64-550.90.07.runack.aliyun.com/nvidia-fabricmanager-rpmNama file NVIDIA Fabric Manager dari Langkah 2.
nvidia-fabric-manager-550.90.07-1.x86_64.rpm
Langkah 6: Verifikasi instalasi driver
Jalankan perintah berikut untuk melihat Pod dengan label
component: nvidia-device-plugin.kubectl get po -n kube-system -l component=nvidia-device-plugin -o wideOutput yang diharapkan:
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>Output tersebut menunjukkan bahwa nama Pod untuk node yang baru ditambahkan pada kolom NODE adalah
nvidia-device-plugin-cn-beijing.192.168.1.128.Jalankan perintah berikut untuk memverifikasi bahwa versi driver yang benar telah diinstal pada node.
kubectl exec -ti nvidia-device-plugin-cn-beijing.192.168.1.128 -n kube-system -- nvidia-smiOutput yang diharapkan:
+-----------------------------------------------------------------------------------------+ | 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 | +-----------------------------------------------------------------------------------------+Output tersebut menunjukkan bahwa versi driver adalah 550.90.07, yang mengonfirmasi bahwa driver NVIDIA kustom berhasil diinstal.
Metode lain
Saat menggunakan operasi API CreateClusterNodePool untuk membuat kelompok node, Anda dapat menetapkan URL OSS untuk driver kustom dalam konfigurasi kelompok node. Contoh berikut menunjukkan konfigurasi yang diperlukan:
{
// Bagian lain dihilangkan.
......
"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"
}
],
// Bagian lain dihilangkan.
......
}