Halaman ini menunjukkan cara menyelesaikan masalah yang terkait dengan GPU dalam Google Kubernetes Engine (GKE).
Jika Anda memerlukan bantuan tambahan, hubungi Cloud Customer Care.
Penginstalan driver GPU
Bagian ini memberikan informasi pemecahan masalah untuk perangkat NVIDIA otomatis penginstalan {i>driver<i} di GKE.
Penginstalan driver gagal di node Ubuntu
Jika Anda menggunakan node Ubuntu yang telah memasang GPU L4 atau GPU H100, GPU default yang diinstal otomatis agar GKE tidak berada pada atau lebih lambat dari versi yang diperlukan untuk GPU tersebut. Akibatnya, Pod plugin perangkat GPU tetap terjebak dalam status Tertunda dan beban kerja GPU Anda di node tersebut mungkin mengalami masalah.
Untuk mengatasi masalah ini, sebaiknya Anda mengupgrade ke GKE berikut versi yang menginstal driver GPU versi 535 sebagai driver default:
- 1.26.15-gke.1483000 dan yang lebih baru
- 1.27.15-gke.1039000 dan yang lebih baru
- 1.28.11-gke.1044000 dan yang lebih baru
- 1.29.6-gke.1073000 dan yang lebih baru
- 1.30.2-gke.1124000 dan yang lebih baru
Atau, Anda dapat menginstal driver versi 535 atau yang lebih baru secara manual dengan menjalankan perintah berikut:
kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/container-engine-accelerators/master/nvidia-driver-installer/ubuntu/daemonset-preloaded-R535.yaml
Plugin perangkat GPU gagal dengan error CrashLoopBackOff
Masalah berikut terjadi jika Anda menggunakan metode penginstalan driver manual di node pool sebelum 25 Januari 2023, lalu mengupgrade node pool ke versi GKE yang mendukung penginstalan driver otomatis. Kedua beban kerja instalasi ada pada saat yang sama dan mencoba menginstal versi {i>driver<i} yang konflik pada {i>node<i} Anda.
Container init plugin perangkat GPU gagal dengan Init:CrashLoopBackOff
. Log untuk penampung mirip dengan yang berikut ini:
failed to verify installation: failed to verify GPU driver installation: exit status 18
Untuk mengatasi masalah ini, coba metode berikut:
Hapus DaemonSet penginstalan driver manual dari cluster Anda. Ini menghapus beban kerja penginstalan yang bertentangan dan memungkinkan GKE secara otomatis menginstal {i> driver<i} ke {i>node<i} Anda.
kubectl delete -f https://raw.githubusercontent.com/GoogleCloudPlatform/container-engine-accelerators/master/nvidia-driver-installer/cos/daemonset-preloaded.yaml
Terapkan ulang manifes DaemonSet penginstalan driver manual ke cluster Anda. Pada 25 Januari 2023, kami memperbarui manifes untuk mengabaikan node yang menggunakan penginstalan {i>driver<i} secara otomatis.
kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/container-engine-accelerators/master/nvidia-driver-installer/cos/daemonset-preloaded.yaml
Nonaktifkan penginstalan driver otomatis untuk node pool. Driver yang ada DaemonSet penginstalan akan berfungsi seperti yang diharapkan setelah operasi update selesai.
gcloud container node-pools update POOL_NAME \ --accelerator=type=GPU_TYPE,count=GPU_COUNT,gpu-driver-version=disabled \ --cluster=CLUSTER_NAME \ --location=LOCATION
Ganti kode berikut:
POOL_NAME
: nama node pool.GPU_TYPE
: jenis GPU yang sudah dimiliki kumpulan node pengguna.GPU_COUNT
: jumlah GPU yang sudah yang melekat pada node pool.CLUSTER_NAME
: nama GKE yang berisi kumpulan node.LOCATION
: lokasi Compute Engine .
Error: Image container OS-nvidia-installer
:fixed tidak ada dengan kebijakan pull Tidak pernah.
Masalah ini terjadi jika Pod nvidia-driver-installer
berada di
status PodInitializing
dan perangkat plugin GPU atau Pod penginstal driver GPU
melaporkan error berikut. Pesan error spesifik bergantung pada
yang berjalan di node Anda:
COS
Container image "cos-nvidia-installer:fixed" is not present with pull policy of Never.
Ubuntu
Container image "gke-nvidia-installer:fixed" is not present with pull policy of Never.
Masalah ini bisa terjadi saat pembersih sampah menghapus {i>image<i} {i>driver<i} NVIDIA yang sudah dimuat sebelumnya untuk mengosongkan ruang pada {i>node<i}. Ketika Pod driver dibuat ulang atau container-nya dimulai ulang, GKE tidak akan dapat menemukan gambar pramuat.
Untuk mengurangi masalah pembersihan sampah memori saat Anda menjalankan COS, upgrade node GKE Anda ke salah satu versi berikut yang berisi perbaikan:
- 1.25.15-gke.1040000 dan yang lebih baru
- 1.26.10-gke.1030000 dan yang lebih baru
- 1.27.6-gke.1513000 dan yang lebih baru
- 1.28.3-gke.1061000 dan yang lebih baru
Jika node Anda menjalankan Ubuntu, belum ada perbaikan yang tersedia untuk sampah ini
pengumpulan data. Untuk memitigasi masalah ini di Ubuntu, Anda dapat menjalankan perintah
yang berinteraksi dengan {i>host<i} untuk
memastikan bahwa pengaturan
Driver GPU NVIDIA. Untuk melakukannya, jalankan sudo /usr/local/bin/nvidia-container-first-boot
dari node Anda atau terapkan manifes berikut:
apiVersion: v1
kind: Pod
metadata:
name: gke-nvidia-installer-fixup
spec:
nodeSelector:
cloud.google.com/gke-os-distribution: ubuntu
hostPID: true
containers:
- name: installer
image: ubuntu
securityContext:
privileged: true
command:
- nsenter
- -at
- '1'
- --
- sh
- -c
- "/usr/local/bin/nvidia-container-first-boot"
restartPolicy: Never
Penyebab potensial lain dari masalah ini
adalah ketika gambar driver NVIDIA hilang
setelah mulai ulang {i>node<i}
atau pemeliharaan {i>host<i}. Hal ini dapat terjadi pada node rahasia, atau
node dengan GPU, yang menggunakan penyimpanan SSD lokal sementara. Dalam situasi ini, GKE melakukan pramuat image container nvidia-installer-driver
pada node dan memindahkannya dari boot disk ke SSD lokal saat booting pertama.
Untuk mengonfirmasi bahwa ada peristiwa pemeliharaan host, gunakan log berikut filter:
resource.type="gce_instance"
protoPayload.serviceName="compute.googleapis.com"
log_id("cloudaudit.googleapis.com/system_event")
Untuk mengurangi masalah pemeliharaan host, tingkatkan GKE ke salah satu versi berikut:
- 1.27.13-gke.1166000 dan yang lebih baru
- 1.29.3-gke.1227000 dan yang lebih baru
- 1.28.8-gke.1171000 dan yang lebih baru
Error: gagal mengkonfigurasi dirs instalasi driver GPU: gagal membuat overlay lib64: gagal membuat dir /usr/local/nvidia/lib64: mkdir /usr/local/nvidia/lib64: bukan direktori.
Anda mengalami error ini dari container penginstal driver GPU di dalam GPU plugin perangkat saat fastsocket NCCL diaktifkan:
failed to configure GPU driver installation dirs: failed to create lib64 overlay: failed to create dir /usr/local/nvidia/lib64: mkdir /usr/local/nvidia/lib64: not a directory.
Masalah ini hanya terjadi pada cluster dan node yang menjalankan GKE 1.28 dan 1,29.
Masalah ini disebabkan oleh kondisi race fastsocket NCCL dengan driver GPU penginstal.
Untuk mengurangi masalah ini, upgrade versi GKE Anda ke salah satu versi berikut:
- 1.28.8-gke.1206000 dan yang lebih baru
- 1.29.3-gke.1344000 dan yang lebih baru
Error: Gagal mendapatkan perangkat untuk nvidia0: device nvidia0 tidak ditemukan.
Error berikut menunjukkan bahwa XID 62 dan RmInitAdapter gagal untuk GPU dengan minor 0:
Failed to get device for nvidia0: device nvidia0 not found.
Driver NVIDIA versi 525.105.17 memiliki {i>bug<i} yang dapat menyebabkan kesalahan komunikasi (XID) dan mencegah GPU melakukan inisialisasi dengan benar, yang menyebabkan kegagalan melakukan inisialisasi GPU.
Untuk memperbaiki masalah ini, upgrade driver NVIDIA ke versi driver 525.110.11 atau nanti.
Langkah selanjutnya
Jika Anda memerlukan bantuan tambahan, hubungi Cloud Customer Care.