ACK menggunakan komponen ack-node-problem-detector (ACK NPD) untuk memantau kesehatan GPU. Ketika node GPU mengalami pengecualian, seperti error XID atau SXID, ACK NPD secara otomatis mendeteksi GPU yang bermasalah dan bekerja sama dengan komponen ACK NVIDIA Device Plugin untuk memagarinya. Proses ini menjaga GPU yang sehat tetap tersedia untuk melayani beban kerja, meminimalkan dampak terhadap bisnis, serta meningkatkan keandalan dan efisiensi kluster.
ack-node-problem-detector (ACK NPD) adalah komponen pemantauan untuk anomali node kluster yang diadaptasi dan ditingkatkan oleh ACK dari proyek open-source node-problem-detector. Komponen ini menyediakan serangkaian pemeriksaan lengkap untuk anomali spesifik GPU guna meningkatkan deteksi kesalahan pada beban kerja GPU. Saat mendeteksi suatu anomali, komponen ini menghasilkan Event Kubernetes dan Kondisi Node berdasarkan jenis anomali tersebut.
Catatan penggunaan
Jika kartu GPU yang bermasalah diisolasi, tugas mungkin gagal dijadwalkan jika GPU yang tersisa pada node tidak dapat memenuhi persyaratan tugas. Misalnya, tugas yang memerlukan delapan kartu GPU tidak dapat dijalankan jika hanya tujuh yang tersedia. Hal ini dapat menyebabkan sumber daya GPU menganggur. Isolasi GPU otomatis bukanlah perbaikan otomatis, dan penagihan tetap berlaku untuk instans node tersebut. Anda tetap harus memperbaiki node tersebut. Kami merekomendasikan untuk mengonfigurasi peringatan pengecualian GPU guna memastikan remediasi tepat waktu. Isolasi akan dicabut secara otomatis begitu status GPU kembali normal.
Anda juga dapat mengaktifkan atau menonaktifkan isolasi GPU otomatis sesuai kebutuhan bisnis Anda. Versi tertentu komponen NVIDIA Device Plugin mendukung isolasi otomatis untuk kartu GPU yang bermasalah, namun prosedur untuk menonaktifkan kemampuan ini bervariasi. Untuk petunjuk lengkap, lihat Cara menonaktifkan kemampuan isolasi GPU native dari NVIDIA Device Plugin.
XID dan SXID dari NVIDIA ditulis oleh driver GPU ke
/var/log/messagesatau/var/log/syslogmelalui mekanisme event NVRM. ACK NPD melacak apakah setiap XID dan SXID telah diproses. Jika node direstart setelah XID atau SXID terdeteksi, ACK NPD menganggap masalah tersebut telah terselesaikan dan tidak akan menghasilkan Event atau Kondisi Node untuk itu, meskipun akar permasalahan belum diperbaiki. Misalnya, error XID 79 memerlukan penggantian perangkat GPU untuk diselesaikan, tetapi ACK NPD tetap akan menandai error tersebut sebagai terselesaikan setelah node direstart.ACK NPD mendeteksi NVIDIA XID atau NVIDIA SXID dengan memeriksa file
/var/log/messagesatau/var/log/syslogpada node. Jika log dmesg dialihkan ke file lain, ACK NPD tidak dapat mendeteksi NVIDIA XID dan SXID.Sejak versi ACK NPD 1.2.29, plug-in deteksi kesalahan GPU ACK NPD diterapkan sebagai DaemonSet terpisah bernama ack-accel-health-monitor.
Dalam beberapa kasus, kesalahan GPU pada suatu node dapat mencegah pembuatan kontainer GPU baru. Hal ini dapat menyebabkan kontainer deteksi kesalahan GPU itu sendiri gagal dimulai, sehingga proses deteksi tidak berjalan dengan benar.
Pod plug-in deteksi GPU ACK NPD memerlukan hak istimewa tinggi, seperti
privileged=true, untuk mendeteksi status perangkat GPU dan komponen GPU. Untuk detailnya, lihat tabel di bawah.Izin RBAC kluster
Izin kontainer
Node: get
Node/Status: update
Events: create
privileged: trueMemasang
/dev/kmsghost sebagai read-only.Memasang
/usr/libhost sebagai read-onlyMemasang direktori
/etchost sebagai read-only.Pemasangan read-only untuk
/usr/lib64hostMemasang
/prochost sebagai read-only
Isolasi GPU otomatis
Mulai dari versi 1.2.35 komponen ACK Node Problem Detector (ACK NPD) dan versi 0.7.0 komponen ACK NVIDIA Device Plugin, mekanisme isolasi GPU otomatis telah berubah dari pemicu default menjadi pemicu berbasis konfigurasi. Untuk informasi lebih lanjut, lihat [Perubahan Produk] Pengumuman Perubahan Fitur Isolasi GPU Otomatis.
Mekanisme lama (pemicu default)
Saat komponen ACK Node Problem Detector mendeteksi kesalahan GPU, ia menghasilkan file isolasi GPU. Komponen ACK NVIDIA Device Plugin kemudian mengisolasi semua perangkat GPU yang tercantum dalam file tersebut. Sistem secara otomatis mengisolasi GPU setelah mendeteksi kesalahan tertentu. Anda dapat mengaktifkan atau menonaktifkan fitur ini dengan mengonfigurasi apakah akan menghasilkan file isolasi GPU.
Mekanisme baru (pemicu berbasis konfigurasi)
Saat komponen ACK Node Problem Detector mendeteksi kesalahan GPU, ia menghasilkan laporan deteksi kesalahan. Komponen ACK NVIDIA Device Plugin menentukan apakah akan mengisolasi GPU berdasarkan laporan tersebut dan item pemeriksaan NPD yang Anda konfigurasikan sebagai pemicu isolasi. Secara default, tidak ada item pemicu yang dikonfigurasi untuk komponen ACK NVIDIA Device Plugin, sehingga isolasi GPU otomatis dinonaktifkan secara default. Anda dapat mengonfigurasi item pemeriksaan ini untuk menentukan kesalahan mana yang memicu isolasi GPU otomatis.
Untuk penerapan masing-masing mekanisme, lihat Perilaku isolasi GPU otomatis.
Untuk kompatibilitas mundur, versi baru komponen ACK NPD akan terus menghasilkan file isolasi GPU dalam format lama. Namun, versi baru komponen ACK NVIDIA Device Plugin tidak lagi membaca file ini. Perilaku isolasi kini ditentukan semata-mata oleh konfigurasinya sendiri.
Perilaku isolasi GPU otomatis
Mekanisme baru hanya berlaku untuk kluster ACK yang menjalankan Kubernetes 1.32 atau lebih baru.
Untuk kluster yang menjalankan versi Kubernetes sebelum 1.32, isolasi GPU otomatis masih menggunakan mekanisme sebelumnya.
Tabel berikut merangkum perilaku isolasi GPU otomatis untuk berbagai versi komponen:
Versi ACK NPD | Versi ACK NVIDIA Device Plugin | Perilaku isolasi GPU otomatis | Aksi |
Versi ACK NPD < 1.2.24 | N/A | Deteksi anomali GPU tidak didukung. | N/A |
Versi ACK NPD ≥ 1.2.24 | Versi ACK NVIDIA Device Plugin < 0.7.0 | Isolasi mengikuti mekanisme lama. | Ikuti prosedur lama. |
1.2.24 ≤ Versi ACK NPD < 1.2.35 | Versi ACK NVIDIA Device Plugin ≥ 0.7.0 | Isolasi GPU otomatis dimatikan, tetapi fitur lain berfungsi sebagaimana mestinya. Versi ACK NPD sebelumnya tidak menghasilkan laporan deteksi anomali. Akibatnya, ACK NVIDIA Device Plugin versi baru tidak dapat mengidentifikasi GPU yang bermasalah dan tidak melakukan isolasi otomatis. | N/A Upgrade ACK NPD ke versi terbaru untuk menggunakan mekanisme baru. |
Versi ACK NPD ≥ 1.2.35 Versi ini sedang dalam rilis canary. Kirim tiket untuk akses daftar putih. | Versi ACK NVIDIA Device Plugin ≥ 0.7.0 Versi ini sedang dalam rilis canary. Kirim tiket untuk akses daftar putih. | Isolasi mengikuti mekanisme baru. | Ikuti prosedur baru. |
Untuk petunjuk cara memeriksa dan meningkatkan komponen ACK NPD dan ACK NVIDIA Device Plugin, lihat Periksa atau upgrade versi ACK NPD dan Periksa atau upgrade versi NVIDIA Device Plugin.
Mengaktifkan atau menonaktifkan isolasi GPU otomatis
Jika Anda menonaktifkan isolasi GPU otomatis atau fitur tersebut tidak berfungsi, hanya isolasi otomatis GPU yang terpengaruh. Saat ACK NPD mendeteksi pengecualian GPU, ia tetap memicu Kondisi Node, Event Kubernetes, dan alarm berdasarkan item pemeriksaan ACK NPD, tetapi tidak secara otomatis mengisolasi GPU yang bermasalah.
Metode baru
Saat diaktifkan, GPU yang bermasalah akan secara otomatis diisolasi jika memicu item pemeriksaan ACK NPD yang dikonfigurasi. Isolasi otomatis bukanlah perbaikan otomatis. Instans node dengan GPU yang diisolasi tetap dikenai biaya. Anda tetap harus memperbaiki node tersebut. Kami merekomendasikan untuk mengonfigurasi alarm pengecualian GPU agar penanganan cepat dilakukan. Jika tidak ada item pemeriksaan yang dipilih, isolasi otomatis tidak akan dipicu.
Masuk ke ACK console. Di panel navigasi kiri, klik Clusters.
Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Add-ons.
Di halaman manajemen komponen, cari komponen ack-nvidia-device-plugin dan klik Configuration pada kartunya.
Pada kotak dialog yang muncul, aktifkan atau nonaktifkan isolasi GPU otomatis.
Aktifkan: Centang kotak centang Enable GPU Automatic Isolation, lalu pilih NPD check items to trigger GPU automatic isolation.
Nonaktifkan: Hapus centang pada kotak centang Enable GPU Automatic Isolation, atau jangan pilih item pemeriksaan apa pun.
Metode lama
Saat pengecualian GPU terdeteksi, komponen ack-node-problem-detector menghasilkan file isolasi GPU NVIDIA berdasarkan kebijakan isolasi default. Komponen ack-nvidia-device-plugin kemudian secara otomatis mengisolasi GPU yang bermasalah berdasarkan isi file tersebut. Hal ini mencegah beban kerja baru dijadwalkan ke GPU yang bermasalah, sementara GPU sehat lainnya pada node tetap tersedia untuk melayani beban kerja. Namun, isolasi otomatis tidak melakukan perbaikan otomatis. Instans node dengan GPU yang diisolasi tetap dikenai biaya. Anda tetap harus me-restart atau memperbaiki node secara manual. Kami merekomendasikan agar Anda mengonfigurasi alarm pengecualian GPU agar penanganan cepat dilakukan.
Untuk ack-node-problem-detector v1.2.30 atau lebih baru, gunakan pengaturan
generateNvidiaGpuIsolationFiledi manajemen komponen untuk mengontrol isolasi otomatis GPU yang bermasalah.Setelah Anda meningkatkan komponen, lihat Perilaku isolasi GPU otomatis untuk menentukan cara mengaktifkan atau menonaktifkan isolasi GPU otomatis untuk versi komponen baru.
Aktifkan: Dalam mekanisme lama, isolasi GPU otomatis diaktifkan secara default. Anda dapat mengaktifkannya kembali dengan mengatur
generateNvidiaGpuIsolationFile(untuk v1.2.30 atau lebih baru) atauEnabledIsolateGPU(untuk v1.2.24 hingga v1.2.29) menjaditrue.Nonaktifkan:
Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Components and Add-ons.
Di tab Logs and Monitoring, temukan komponen ack-node-problem-detector dan ikuti langkah-langkah sesuai versi komponen Anda:
v1.2.24 hingga v1.2.29: Upgrade ke versi terbaru.
v1.2.30 dan lebih baru: Klik Configuration.
Di halaman upgrade atau konfigurasi komponen, atur parameter
generateNvidiaGpuIsolationFilemenjadifalsedan klik OK.CatatanJika sebelumnya Anda menonaktifkan isolasi GPU otomatis pada versi 1.2.24 hingga 1.2.29 dengan memodifikasi
ack-node-problem-detector-daemonsetdan mengatur parameterEnabledIsolateGPUmenjadifalse, pengaturan ini akan dipertahankan secara otomatis saat Anda meningkatkan komponen ACK NPD. Jika ingin mengaktifkan kembali isolasi GPU otomatis, aturgenerateNvidiaGpuIsolationFilemenjaditrue.
Untuk membatalkan isolasi GPU yang sudah ada, login ke node tempat terjadi error XID dan hapus file
/etc/nvidia-device-plugin/unhealthyDevices.json. Untuk mencegah GPU diisolasi kembali, nonaktifkan fitur tersebut seperti yang dijelaskan sebelumnya.
Deteksi dan remediasi
Jika pengecualian GPU terdeteksi, lihat Nvidia Xid Errors untuk solusi. Anda juga dapat memeriksa konsol produk cloud terkait (seperti ECS atau Lingjun) untuk event O&M terkait, atau menggunakan tool diagnosis mandiri untuk memecahkan masalah pengecualian perangkat keras.
Pada tabel berikut, Auto-isolate Faulty GPU adalah perilaku isolasi default mekanisme lama. Dalam mekanisme baru, GPU diisolasi berdasarkan konfigurasi kustom Anda. Untuk detailnya, lihat mekanisme isolasi GPU otomatis.
Event terkait lainnya
Dalam skenario GPU khusus, mekanisme lama secara otomatis mengisolasi GPU yang bermasalah, sedangkan mekanisme baru mengharuskan Anda mengonfigurasi pemicu di manajemen komponen. Setelah isolasi, Pod aplikasi GPU baru tidak dijadwalkan pada kartu GPU tersebut. Untuk memverifikasi isolasi, periksa jumlah sumber daya nvidia.com/gpu yang dilaporkan oleh Node Kubernetes. Setelah kartu GPU pulih, ACK secara otomatis melepaskannya dari isolasi.
Alasan pemicu | Konten event | Deskripsi |
Isolasi GPU | Ya
| Sistem mengisolasi kartu GPU setelah mendeteksi masalah. |
Pelepasan GPU dari isolasi | Ya
| Kartu GPU pulih, dan ACK melepaskannya dari isolasi. |