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'IA di GDC Sandbox include quattro GPU NVIDIA H100 80GB HBM3 all'interno
del cluster org-infra. 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 contenitore per utilizzare queste GPU.
Le GPU nello SKU ottimizzato per l'AI della sandbox GDC sono associate a un progetto preconfigurato, "sandbox-gpu-project". Per utilizzare le GPU, devi eseguire il deployment del contenitore utilizzando questo progetto.
Prima di iniziare
Per eseguire comandi sul cluster di infrastruttura dell'organizzazione, assicurati di disporre del kubeconfig del cluster
org-1-infra
, come descritto in Utilizzare i cluster:- Configura ed esegui l'autenticazione con la riga di comando
gdcloud
e - 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-admin
. Per impostazione predefinita, il ruolo viene assegnato all'utenteplatform-admin
. Puoi assegnare il ruolo ad altri utenti accedendo comeplatform-admin
ed eseguendo il seguente comando:kubectl --kubeconfig ${KUBECONFIG} create rolebinding ${NAME} --role=sandbox-gpu-admin \ --user=${USER} --namespace=sandbox-gpu-project
Configura un container per utilizzare le risorse GPU
Aggiungi i campi
.containers.resources.requests
e.containers.resources.limits
alla specifica del container per richiedere GPU per il carico di lavoro. Tutti i container all'interno di sandbox-gpu-project possono richiedere fino a un totale di 4 GPU nell'intero 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 le seguenti autorizzazioni alla specifica del container:
securityContext: seLinuxOptions: type: unconfined_t
Applica il file manifest del contenitore:
kubectl apply -f ${CONTAINER_MANIFEST_FILE_PATH} \ -n sandbox-gpu-project \ --kubeconfig ${KUBECONFIG}