Questa pagina descrive come eseguire il deployment dei carichi di lavoro dei container GPU nello SKU ottimizzato per l'AI di Google Distributed Cloud (GDC) Sandbox.
Esegui il deployment dei carichi di lavoro dei container GPU
Lo SKU ottimizzato per l'AI di GDC Sandbox include quattro GPU NVIDIA H100 da 80 GB HBM3 all'interno del cluster di infrastruttura dell'organizzazione. Queste GPU sono accessibili utilizzando il nome della risorsa nvidia.com/gpu-pod-NVIDIA_H100_80GB_HBM3. Questa sezione descrive come aggiornare una configurazione del container per utilizzare queste GPU.
Le GPU nello SKU ottimizzato per l'AI di GDC Sandbox sono associate a un progetto preconfigurato, "sandbox-gpu-project". Per utilizzare le GPU, devi eseguire il deployment del container utilizzando questo progetto all'interno del cluster org-1-infra.
Prima di iniziare
Per eseguire comandi sul cluster di infrastruttura dell'organizzazione, assicurati di avere il file kubeconfig del cluster
org-1-infra, come descritto in Utilizzare i cluster:- Configura ed esegui l'autenticazione con la riga di comando
gdcloude - genera il file kubeconfig per il cluster di infrastruttura dell'organizzazione e assegna il relativo percorso alla variabile di ambiente
KUBECONFIG.
- Configura ed esegui l'autenticazione con la riga di comando
Per eseguire i carichi di lavoro, devi disporre del ruolo
sandbox-gpu-adminassegnato. Per impostazione predefinita, il ruolo viene assegnato all'utenteplatform-admin. Puoi assegnare il ruolo ad altri utenti accedendo comeplatform-admined eseguendo il seguente comando:kubectl --kubeconfig ${KUBECONFIG} create rolebinding ${NAME} --role=sandbox-gpu-admin \ --user=${USER} --namespace=sandbox-gpu-projectPer consentire il traffico di rete al container, devi disporre di un criterio di rete del progetto. Per saperne di più, consulta Creare una policy di rete.
Configura un container per utilizzare le risorse GPU
Aggiungi i campi
.containers.resources.requestse.containers.resources.limitsalla specifica del container per richiedere le GPU per il carico di lavoro. Tutti i container all'interno di sandbox-gpu-project possono richiedere un totale massimo di 4 GPU in tutto il progetto. L'esempio seguente richiede una GPU come parte della specifica del container.apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment namespace: sandbox-gpu-project labels: app: nginx spec: replicas: 1 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:latest resources: requests: nvidia.com/gpu-pod-NVIDIA_H100_80GB_HBM3: 1 limits: nvidia.com/gpu-pod-NVIDIA_H100_80GB_HBM3: 1
I container richiedono anche autorizzazioni aggiuntive per accedere alle GPU. Per ogni container che richiede GPU, aggiungi un
.containers.securityContextche concedasecurityContext.seLinuxOptionsdi tipounconfined_tal container.apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment namespace: sandbox-gpu-project labels: app: nginx spec: replicas: 1 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:latest resources: requests: nvidia.com/gpu-pod-NVIDIA_H100_80GB_HBM3: 1 limits: nvidia.com/gpu-pod-NVIDIA_H100_80GB_HBM3: 1 securityContext: seLinuxOptions: type: unconfined_tApplica il file manifest del container:
kubectl apply -f ${CONTAINER_MANIFEST_FILE_PATH} \ -n sandbox-gpu-project \ --kubeconfig ${KUBECONFIG}