ACK menggunakan komponen ack-node-problem-detector (NPD) untuk memantau kesehatan resource GPU. Ketika node GPU mengalami anomali—seperti error XID atau SXID—NPD secara otomatis mendeteksi dan memagari kartu GPU yang terdampak. Hal ini memastikan GPU yang sehat tetap melayani beban kerja, meminimalkan dampak bisnis, serta meningkatkan keandalan kluster dan efisiensi operasional.
Prasyarat
Komponen ack-node-problem-detector (NPD) telah diinstal dengan versi 1.2.24 atau lebih baru.
Jika Anda menggunakan ack-nvidia-device-plugin versi 0.17.0 atau lebih baru bersama NPD versi 1.2.24 atau lebih baru, NPD secara otomatis memagari kartu GPU yang abnormal saat mendeteksi anomali dan mencabut pagar tersebut secara otomatis ketika GPU pulih.
Untuk melihat atau meningkatkan versi ack-nvidia-device-plugin, lihat Lihat versi NVIDIA Device Plugin.
ack-node-problem-detector (NPD) adalah komponen pemantauan anomali node kluster yang dikembangkan oleh ACK berdasarkan proyek open source node-problem-detector. Komponen ini mencakup serangkaian item pemeriksaan khusus GPU untuk meningkatkan deteksi anomali di lingkungan yang dipercepat GPU. Saat anomali terdeteksi, NPD menghasilkan Kubernetes Event atau Kubernetes Node Condition sesuai jenis anomali tersebut.
Catatan
Saat anomali GPU terdeteksi, komponen ack-node-problem-detector membuat file quarantined NVIDIA GPU sesuai kebijakan pemagaran default. Komponen ack-nvidia-device-plugin kemudian memagari kartu GPU yang terdampak berdasarkan file tersebut. Hal ini mencegah penjadwalan beban kerja baru ke GPU yang rusak, sehingga menghindari kegagalan tugas. GPU yang sehat tetap tersedia untuk penjadwalan. Namun, jika pemagaran menyisakan jumlah GPU yang tidak mencukupi pada node—misalnya hanya tersisa tujuh kartu untuk tugas yang memerlukan delapan GPU—tugas tersebut tidak dapat dijadwalkan, berpotensi menyebabkan sumber daya GPU menganggur. Pemagaran otomatis bukanlah perbaikan otomatis. Instans node tetap dikenai biaya meskipun GPU-nya telah dipagari. Anda tetap harus memperbaiki node secara manual. Konfigurasikan alert anomali GPU agar respons dapat dilakukan secara cepat.
Anda dapat menonaktifkan fitur pemagaran kartu GPU otomatis sesuai kebutuhan. Untuk petunjuknya, lihat Bagaimana cara menonaktifkan fitur pemagaran kartu GPU otomatis NPD?. Versi tertentu dari NVIDIA Device Plugin mendukung pemagaran GPU otomatis, tetapi metode untuk menonaktifkannya bervariasi. Untuk detailnya, lihat Bagaimana cara menonaktifkan fitur pemagaran GPU native NVIDIA Device Plugin?.
Driver GPU NVIDIA menulis error XID dan SXID ke
/var/log/messagesatau/var/log/syslogmenggunakan mekanisme event NVRM. NPD melacak apakah setiap XID dan SXID telah diproses. Jika Anda me-restart node setelah terjadi XID atau SXID, NPD tidak akan menghasilkan Event atau Node Condition untuk error tersebut—meskipun masalah mendasarnya masih ada, seperti XID 79 yang mengindikasikan perangkat GPU harus diganti. NPD menganggap XID tersebut telah terselesaikan setelah restart.NPD mendeteksi error NVIDIA XID dan SXID dengan memindai file
/var/log/messagesatau/var/log/syslogpada node. Jika log dmesg dialihkan ke file lain, NPD tidak dapat mendeteksi error tersebut.Mulai versi NPD 1.2.29, plugin deteksi anomali GPU dideploy secara terpisah sebagai DaemonSet bernama ack-accel-health-monitor.
Dalam beberapa kasus, anomali GPU pada sebuah node dapat mencegah kontainer GPU berjalan. Hal ini juga dapat menghalangi peluncuran kontainer deteksi anomali GPU, sehingga menghentikan proses deteksi.
Pod plugin deteksi GPU NPD memerlukan hak istimewa tinggi—seperti
privileged=true—untuk memeriksa perangkat dan komponen GPU. Untuk informasi lebih lanjut, lihat tabel berikut.Izin RBAC kluster
Izin kontainer
Node: get
Node/Status: update
Events: create
privileged: trueMount read-only host
/dev/kmsgMount read-only host
/usr/libMount read-only host
/etcMount read-only host
/usr/lib64Mount read-only host
/proc
Item pemeriksaan dan saran perbaikan
Setelah mengidentifikasi anomali GPU, rujuk ke NVIDIA XID Errors untuk panduan perbaikan. Anda juga dapat meninjau event O&M untuk instans node di Konsol produk cloud terkait—seperti ECS atau Lingjun—berdasarkan tipe instans. Atau, gunakan tool diagnosis mandiri untuk mengidentifikasi anomali perangkat keras pada node.
Saran perbaikan None berarti tidak diperlukan intervensi perangkat keras. Tinjau konfigurasi aplikasi Anda sebagai gantinya.
Nama item pemeriksaan | Apakah menghasilkan Node Condition? | Apakah event dihasilkan? | Deskripsi | Apakah kartu GPU dipagari secara default? | Saran perbaikan |
NvidiaXID13Error | Tidak | Ya
|
| Tidak | None |
NvidiaXID31Error | Tidak | Ya
|
| Tidak | None |
NvidiaXID43Error | Tidak | Ya
|
| Tidak | None |
NvidiaXID44Error | Ya
| Ya
|
| Ya (NPD <= 1.2.28) | Restart node. |
NvidiaXID45Error | Tidak | Ya
|
| Tidak | None |
NvidiaXID48Error | Ya
| Ya
|
| Ya | Restart node. |
NvidiaXID61Error | Ya
| Ya
|
| Ya (NPD <= 1.2.28) | Mulai ulang node. |
NvidiaXID62Error | Ya
| Ya
|
| Ya | Restart node. |
NvidiaXID63Error | Tidak | Ya
|
| Tidak | None |
NvidiaXID64Error | Tidak | Ya
|
| Tidak | None |
NvidiaXID69Error | Ya
| Ya
|
| Ya (NPD <= 1.2.28) | Restart node. |
NvidiaXID74Error | Ya
| Ya
|
| Ya | Perbaikan perangkat keras. |
NvidiaXID79Error | Ya
| Ya
|
| Ya | Perbaikan perangkat keras. |
NvidiaXID94Error | Tidak | Ya
|
| Tidak | None |
NvidiaXID95Error | Ya
| Ya
|
| Ya | Restart node. |
NvidiaXID109Error | Ya
| Ya
|
| Ya (NPD <= 1.2.28) | None |
NvidiaXID119Error | Ya
| Ya
|
| Ya | Mulai ulang node. |
NvidiaXID120Error | Ya
| Ya
|
| Ya | Restart node. |
NvidiaXID140Error | Ya
| Ya
|
| Ya | Mulai ulang node. |
NvidiaXID[code]Error | Tidak | Ya (hanya menghasilkan tiga event)
| XID lain yang tidak tercantum dalam tabel ini. | Tidak | |
NvidiaSXID[code]Error | Tidak | Ya (hanya menghasilkan tiga event)
|
| Tidak | None |
NvidiaEccModeNotEnabled | Ya
| Ya (menghasilkan event terus-menerus hingga masalah diperbaiki)
| ECC Mode tidak diaktifkan pada node. | Tidak | Aktifkan ECC Mode dan restart node. |
NvidiaPendingRetiredPages | Ya
| Ya (menghasilkan event terus-menerus hingga masalah diperbaiki)
|
| Ya | Restart node. |
NvidiaRemappingRowsFailed | Ya
| Ya (menghasilkan event terus-menerus hingga masalah diperbaiki)
| GPU gagal melakukan remapping baris. | Ya | Perbaikan perangkat keras. |
NvidiaRemappingRowsRequireReset | Ya
| Ya (menghasilkan event terus-menerus hingga masalah diperbaiki)
| GPU mengalami kesalahan yang tidak dapat dikoreksi dan tidak terkandung, yang memerlukan reset GPU untuk pemulihan. Reset GPU sesegera mungkin untuk mengembalikan operasi. | Ya (NPD <= 1.2.28) | Restart node. |
NvidiaDeviceLost | Ya
| Ya (menghasilkan event terus-menerus hingga masalah diperbaiki)
|
| Ya | Perbaikan perangkat keras. |
NvidiaInfoRomCorrupted | Ya
| Ya (menghasilkan event terus-menerus hingga masalah diperbaiki)
|
| Ya | Perbaikan perangkat keras. |
NvidiaPowerCableErr | Ya
| Ya (menghasilkan event terus-menerus hingga masalah diperbaiki)
|
| Ya | Perbaikan perangkat keras. |
NvidiaPersistencedOffline | Ya
| Ya
| Layanan Nvidia Persistenced tidak berjalan. | Tidak | Restart layanan nvidia-persistenced. |
NvidiaFabricManagerOffline | Ya
| Ya
| Layanan Nvidia Fabric Manager tidak berjalan. | Tidak | Restart layanan Fabric Manager. |
NvidiaTemperatureHigh | Ya
| Ya
| Suhu GPU melebihi 100 derajat Celsius. | Tidak | None |
NvidiaNVLinkStateErr | Ya
| Ya
| Status Nvidia NVLink mati. | Tidak | Restart mesin. |
Event terkait lainnya
Dalam skenario GPU eksklusif, NPD secara otomatis memagari kartu GPU berdasarkan item pemeriksaan anomali. Setelah pemagaran, pod aplikasi GPU baru tidak ditugaskan ke kartu yang terdampak. Untuk memverifikasi efek pemagaran, periksa jumlah resource nvidia.com/gpu yang dilaporkan pada Node Kubernetes. Setelah kartu GPU pulih, ACK secara otomatis mencabut pagar tersebut.
Penyebab | Konten event | Deskripsi |
Pemagaran GPU | Ya
| Kartu GPU dipagari karena anomali yang terdeteksi. |
Menonaktifkan pemagaran kartu GPU | Ya
| Kartu GPU telah pulih dari anomali, dan pemagaran dicabut. |
FAQ
Bagaimana cara menonaktifkan fitur pemagaran kartu GPU otomatis NPD?
Latar Belakang
Ketika GPU pada sebuah node menjadi abnormal, ACK secara otomatis memagarinya melalui NPD untuk mencegah penjadwalan tugas ke GPU tersebut. Namun, pemagaran otomatis tidak melakukan perbaikan otomatis. Instans node tetap dikenai biaya meskipun GPU-nya telah dipagari. Anda tetap harus me-restart atau memperbaiki node secara manual. Konfigurasikan alert anomali GPU agar penanganan dapat dilakukan secara cepat.
Setelah pemagaran, jika GPU yang tersisa pada node tidak mencukupi untuk suatu tugas—misalnya hanya tersisa tujuh kartu untuk tugas yang memerlukan delapan GPU—tugas tersebut tidak dapat dijadwalkan. Hal ini dapat menyebabkan sumber daya GPU menganggur.
Setelah status GPU kembali normal, pagar tersebut secara otomatis dicabut.
Untuk menonaktifkan pemagaran otomatis agar GPU yang abnormal tetap melaporkan resource-nya dan tetap dapat dijadwalkan, ikuti solusi di bawah ini.
Solusi
Mulai versi ack-node-problem-detector 1.2.30, Anda dapat mengontrol pemagaran GPU otomatis menggunakan item konfigurasi generateNvidiaGpuIsolationFile di Manajemen Komponen.
Nonaktifkan fitur pemagaran kartu GPU otomatis NPD.
(Direkomendasikan) Metode 1: Ubah konfigurasi komponen di Manajemen Komponen.
Pada tab Logs and Monitoring, temukan komponen ack-node-problem-detector dan lakukan tindakan yang sesuai berdasarkan versinya.
Versi 1.2.24 hingga 1.2.29: Periksa ketersediaan peningkatan. Jika versi 1.2.30 atau lebih baru tersedia, klik Upgrade.
Versi 1.2.30 sedang dalam rilis grayscale. Jika Anda tidak melihat versi 1.2.30 atau lebih baru, kirim tiket untuk meminta akses.
Versi 1.2.30 dan lebih baru: Klik Configuration.
Pada halaman upgrade atau konfigurasi komponen, atur
generateNvidiaGpuIsolationFile(Generate NVIDIA GPU quarantined file) kefalse, lalu klik OK.CatatanJika sebelumnya Anda menggunakan Metode 2 untuk menonaktifkan sementara pemagaran GPU otomatis, pengaturan ini akan dipertahankan selama upgrade NPD. Untuk mengaktifkan kembali fitur pemagaran kartu GPU otomatis, atur
generateNvidiaGpuIsolationFileketrue.
Metode 2: Ubah konfigurasi secara manual menggunakan YAML.
CatatanMetode berikut merupakan solusi sementara. Konfigurasi akan hilang jika Anda meng-upgrade NPD ke versi di bawah 1.2.30. Anda harus mengonfigurasi ulang setelah upgrade. Kami menyarankan untuk meng-upgrade ke versi 1.2.30 atau lebih baru agar konfigurasi ini bersifat persisten.
Edit YAML komponen NPD.
kubectl edit ds -n kube-system ack-node-problem-detector-daemonsetAtur konfigurasi
EnabledIsolateGPUkefalse.Sebelum:
--EnabledIsolateGPU=trueSesudah:
--EnabledIsolateGPU=false
Nonaktifkan pemagaran kartu GPU otomatis yang sudah ada.
Untuk menonaktifkan pemagaran yang sudah ada pada kartu GPU, login ke node tempat terjadinya error XID dan hapus file
/etc/nvidia-device-plugin/unhealthyDevices.json. Untuk mencegah kartu tersebut dipagari kembali, nonaktifkan fitur pemagaran otomatis seperti dijelaskan pada langkah sebelumnya.