Condividi tramite


Creare un pool di nodi GPU completamente gestito nel servizio Azure Kubernetes (anteprima)

Quando si eseguono carichi di lavoro GPU nel servizio Azure Kubernetes, è necessario installare e gestire diversi componenti software, tra cui il driver GPU, il plug-in del dispositivo Kubernetes e l'utilità di esportazione delle metriche GPU per i dati di telemetria. Questi componenti sono essenziali per abilitare la pianificazione della GPU, l'accesso GPU a livello di contenitore, l'osservabilità dell'utilizzo delle risorse e il corretto funzionamento dei nodi abilitati per GPU di AKS. In precedenza, gli operatori del cluster dovevano installare questi componenti manualmente o usare alternative open source come l'operatore GPU NVIDIA, che può introdurre complessità e sovraccarico operativo.

Per impostazione predefinita il servizio Azure Kubernetes (AKS) ora supporta nodi GPU completamente gestiti (anteprima) e installa il driver GPU NVIDIA, il plug-in del dispositivo e l'utilità di esportazione delle metriche di Data Center GPU Manager (DCGM). Questa funzionalità consente la creazione di pool di nodi GPU in un unico passaggio e rende la disponibilità delle risorse GPU in AKS semplice come quella dei nodi CPU a uso generico.

Questo articolo illustra come effettuare il provisioning di un pool di nodi GPU completamente gestito (anteprima) nel cluster del servizio Azure Kubernetes, inclusa l'installazione predefinita del driver GPU NVIDIA, del plug-in del dispositivo e dell'utilità di esportazione delle metriche.

Importante

Le funzionalità di anteprima di AKS sono disponibili su base self-service, su scelta. Le anteprime vengono fornite "così come sono" e "come disponibili" e sono escluse dai contratti di servizio e dalla garanzia limitata. Le anteprime del servizio Azure Kubernetes sono parzialmente coperte dal supporto clienti con la massima diligenza possibile. Di conseguenza, queste funzionalità non sono destinate all'uso in produzione. Per altre informazioni, vedere gli articoli di supporto seguenti:

Prima di iniziare

Limitazioni

  • Questa funzionalità supporta attualmente solo le dimensioni delle macchine virtuali abilitate per GPU NVIDIA .
  • L'aggiornamento di un pool di nodi a scopo generico per aggiungere una VM di tipo GPU non è supportato su AKS.
  • I pool di nodi di Windows non sono supportati con questa funzionalità, perché le metriche GPU non sono supportate. Quando si creano pool di nodi GPU di Windows, Azure Kubernetes Service installa e gestisce automaticamente i driver e il plug-in del dispositivo DirectX. Per ulteriori informazioni, vedere la documentazione di AKS Windows GPU.
  • La migrazione dei pool di nodi GPU a più istanze esistenti per usare questa funzionalità non è supportata.
  • Gli aggiornamenti sul posto per usare questa funzionalità nei nodi abilitati per GPU esistenti non sono supportati.

Annotazioni

Le macchine virtuali abilitate per la GPU contengono hardware specializzato soggetto a prezzi maggiori e alla disponibilità regionale. Per altre informazioni, vedere il calcolatore dei prezzi e la disponibilità a livello di area.

Installare l'estensione CLI aks-preview

  1. Installa l'estensione della CLI aks-preview utilizzando il comando az extension add.

    az extension add --name aks-preview
    
  2. Aggiornare l'estensione per assicurarsi che sia installata la versione più recente usando il comando az extension update.

    az extension update --name aks-preview
    

Registrare il flag di funzionalità ManagedGPUExperiencePreview nella sottoscrizione

  • Registra il flag di funzionalità ManagedGPUExperiencePreview nella tua sottoscrizione usando il comando az feature register.

    az feature register --namespace Microsoft.ContainerService --name ManagedGPUExperiencePreview
    

Ottenere le credenziali per il cluster

  • Ottenere le credenziali per il cluster del servizio Azure Kubernetes usando il comando az aks get-credentials.

    az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME
    

Creare un pool di nodi GPU gestito da AKS (anteprima)

È possibile aggiungere un pool di nodi GPU completamente gestito (anteprima) a un cluster del servizio Azure Container esistente specificando lo SKU del sistema operativo e il comando --tags EnableManagedGPUExperience=true. Quando si esegue questa operazione, AKS installerà automaticamente il driver GPU, il plug-in del dispositivo GPU e l'esportatore di metriche.

Per usare lo SKU predefinito del sistema operativo Ubuntu, creare il pool di nodi senza specificare uno SKU del sistema operativo. Il pool di nodi è configurato per il sistema operativo predefinito in base alla versione Kubernetes del cluster.

  1. Aggiungere un pool di nodi al cluster usando il comando az aks nodepool add con il comando --tags EnableManagedGPUExperience=true.

    az aks nodepool add \
        --resource‐group MyResourceGroup \
        --cluster‐name MyAKSCluster \
        --name gpunp \
        --node‐count 1 \
        --node‐vm‐size Standard_NC6s_v3 \
        --node‐taints sku=gpu:NoSchedule \
        --enable‐cluster‐autoscaler \
        --min‐count 1 \
        --max‐count 3 \
        --tags EnableManagedGPUExperience=true
    
  2. Verificare che i componenti software GPU NVIDIA gestiti siano installati correttamente:

    az aks nodepool show \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name gpunp \
    

    L'output deve includere i valori seguenti:

    ...
    ...
    "gpuInstanceProfile": …
        "gpuProfile": {
            "driver": "Install"
        },
    ...
    ...
    

Eseguire la migrazione di carichi di lavoro GPU esistenti a un pool di nodi GPU gestito dal servizio Azure Kubernetes

Gli aggiornamenti sul posto da un pool di nodi GPU NVIDIA Standard a un pool di nodi GPU NVIDIA completamente gestito (anteprima) nel cluster del servizio Azure Kubernetes (AKS) non sono supportati. È consigliabile assegnare e svuotare i nodi GPU esistenti, quindi ridistribuire i carichi di lavoro in un nuovo pool di nodi abilitato per la GPU con questa funzionalità abilitata. Per altre informazioni, vedere Ridimensionare i pool di nodi su AKS.

Driver GPU BYO

Se si vuole controllare l'installazione dei driver NVIDIA o usare l'operatore GPU NVIDIA, è possibile ignorare l'installazione del driver GPU durante la creazione del pool di nodi. In questo caso, Microsoft non supporta o gestisce la manutenzione e la compatibilità dei driver NVIDIA come parte della distribuzione dell'immagine del nodo. Per altre informazioni, vedere Ignorare l'installazione del driver GPU per i nodi abilitati per GPU NVIDIA nel servizio Azure Kubernetes.

Passaggi successivi