Untuk menyelesaikan kesalahan GPU dalam kluster Container Service for Kubernetes (ACK), ACK menyediakan mekanisme pemantauan, diagnostik, peringatan, dan pemulihan dari berbagai perspektif. Topik ini menjelaskan cara memecahkan masalah dan memperbaiki kesalahan GPU.
Informasi Latar Belakang
Konfigurasikan pemantauan dan peringatan rutin: Anda dapat mengonfigurasi aturan peringatan berdasarkan metrik GPU (ACK GPU Monitoring 2.0) dan kejadian (ACK Node Problem Detector) sesuai dengan kebutuhan bisnis Anda. Ketika terjadi kesalahan pada GPU, sistem akan memicu peringatan secepat mungkin untuk meningkatkan responsivitas sistem terhadap kesalahan tersebut.
Diagnostik dan analitik yang dibantu oleh Container Intelligence Service (CIS): Jika terjadi kesalahan pada GPU, informasi yang diberikan oleh peringatan atau kejadian terkait GPU mungkin terbatas. Dalam hal ini, Anda dapat menggunakan CIS untuk mendiagnosis node tempat GPU bermasalah berada atau pod yang menggunakan GPU tersebut. CIS menghasilkan laporan diagnosis yang memberikan informasi rinci tentang kesalahan, membantu Anda mengidentifikasi jenis kesalahan dan memilih solusi yang tepat.
Isolasi dan pemulihan kesalahan: Untuk mengurangi dampak kesalahan tertentu, ACK memungkinkan Anda mengaktifkan isolasi node dan isolasi GPU. Setelah kesalahan diperbaiki, Anda dapat membatalkan isolasi agar aplikasi dapat berjalan normal kembali.
Langkah 1: Konfigurasikan pemantauan dan peringatan rutin
Node Problem Detector (NPD) mendukung inspeksi GPU secara berkala dan membantu mendeteksi kesalahan GPU. Anda dapat menentukan kontak untuk menerima peringatan ketika NPD mendeteksi kesalahan GPU.
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, temukan kluster yang ingin Anda kelola dan klik namanya. Di panel navigasi kiri, klik Add-ons.
Di halaman Add-ons, cari ack-node-problem-detector dan klik Install setelah muncul.
CatatanJika Anda sebelumnya telah menginstal komponen tersebut, pastikan versinya adalah 1.2.20 atau lebih baru. Untuk informasi lebih lanjut, lihat ack-node-problem-detector.
Di halaman Clusters, temukan kluster yang Anda inginkan dan klik namanya. Di panel sisi kiri, pilih .
Di halaman Alerts, klik tab Alert Contacts. Kemudian, klik Create dan konfigurasikan kontak berdasarkan instruksi di layar.
Di tab Alert Rules, pilih Alert Rule Set for GPU Monitoring dan klik Status. Kemudian, klik Modify Contacts dan pilih kontak yang Anda buat.
Langkah 2: Gunakan CIS untuk melakukan diagnostik dan analisis
Ketika terjadi kesalahan pada GPU dalam kluster, administrator kluster akan diberi tahu melalui pesan teks, email, atau pesan DingTalk. Anda dapat masuk ke Konsol ACK dan menggunakan CIS untuk menemukan serta menganalisis kesalahan tersebut.
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, temukan kluster yang Anda inginkan dan klik namanya. Di panel sisi kiri, pilih .
Di halaman Diagnosis, klik Node diagnosis. Di pojok kiri atas halaman Node diagnosis, klik Diagnosis.
Di panel Select node, tentukan parameter Node name, baca dan pilih I know and agree, kemudian klik Create diagnosis.
Setelah diagnosis selesai, hasil dari semua item diagnosis ditampilkan. Untuk informasi lebih lanjut tentang item diagnosis yang didukung oleh fitur diagnosis node, lihat Diagnosis Node.
Jika terjadi kesalahan
Xid errorpada GPU,{"GPU-326dc0ce-XXXX-77b6-XXXX-9a2eeXXXX":["43"]}akan ditampilkan untuk itemGPUXIDErrors, yang menunjukkan bahwa terjadi kesalahan Xid 43 pada GPUGPU-xxx. Untuk informasi lebih lanjut tentang kesalahan GPU dalam laporan diagnosis yang disediakan oleh CIS, lihat Kejadian Kesalahan GPU yang Terdeteksi oleh NPD.
Langkah 3: Isolasi GPU yang bermasalah
Isolasi manual GPU yang bermasalah
Ketika kesalahan terdeteksi pada GPU, Anda dapat mengisolasi GPU tersebut untuk mencegah pod lain dijadwalkan ke GPU tersebut. Untuk informasi lebih lanjut, lihat Konfigurasi dan Kelola NVIDIA Device Plugin. Jika index dari GPU yang bermasalah adalah 1 atau UUID dari GPU yang bermasalah adalah GPU-xxx-xxx-xxx, Anda perlu membuat atau memodifikasi file bernama unhealthyDevices.json di direktori /etc/nvidia-device-plugin/ dari node tempat GPU tersebut berada. Tambahkan index atau UUID ke dalam file. Contoh:
// Tentukan index dari GPU.
{
"index": ["1"]
}
// Tentukan UUID dari GPU.
{
"uuid": ["GPU-xxx-xxx-xxx"]
}Simpan perubahan dan keluar. Setelah kesalahan diperbaiki, hapus item GPU terkait dari file untuk membatalkan isolasi GPU.
Isolasi otomatis GPU yang bermasalah
Masuk ke node tempat GPU yang bermasalah berada untuk memodifikasi
/etc/kubernetes//manifests/nvidia-device-plugin.ymldengan menghapus variabel lingkungan berikut:CatatanJika variabel lingkungan tidak ada, isolasi GPU otomatis diaktifkan.
env: - name: DP_DISABLE_HEALTHCHECKS value: allSetelah Anda menghapus variabel lingkungan, jalankan perintah berikut untuk memulai ulang Device Plugin:
Kejadian kesalahan GPU yang terdeteksi oleh NPD
Penyebab Kejadian | Isi Kejadian | Deskripsi | Mitigasi |
|
| GPU jatuh dari bus pada node. | Mulai ulang node. Jika masalah tetap ada, submit a ticket untuk menghubungi tim dukungan teknis. |
|
| Kesalahan Xid terjadi pada GPU di node dan pesan Xid dilaporkan. | Mulai ulang node. Jika masalah tetap ada, submit a ticket untuk menghubungi tim dukungan teknis. |
|
| Jalankan perintah | Mulai ulang node. Jika masalah tetap ada, submit a ticket untuk menghubungi tim dukungan teknis. |
|
| Periksa apakah terjadi kesalahan | Mulai ulang node. Jika masalah tetap ada, submit a ticket untuk menghubungi tim dukungan teknis. |
|
| Periksa suhu GPU. Jika suhu melebihi 89 derajat Celsius, GPU dilaporkan. | Kejadian ini hanya sebuah peringatan. |