Per consentire agli sviluppatori di distribuire carichi di lavoro AI/ML in cluster TKGS, l'amministratore di vSphere può configurare l'ambiente di vSphere with Tanzu per supportare l'hardware NVIDIA GPU.

Workflow per l'amministratore di vSphere sulla distribuzione dei carichi di lavoro AI/ML nei cluster TKGS

Nella tabella è riportato il workflow di alto livello che consente agli amministratori di vSphere di abilitare la distribuzione dei carichi di lavoro AI/ML nei cluster TKGS. A seguire sono riportate le istruzioni dettagliate per ogni passaggio.
Passaggio Azione Collega
0

Verificare i requisiti di sistema.

Vedere Passaggio 0 dell'amministratore: revisione dei requisiti di sistema.

1

Installare il dispositivo NVIDIA GPU supportato negli host ESXi.

Vedere Passaggio 1 dell'amministratore: installare il dispositivo GPU NVIDIA supportato negli host ESXi.

2

Configurare le impostazioni grafiche del dispositivo ESXi per le operazioni vGPU.

Vedere Passaggio 2 dell'amministratore: configurare ciascun host ESXi per le operazioni vGPU.

3

Installare NVIDIA vGPU Manager (VIB) in ogni host ESXi.

Vedere Passaggio 3 dell'amministratore: installare il driver NVIDIA Host Manager su ciascun host ESXi.

4

Verificare il funzionamento del driver NVIDIA e la modalità di virtualizzazione GPU.

Vedere Passaggio 4 dell'amministratore: verificare che gli host ESXi siano pronti per le operazioni di NVIDIA vGPU.

5

Abilitare Gestione carico di lavoro in un cluster con configurazione GPU. Il risultato è un cluster supervisore in esecuzione negli host ESXi abilitati per vGPU.

Vedere Passaggio 5 dell'amministratore: abilitare Gestione carico di lavoro nel cluster vCenter configurato con vGPU.

6

Creare una Libreria di contenuti per le versioni di Tanzu Kubernetes e popolare la libreria con il file OVA di Ubuntu supportato richiesto per i carichi di lavoro di vGPU.

Vedere Passaggio 6 dell'amministratore: creare una libreria di contenuti per la versione Ubuntu di Tanzu Kubernetes.

7

Creare una classe di macchine virtuali personalizzata con un determinato profilo vGPU selezionato.

Vedere Passaggio 7 dell'amministratore: creare una classe di macchine virtuali personalizzata con il profilo vGPU.

8

Creare e configurare uno spazio dei nomi vSphere per i cluster TKGS GPU: aggiungere un utente con autorizzazioni di modifica e storage per volumi persistenti.

Vedere Passaggio 8 dell'amministratore: creare e configurare uno spazio dei nomi vSphere per il cluster GPU TKGS.

9

Associare la libreria di contenuti al file OVA di Ubuntu e la classe di macchine virtuali personalizzata per vGPU allo spazio dei nomi vSphere creato per TGKS.

Vedere Passaggio 9 dell'amministratore: associare la libreria di contenuti e la classe di macchine virtuali allo spazio dei nomi vSphere.

10

Verificare che il cluster supervisore sia fornito in provisioning e accessibile per l'operatore cluster.

Vedere Passaggio 10 dell'amministratore: verificare che il cluster supervisore sia accessibile.

Passaggio 0 dell'amministratore: revisione dei requisiti di sistema

Fare riferimento ai seguenti requisiti di sistema per configurare l'ambiente per la distribuzione dei carichi di lavoro AI/ML nei cluster di TKG.
Requisito Descrizione

Infrastruttura vSphere

vSphere 7 Update 3 Monthly Patch 1

ESXi build 18778458 o successiva

vCenter Server build 18644231 o successiva

Gestione carico di lavoro

Versione spazio dei nomi vSphere

0.0.11-18610518 o successiva

Cluster supervisore

Versione di Cluster supervisore

v1.21.0+vmware.1-vsc0.0.11-18610518 o successiva

OVA Ubuntu TKR

Release di Tanzu Kubernetes Ubuntu

ob-18691651-tkgs-ova-ubuntu-2004-v1.20.8---vmware.1-tkg.2

Driver host NVIDIA vGPU

Scaricare il VIB dal sito Web di NGC. Per ulteriori informazioni, consultare la documentazione relativa al driver software della vGPU. Ad esempio:

NVIDIA-AIE_ESXi_7.0.2_Driver_470.51-1OEM.702.0.0.17630552.vib

License Server NVIDIA per vGPU

Nome di dominio completo fornito dall'organizzazione

Passaggio 1 dell'amministratore: installare il dispositivo GPU NVIDIA supportato negli host ESXi

Per distribuire carichi di lavoro IA/ML in TKGS, installare uno o più dispositivi GPU NVIDIA supportati in ogni host ESXi che include il cluster vCenter in cui sarà abilitato Gestione carico di lavoro.

Per visualizzare i dispositivi GPU NVIDIA compatibili, fare riferimento alla guida alla compatibilità di VMware.

Il dispositivo GPU NVIDA deve supportare i profili vGPU NVIDIA AI Enterprise (NVAIE) più recenti. Per istruzioni, fare riferimento al documento NVIDIA Virtual GPU Software Supported GPUs.

Ad esempio, nel seguente host ESXi sono installati due dispositivi NVIDIA GPU A100.

Passaggio 2 dell'amministratore: configurare ciascun host ESXi per le operazioni vGPU

Configurare ciascun host ESXi per la vGPU abilitando Condiviso diretta e SR-IOV.

Abilitare Condiviso diretta su ciascun host ESXi

Per sbloccare la funzionalità NVIDIA vGPU, abilitare la modalità Condiviso diretta su ogni host ESXi che include il cluster vCenter in cui sarà abilitato Gestione carico di lavoro.

Per abilitare Condiviso diretta, completare i passaggi seguenti. Per ulteriori istruzioni, vedere la pagina sulla configurazione dei dispositivi grafici nella documentazione di vSphere.
  1. Accedere a vCenter Server utilizzando vSphere Client.
  2. Selezionare un host ESXi nel cluster vCenter.
  3. Selezionare Configura > Hardware > Grafica.
  4. Selezionare il dispositivo acceleratore GPU NVIDIA.
  5. Modificare le impostazioni dell dispositivo grafico.
  6. Selezionare Condiviso diretta.
  7. Selezionare Riavvia server X.Org.
  8. Fare clic su OK per salvare le configurazione.
  9. Fare clic con il pulsante destro del mouse sull'host ESXi e passarlo in modalità di manutenzione.
  10. Riavviare l'host.
  11. Quando l'host è di nuovo in esecuzione, disattivare la modalità di manutenzione.
  12. Ripetere questo processo per ogni host ESXi nel cluster vCenter in cui sarà abilitato Gestione carico di lavoro.

Attivare il BIOS SR-IOV per i dispositivi NVIDIA GPU A30 e A100

Se si utilizza il dispositivo GPU NVIDIA A30 o A100, necessario per la GPU multi-istanza ( modalità MIG), è necessario abilitare SR-IOV nell'host ESXi. Se SR-IOV non è abilitato, non è possibile avviare le macchine virtuali dei nodi del cluster di Tanzu Kubernetes. Se si verifica questa condizione, viene visualizzato il seguente messaggio di errore nel riquadro Attività recenti di vCenter Server in cui è abilitato Gestione carico di lavoro.

Could not initialize plugin libnvidia-vgx.so for vGPU nvidia_aXXX-xx. Failed to start the virtual machine. Module DevicePowerOn power on failed.

Per abilitare SR-IOV, accedere all'host ESXi utilizzando la console Web. Selezionare Gestisci > Hardware . Selezionare il dispositivo GPU NVIDIA e fare clic su Configura SR-IOV. Da questa sezione è possibile attivare SR-IOV. Per ulteriori istruzioni, vedere la pagina Single Root I/O Virtualization (SR-IOV) nella documentazione di vSphere.

Nota: Se si utilizza vGPU con passthrough NIC, fare riferimento all'argomento seguente per un passaggio di configurazione aggiuntivo di ESXi: Appendice per l'amministratore di vSphere sulla distribuzione dei carichi di lavoro AI/ML nei cluster TKGS (vGPU e DirectPath IO dinamico).

Passaggio 3 dell'amministratore: installare il driver NVIDIA Host Manager su ciascun host ESXi

Per eseguire macchine virtuali dei nodi del cluster di Tanzu Kubernetes con accelerazione grafica della NVIDIA vGPU, installare il driver NVIDIA Host Manager su ciascun host ESXi, incluso il cluster vCenter in cui sarà abilitato Gestione carico di lavoro.

I componenti del driver NVIDIA vGPU Host Manager sono incorporati in un pacchetto bundle di installazione per vSphere (VIB). Il VIB NVAIE viene fornito dall'organizzazione tramite il programma di licenza NVIDIA GRID. VMware non fornisce VIB NVAIE né li rende disponibili per il download. Come parte del programma di gestione delle licenze NVIDIA, l'organizzazione configura un server di gestione delle licenze. Per ulteriori informazioni, fare riferimento alla guida rapida del software Virtual GPU di NVIDIA.

Una volta configurato l'ambiente NVIDIA, eseguire il comando seguente su ogni host ESXi, sostituire l'indirizzo del server delle licenze NVIDIA e la versione del VIB NVAIE con i valori appropriati per l'ambiente in uso. Per ulteriori istruzioni, vedere la pagina su installazione e configurazione del VIB NVIDIA in ESXi nella Knowledge Base dell'assistenza VMware.
Nota: La versione del VIB NVAIE installata negli host ESXi deve corrispondere alla versione del software vGPU installato per le macchine virtuali del nodo. La versione seguente è solo un esempio.
esxcli system maintenanceMode set --enable true
esxcli software vib install -v ftp://server.domain.example.com/nvidia/signed/NVIDIA_bootbank_NVIDIA-VMware_ESXi_7.0_Host_Driver_460.73.02-1OEM.700.0.0.15525992.vib
esxcli system maintenanceMode set --enable false
/etc/init.d/xorg restart

Passaggio 4 dell'amministratore: verificare che gli host ESXi siano pronti per le operazioni di NVIDIA vGPU

Per verificare che ogni host ESXi sia pronto per le operazioni di NVIDIA vGPU, eseguire le seguenti verifiche su ogni host ESXi nel cluster vCenter in cui sarà abilitato Gestione carico di lavoro:
  • Accedere tramite SSH all'host ESXi, accedere alla modalità shell ed eseguire il comando nvidia-smi. NVIDIA System Management Interface è un'utilità da riga di comando fornita da NVIDA vGPU Host Manager. L'esecuzione di questo comando restituisce le GPU e i driver nell'host.
  • Eseguire il comando seguente per verificare che il driver NVIDIA sia installato correttamente: esxcli software vib list | grep NVIDA.
  • Verificare che l'host sia configurato con la GPU condivisa diretta e che SR-IOV sia attivato (se si utilizzano dispositivi NVIDIA A30 o A100).
  • Utilizzando vSphere Client, nell'host ESXi configurato per la GPU, creare una nuova macchina virtuale con un dispositivo PCI incluso. Il profilo NVIDIA vGPU deve essere visualizzato e selezionabile.

Passaggio 5 dell'amministratore: abilitare Gestione carico di lavoro nel cluster vCenter configurato con vGPU

Ora che gli host ESXi sono configurati per supportare NVIDIA vGPU, creare un cluster vCenter che includa questi host. Per supportare Gestione carico di lavoro, il cluster vCenter deve soddisfare requisiti specifici, tra cui storage condiviso, alta disponibilità e DRS completamente automatizzato.

L'abilitazione di Gestione carico di lavoro richiede anche la selezione di uno stack di rete, una rete vDS vSphere nativa o una rete NSX-T Data Center. Se si utilizza la rete vDS, è necessario installare un bilanciamento del carico, NSX Advanced o HAProxy.

Il risultato dell'abilitazione di Gestione carico di lavoro è un Cluster supervisore in esecuzione negli host di ESXi abilitati per vGPU. Fare riferimento alle attività e alla documentazione seguenti per abilitare Gestione carico di lavoro.
Nota: Ignorare questo passaggio se è già presente un cluster vCenter con Gestione carico di lavoro abilitato, supponendo che il cluster utilizzi gli host ESXi configurati per la vGPU.

Passaggio 6 dell'amministratore: creare una libreria di contenuti per la versione Ubuntu di Tanzu Kubernetes

Una volta abilitato Gestione carico di lavoro in un cluster vCenter configurato con GPU, il passaggio successivo consiste nel creare una libreria di contenuti per l'immagine OVA della versione di Tanzu Kubernetes.

NVIDIA vGPU richiede il sistema operativo Ubuntu. VMware fornisce un file OVA di Ubuntu per questo scopo. Non è possibile utilizzare la versione Tanzu Kubernetes PhotonOS per i cluster vGPU.

Per importare questa immagine nell'ambiente di vSphere with Tanzu, scegliere uno dei metodi elencati nella tabella e seguire le istruzioni corrispondenti.
Tipo di libreria dei contenuti Descrizione
Creare una Libreria di contenuti con sottoscrizione e sincronizzare automaticamente l'OVA di Ubuntu con il proprio ambiente. Creazione, protezione e sincronizzazione di una libreria di contenuti con sottoscrizione per Release di Tanzu Kubernetes
Creare una Libreria di contenuti locale e caricare manualmente l'OVA di Ubuntu nel proprio ambiente. Creazione, protezione e sincronizzazione di una libreria di contenuti locale per le Release di Tanzu Kubernetes
Una volta completata questa attività, il file OVA di Ubuntu dovrebbe essere disponibile nella libreria dei contenuti.

Passaggio 7 dell'amministratore: creare una classe di macchine virtuali personalizzata con il profilo vGPU

Il passaggio successivo consiste nel creare una classe di macchine virtuali personalizzata con un profilo vGPU. Il sistema utilizzerà questa definizione di classe per la creazione dei nodi del cluster di Tanzu Kubernetes.

Seguire le istruzioni seguenti per creare una classe di macchine virtuali personalizzata con un profilo vGPU. Per ulteriori istruzioni, vedere Aggiunta di dispositivi PCI a una classe di macchine virtuali in vSphere with Tanzu.
Nota: Se si utilizza vGPU con passthrough NIC, fare riferimento all'argomento seguente per un passaggio aggiuntivo: Appendice per l'amministratore di vSphere sulla distribuzione dei carichi di lavoro AI/ML nei cluster TKGS (vGPU e DirectPath IO dinamico).
  1. Accedere al vCenter Server utilizzando vSphere Client.
  2. Selezionare Gestione carico di lavoro.
  3. Selezionare Servizi.
  4. Selezionare Classi di macchine virtuali.
  5. Fare clic su Crea classe di macchine virtuali.
  6. Nella scheda Configurazione, configurare la classe di macchine virtuali personalizzata.
    Campo di configurazione Descrizione
    Nome Immettere un nome auto-descrittivo per la classe di macchine virtuali personalizzata, ad esempio vmclass-vgpu-1.
    Conteggio vCPU 2
    Prenotazione risorsa CPU Facoltativo, OK per lasciare vuoto
    Memoria 80 GB, ad esempio
    Prenotazione risorsa di memoria 100% (obbligatorio quando i dispositivi PCI sono configurati in una classe di macchine virtuali)
    Dispositivi PCI
    Nota: Selezionando Sì in Dispositivi PCI si indica al sistema che si sta utilizzando un dispositivo GPU e si modificata la configurazione della classe di macchine virtuali per supportare la configurazione della vGPU.

    Ad esempio:

  7. Fare clic su Avanti.
  8. Nella scheda Dispositivi PCI, selezionare l'opzione Aggiungi dispositivo PCI > NVIDIA vGPU.
  9. Configurare il modello NVIDIA vGPU.
    Campo NVIDIA vGPU Descrizione
    Modello Selezionare il modello di dispositivo hardware GPU NVIDIA tra quelli disponibili nel menu NVIDIA vGPU > Modello. Se il sistema non mostra alcun profilo, in nessuno degli host del cluster sono supportati dispositivi PCI.
    Condivisione GPU

    Questa impostazione definisce il modo in cui il dispositivo GPU viene condiviso tra le macchine virtuali abilitate per la GPU. Sono disponibili due tipi di implementazioni di vGPU: Condivisione dell'ora e Condivisione GPU multi-istanza.

    In modalità Condivisione dell'ora, lo strumento di pianificazione della vGPU indica alla GPU di eseguire il lavoro per ogni macchina virtuale abilitata per vGPU in serie per un periodo di tempo con l'obiettivo di massimo sforzo delle prestazioni di bilanciamento tra vGPU.

    La modalità MIG consente l'esecuzione di più macchine virtuali abilitate per vGPU in parallelo in un singolo dispositivo GPU. La modalità MIG si basa su un'architettura GPU più recente ed è supportata solo su dispositivi NVIDIA A100 e A30. Se l'opzione MIG non è visualizzata, il dispositivo PCI selezionato non la supporta.

    Modalità GPU Elabora
    Memoria GPU 8 GB, ad esempio
    Numero di vGPU 1 ad esempio

    Di seguito è riportato un esempio di profilo NVIDIA vGPU configurato in modalità Condivisione dell'ora:

    Di seguito è riportato un esempio di profilo NVIDIA vGPU configurato in modalità MIG con dispositivo GPU supportato:

  10. Fare clic su Avanti.
  11. Rivedere e confermare le selezioni.
  12. Fare clic su Fine.
  13. Verificare che la nuova classe di macchine virtuali personalizzata sia disponibile nell'elenco delle classi di macchine virtuali.

Passaggio 8 dell'amministratore: creare e configurare uno spazio dei nomi vSphere per il cluster GPU TKGS

Creare uno spazio dei nomi vSphere per ogni cluster GPU TKGS di cui si intende eseguire il provisioning. Configurare lo spazio dei nomi aggiungendo un utente SSO vSphere con autorizzazioni Modifica e collegando un criterio di storage per volumi persistenti.

A tale scopo, vedere Creazione e configurazione di uno Spazio dei nomi vSphere.

Passaggio 9 dell'amministratore: associare la libreria di contenuti e la classe di macchine virtuali allo spazio dei nomi vSphere

Dopo aver creato e configurato lo spazio dei nomi vSphere, associare la libreria dei contenuti che include l'OVA di Ubuntu allo spazio dei nomi vSphere e associare la classe di macchine virtuali personalizzata al profilo vGPU con lo stesso spazio dei nomi vSphere.
Attività Descrizione
Associare la libreria di contenuti con l'OVA di Ubuntu per vGPU allo spazio dei nomi vSphere in cui verrà eseguito il provisioning del cluster TKGS.

Vedere Configurazione di uno Spazio dei nomi vSphere per Release di Tanzu Kubernetes.

Associare la classe di macchine virtuali personalizzata al profilo vGPU con lo spazio dei nomi vSphere dove verrà eseguito il provisioning del cluster TKGS.

Vedere Associazione di una classe di macchine virtuali a uno spazio dei nomi in vSphere with Tanzu.

L'esempio seguente mostra uno spazio dei nomi vSphere configurato con una libreria di contenuti associata e una classe di macchine virtuali personalizzata da utilizzare con i cluster di vGPU.

Passaggio 10 dell'amministratore: verificare che il cluster supervisore sia accessibile

L'ultima attività di amministrazione consiste nel verificare che Cluster supervisore sia fornito in provisioning e disponibile all'operatore del cluster per il provisioning di un cluster TKGS per i carichi di lavoro AI/ML.

  1. Scaricare e installare Strumenti CLI Kubernetes di vSphere.

    Vedere Download e installazione di Strumenti CLI Kubernetes di vSphere.

  2. Connettersi a Cluster supervisore.

    Vedere Connessione al Cluster supervisore come utente vCenter Single Sign-On.

  3. Fornire all'operatore cluster il collegamento per scaricare Strumenti CLI Kubernetes di vSphere e il nome dello spazio dei nomi vSphere.

    Vedere Workflow dell'operatore del cluster per la distribuzione di carichi di lavoro AI/ML nei cluster di TKG.