Risolvi i problemi delle GPU in GKE


Questa pagina mostra come risolvere i problemi relativi alle GPU in Google Kubernetes Engine (GKE).

Se hai bisogno di ulteriore aiuto, contatta l'assistenza clienti Google Cloud.

Installazione del driver GPU

Questa sezione fornisce informazioni per la risoluzione dei problemi per l'installazione automatica dei driver di dispositivo NVIDIA in GKE.

L'installazione dei driver non riesce nei nodi Ubuntu

Se utilizzi nodi Ubuntu a cui sono collegate GPU L4 o GPU H100, il driver GPU predefinito installato da GKE potrebbe non essere pari o successivo alla versione richiesta per quelle GPU. Di conseguenza, il pod del plug-in del dispositivo GPU rimane bloccato nello stato In attesa e i carichi di lavoro GPU su quei nodi potrebbero riscontrare problemi.

Per risolvere il problema, installa manualmente la versione del driver 500 o successiva eseguendo questo comando:

kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/container-engine-accelerators/master/nvidia-driver-installer/ubuntu/daemonset-preloaded-R535.yaml

I plug-in per dispositivi GPU non riescono a causa di errori CrashLoopBackOff

Il problema seguente si verifica se hai utilizzato il metodo di installazione manuale dei driver nel pool di nodi prima del 25 gennaio 2023 e in seguito hai eseguito l'upgrade del pool di nodi a una versione GKE che supporta l'installazione automatica dei driver. Entrambi i carichi di lavoro di installazione esistono contemporaneamente e tentano di installare versioni dei driver in conflitto sui tuoi nodi.

Il container di init del plug-in del dispositivo GPU ha esito negativo con lo stato Init:CrashLoopBackOff. I log del container sono simili ai seguenti:

failed to verify installation: failed to verify GPU driver installation: exit status 18

Per risolvere il problema, prova i seguenti metodi:

  • Rimuovi l'installazione manuale del driver DaemonSet dal cluster. Questa azione elimina il carico di lavoro di installazione in conflitto e consente a GKE di installare automaticamente un driver nei nodi.

    kubectl delete -f https://raw.githubusercontent.com/GoogleCloudPlatform/container-engine-accelerators/master/nvidia-driver-installer/cos/daemonset-preloaded.yaml
    
  • Applica di nuovo il manifest DaemonSet per l'installazione manuale del driver al tuo cluster. Il 25 gennaio 2023 abbiamo aggiornato il manifest per ignorare i nodi che utilizzano l'installazione automatica dei driver.

    kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/container-engine-accelerators/master/nvidia-driver-installer/cos/daemonset-preloaded.yaml
    
  • Disabilita l'installazione automatica dei driver per il tuo pool di nodi. L'installazione del driver esistente DaemonSet dovrebbe funzionare come previsto al termine dell'operazione di aggiornamento.

    gcloud container node-pools update POOL_NAME \
        --accelerator=type=GPU_TYPE,count=GPU_COUNT,gpu-driver-version=disabled \
        --cluster=CLUSTER_NAME \
        --location=LOCATION
    

    Sostituisci quanto segue:

    • POOL_NAME: il nome del pool di nodi.
    • GPU_TYPE: il tipo di GPU già utilizzato dal pool di nodi.
    • GPU_COUNT: il numero di GPU già collegate al pool di nodi.
    • CLUSTER_NAME: il nome del cluster GKE che contiene il pool di nodi.
    • LOCATION: la località di Compute Engine del cluster.

Passaggi successivi

Se hai bisogno di ulteriore aiuto, contatta l'assistenza clienti Google Cloud.