Fehlerbehebung — GPU
GPU wird in der VM nicht erkannt
Ursache: Das Feld gpus ist im Manifest nicht konfiguriert, oder der PCI Passthrough hat den GPU nicht korrekt an die VM angehängt.
Lösung:
-
Überprüfen Sie, dass das Feld
gpusin Ihrem Manifest vorhanden ist:vm-gpu.yamlspec:
gpus:
- name: "nvidia.com/AD102GL_L40S" -
Überprüfen Sie in der VM die PCI-Erkennung:
lspci | grep -i nvidia -
Überprüfen Sie, dass das NVIDIA-Kernelmodul geladen ist:
lsmod | grep nvidia -
Wenn kein Ergebnis erscheint, sind die Treiber nicht installiert. Konsultieren Sie den folgenden Abschnitt.
Fehlende NVIDIA-Treiber
Ursache: Die NVIDIA-Treiber sind nicht in der VM installiert, oder die Kernel-Header stimmen nicht mit der Kernelversion überein.
Lösung:
-
Installieren Sie die Voraussetzungen und Treiber über cloud-init oder manuell:
sudo apt-get update
sudo apt-get install -y linux-headers-$(uname -r)
sudo apt-get install -y nvidia-driver-550 nvidia-utils-550 -
Starten Sie die VM nach der Installation neu:
sudo reboot -
Überprüfen Sie die Installation:
nvidia-smi
Um die Installation zu automatisieren, verwenden Sie das Feld cloudInit in Ihrem VM-Manifest, damit die Treiber beim ersten Start installiert werden.
GPU-Pod im Zustand Pending
Ursache: Kein Knoten mit verfügbarem GPU, die GPU-Konfiguration des Clusters fehlt, oder der GPU Operator ist nicht aktiv.
Lösung:
-
Überprüfen Sie die Pod-Ereignisse:
kubectl describe pod <pod-name>Suchen Sie nach der Meldung
Insufficient nvidia.com/gpu. -
Überprüfen Sie, dass GPU-Knoten existieren und zuweisbare GPUs haben:
kubectl get nodes -o json | jq '.items[] | {name: .metadata.name, gpu: .status.allocatable["nvidia.com/gpu"]}' -
Überprüfen Sie die Konfiguration der GPU-NodeGroup im Cluster-Manifest:
cluster.yamlspec:
nodeGroups:
gpu-workers:
minReplicas: 1
maxReplicas: 4
instanceType: "u1.2xlarge"
gpus:
- name: "nvidia.com/AD102GL_L40S" -
Stellen Sie sicher, dass das GPU Operator-Addon aktiviert ist:
cluster.yamlspec:
addons:
gpuOperator:
enabled: true
nvidia-smi schlägt in einem Pod fehl
Ursache: Der GPU Operator ist auf dem Cluster nicht aktiviert, was die automatische Treiberinstallation und die Bereitstellung des Device Plugins verhindert.
Lösung:
-
Aktivieren Sie das GPU Operator-Addon auf dem Cluster:
cluster.yamlspec:
addons:
gpuOperator:
enabled: true -
Wenden Sie die Änderung an:
kubectl apply -f cluster.yaml -
Überprüfen Sie, dass die Pods des GPU Operators laufen:
kubectl get pods -n gpu-operator -
Sobald der GPU Operator betriebsbereit ist, erstellen Sie Ihren GPU-Pod neu.
GPU Operator funktioniert nicht
Ursache: Das Addon ist nicht aktiviert, die Operator-Pods befinden sich im Fehlerzustand, oder die Knoten haben keine physische GPU-Hardware.
Lösung:
-
Überprüfen Sie, dass das Addon im Cluster-Manifest aktiviert ist:
cluster.yamlspec:
addons:
gpuOperator:
enabled: true -
Überprüfen Sie den Zustand der GPU Operator-Pods:
kubectl get pods -n gpu-operator
kubectl describe pod -n gpu-operator <pod-name> -
Überprüfen Sie, dass die Knoten tatsächlich GPU-Hardware besitzen:
kubectl get nodes -o json | jq '.items[] | {name: .metadata.name, gpu: .status.capacity["nvidia.com/gpu"]}' -
Wenn die Pods in
CrashLoopBackOffsind, konsultieren Sie die Logs:kubectl logs -n gpu-operator <pod-name>