Topik ini menjelaskan cara menginstal, mengonfigurasi, dan menggunakan komponen Deteksi Anomali GPU ACK. Komponen ini membantu Anda memantau kesehatan sumber daya GPU di lingkungan ACK guna meningkatkan keandalan dan efisiensi kluster.
Prasyarat
ack-node-problem-detector (NPD) versi 1.2.24 atau yang lebih baru telah diinstal.
Jika Anda menggunakan ack-nvidia-device-plugin 0.17.0 atau yang lebih baru bersama NPD versi 1.2.24 atau yang lebih baru, NPD secara otomatis memagari kartu GPU saat mendeteksi anomali. Pemagaran tersebut akan dinonaktifkan secara otomatis ketika NPD mendeteksi bahwa GPU telah pulih.
Untuk melihat dan memperbarui versi komponen ack-nvidia-device-plugin, lihat Lihat versi NVIDIA Device Plugin.
ack-node-problem-detector (NPD) adalah komponen yang memantau event anomali pada node kluster. Dikembangkan oleh ACK, NPD merupakan peningkatan dari proyek open source node-problem-detector. Komponen ini mencakup berbagai item pemeriksaan untuk meningkatkan deteksi anomali dalam skenario GPU. Saat anomali terdeteksi, komponen ini menghasilkan Kubernetes Event atau Kubernetes Node Condition sesuai jenis anomali tersebut.
Catatan
NVIDIA XIDs dan SXIDs ditulis oleh driver GPU ke
/var/log/messagesatau/var/log/syslogmelalui mekanisme event NVRM. NPD mencatat apakah setiap XID dan SXID telah diproses. Jika Anda melakukan restart node setelah XID atau SXID terdeteksi, NPD tidak akan menghasilkan Event atau Node Condition untuk XID atau SXID tersebut—meskipun masalah mendasar belum terselesaikan (misalnya, XID 79 menunjukkan bahwa perangkat GPU harus diganti). NPD menganggap XID tersebut telah terselesaikan setelah restart.NPD mendeteksi NVIDIA XIDs dan SXIDs dengan memeriksa file
/var/log/messagesatau/var/log/syslogpada node. Jika log dmesg dialihkan ke file lain, NPD tidak dapat mendeteksi NVIDIA XIDs dan SXIDs.Ketika GPU pada suatu node mengalami anomali, ACK secara otomatis memagari GPU yang bermasalah untuk mencegah pekerjaan baru dijadwalkan ke perangkat rusak tersebut. Pemagaran otomatis tidak mengembalikan GPU ke kondisi normal. Anda tetap perlu melakukan restart node secara manual atau melakukan maintenance perangkat keras sesuai jenis anomali tertentu. Mengaktifkan pemagaran otomatis dapat menyebabkan perilaku tak terduga; misalnya, pekerjaan 8-kartu mungkin gagal dijadwalkan jika salah satu kartu mengalami kerusakan. Anda dapat menonaktifkan pemagaran otomatis GPU dengan cara berikut:
Tingkatkan komponen NPD: Mulai dari NPD 1.2.29, fitur pemagaran otomatis untuk perangkat GPU yang rusak dinonaktifkan secara default dalam plugin deteksi GPU NPD.
Nonaktifkan pemagaran otomatis secara manual: Untuk langkah-langkah detailnya, lihat Bagaimana cara menonaktifkan pemagaran otomatis untuk kartu GPU yang rusak di NPD?.
Komponen NVIDIA Device Plugin mendukung pemagaran otomatis untuk kartu GPU yang rusak pada versi tertentu, tetapi metode untuk menonaktifkan fitur ini berbeda. Untuk informasi selengkapnya, lihat Bagaimana cara menonaktifkan fitur pemagaran GPU native dari NVIDIA Device Plugin?.
Mulai dari NPD 1.2.29, plugin deteksi anomali GPU di NPD dideploy secara terpisah sebagai DaemonSet bernama ack-accel-health-monitor.
Dalam beberapa kasus, anomali GPU pada suatu node dapat mencegah pembuatan kontainer GPU pada node tersebut. Kontainer deteksi anomali GPU mungkin terpengaruh dan gagal dimulai, sehingga menghambat proses deteksi.
Pod plugin deteksi GPU NPD perlu memeriksa status perangkat dan komponen GPU, yang memerlukan izin tinggi seperti
privileged=true. Lihat tabel berikut untuk detailnya.Izin RBAC kluster
Izin kontainer
Node: get
Node/Status: update
Events: create
privileged: trueMount read-only untuk
/dev/kmsghostMount read-only untuk
/usr/libhostMount read-only untuk
/etchostMount read-only untuk
/usr/lib64hostMount read-only untuk
/prochost
Item pemeriksaan dan rekomendasi perbaikan
Saran perbaikan adalah None, tidak diperlukan operasi perangkat keras. Sebagai gantinya, periksa konfigurasi aplikasi Anda.
Nama item pemeriksaan | Menghasilkan Node Condition | Menghasilkan Event | Deskripsi | Mengisolasi kartu GPU secara default | Saran perbaikan |
NvidiaXID13Error | Tidak | Ya
|
| Tidak | Tidak ada |
NvidiaXID31Error | Tidak | Ya
|
| Tidak | Tidak ada |
NvidiaXID43Error | Tidak | Ya
|
| Tidak | Tidak ada |
NvidiaXID45Error | Tidak | Ya
|
| Tidak | Tidak ada |
NvidiaXID48Error | Ya
| Ya
|
| Ya | Restart node. |
NvidiaXID63Error | Tidak | Ya
|
| Tidak | Tidak ada |
NvidiaXID64Error | Tidak | Ya
|
| Tidak | Tidak ada |
NvidiaXID74Error | Ya
| Ya
|
| Ya | Hardware maintenance. |
NvidiaXID79Error | Ya
| Ya
|
| Ya | Hardware maintenance. |
NvidiaXID94Error | Tidak | Ya
|
| Tidak | Tidak ada |
NvidiaXID95Error | Ya
| Ya
|
| Ya | Restart node. |
NvidiaXID119Error | Ya
| Ya
|
| Ya | Restart node. |
NvidiaXID120Error | Ya
| Ya
|
| Ya | Restart node. |
NvidiaXID140Error | Ya
| Ya
|
| Ya | Restart node. |
NvidiaEccModeNotEnabled | Ya
| Yes (generates events continuously until the issue is resolved)
| ECC Mode is not enabled on the node. | Tidak | Enable ECC Mode and restart the node. |
NvidiaPendingRetiredPages | Ya
| Yes (generates events continuously until the issue is resolved)
|
| Ya | Restart node. |
NvidiaRemappingRowsFailed | Ya
| Yes (generates events continuously until the issue is resolved)
| The GPU has a row remapping failure. | Ya | Hardware maintenance. |
NvidiaRemappingRowsRequireReset | Ya
| Yes (generates events continuously until the issue is resolved)
| The GPU has encountered an uncorrectable, uncontained error that requires a GPU reset to recover. The GPU should be reset as soon as possible to restore operation. | Ya | Restart node. |
NvidiaDeviceLost | Ya
| Yes (generates events continuously until the issue is resolved)
|
| Ya | Hardware maintenance. |
NvidiaInfoRomCorrupted | Ya
| Yes (generates events continuously until the issue is resolved)
|
| Ya | Hardware maintenance. |
NvidiaPowerCableErr | Ya
| Yes (generates events continuously until the issue is resolved)
|
| Ya | Hardware maintenance. |
NvidiaXID44Error | Ya
| Ya
|
| Ya | Restart node. |
NvidiaXID61Error | Ya
| Ya
|
| Ya | Restart node. |
NvidiaXID62Error | Ya
| Ya
|
| Ya | Restart node. |
NvidiaXID69Error | Ya
| Ya
|
| Ya | Restart node. |
NvidiaXID[code]Error | Tidak | Yes (generates only three events)
| Other XIDs not listed in this table. | Tidak | |
NvidiaSXID[code]Error | Tidak | Yes (generates only three events)
|
| Tidak | Tidak ada |
Event terkait lainnya
Dalam skenario GPU eksklusif, NPD secara default memagari kartu GPU berdasarkan item pemeriksaan anomali. Setelah GPU dipagari, pod aplikasi GPU baru tidak akan ditugaskan ke GPU tersebut. Anda dapat memeriksa efek pemagaran dengan melihat jumlah sumber daya nvidia.com/gpu yang dilaporkan pada Node Kubernetes. Setelah kartu GPU pulih, ACK secara otomatis menonaktifkan pemagaran.
Pemicu | Konten event | Deskripsi |
Pemagaran kartu GPU | Ya
| The GPU card is fenced due to a detected anomaly. |
Deaktivasi pemagaran kartu GPU | Ya
| The GPU card has recovered from the anomaly, and the fencing is deactivated. |
FAQ
Bagaimana cara menonaktifkan pemagaran otomatis untuk kartu GPU abnormal di NPD?
Metode berikut untuk menonaktifkan fitur pemagaran GPU di NPD merupakan solusi sementara. Konfigurasi ini akan hilang saat Anda melakukan upgrade NPD. Anda harus menerapkan kembali konfigurasi ini dengan mengikuti langkah-langkah berikut setelah upgrade.
Latar belakang
Ketika GPU pada suatu node mengalami anomali, ACK secara otomatis memagari GPU yang rusak melalui NPD. Hal ini mencegah pekerjaan dijadwalkan ke GPU yang rusak. Namun, pemagaran otomatis tidak melakukan perbaikan otomatis. Anda tetap perlu melakukan restart atau memperbaiki node secara manual. Kami menyarankan Anda mengonfigurasi alert anomali GPU untuk memastikan penanganan yang cepat.
Setelah GPU dipagari, jika GPU yang tersisa pada node tidak mencukupi untuk kebutuhan pekerjaan (misalnya, pekerjaan 8-kartu saat hanya tersedia 7 kartu), pekerjaan tersebut akan gagal dijadwalkan. Hal ini dapat menyebabkan sumber daya GPU menganggur.
Setelah status GPU kembali normal, pemagaran pada perangkat GPU secara otomatis dinonaktifkan.
Untuk menonaktifkan pemagaran otomatis agar GPU yang rusak tetap melaporkan sumber daya dan tidak dipagari, lihat solusi berikut.
Solusi
Nonaktifkan fitur pemagaran otomatis GPU di NPD.
Untuk versi komponen 1.2.24 dan yang lebih baru, tetapi sebelum 1.2.28
Edit file YAML komponen NPD.
kubectl edit ds -n kube-system ack-node-problem-detector-daemonsetUbah konfigurasi
EnabledIsolateGPUmenjadifalse.Sebelum:
--EnabledIsolateGPU=trueSetelah:
--EnabledIsolateGPU=false
Untuk versi komponen 1.2.28 dan yang lebih baru
Edit file YAML komponen NPD.
kubectl edit ds ack-accel-health-monitor -n kube-systemUbah konfigurasi
GenerateNvidiaGpuIsolationFilemenjadifalse.Sebelum:
--GenerateNvidiaGpuIsolationFile=trueSetelah:
--GenerateNvidiaGpuIsolationFile=false
Nonaktifkan pemagaran GPU yang sudah ada.
Untuk menghapus pemagaran yang sudah ada dari GPU, login ke node tempat terjadinya kesalahan XID dan hapus file
/etc/nvidia-device-plugin/unhealthyDevices.json. Hal ini akan menonaktifkan pemagaran GPU pada node tersebut. Untuk mencegah GPU dipagari kembali, ikuti langkah-langkah pada bagian sebelumnya untuk menonaktifkan fitur pemagaran otomatis.