Auf dieser Seite wird beschrieben, wie Sie GPU-Containerarbeitslasten in der AI Optimized-SKU der Google Distributed Cloud (GDC) Sandbox bereitstellen.
GPU-Containerarbeitslasten bereitstellen
Die für KI optimierte GDC Sandbox-SKU umfasst vier NVIDIA H100 80 GB HBM3-GPUs im org-infra-Cluster. Auf diese GPUs kann über den Ressourcennamen nvidia.com/gpu-pod-NVIDIA_H100_80GB_HBM3
zugegriffen werden. In diesem Abschnitt wird beschrieben, wie Sie eine Containerkonfiguration aktualisieren, um diese GPUs zu verwenden.
Die GPUs in der KI-optimierten SKU für GDC Sandbox sind mit einem vorkonfigurierten Projekt verknüpft: sandbox-gpu-project. Sie müssen Ihren Container mit diesem Projekt bereitstellen, um die GPUs nutzen zu können.
Hinweise
Wenn Sie Befehle für den Infrastrukturcluster der Organisation ausführen möchten, müssen Sie die kubeconfig des
org-1-infra
-Clusters haben, wie unter Mit Clustern arbeiten beschrieben:- Konfigurieren und authentifizieren Sie sich mit der
gdcloud
-Befehlszeile. - Generieren Sie die kubeconfig-Datei für den Infrastrukturcluster der Organisation und weisen Sie ihren Pfad der Umgebungsvariable
KUBECONFIG
zu.
- Konfigurieren und authentifizieren Sie sich mit der
Zum Ausführen der Arbeitslasten muss Ihnen die Rolle
sandbox-gpu-admin
zugewiesen sein. Standardmäßig ist die Rolle dem Nutzerplatform-admin
zugewiesen. Sie können die Rolle anderen Nutzern zuweisen, indem Sie sich alsplatform-admin
anmelden und den folgenden Befehl ausführen:kubectl --kubeconfig ${KUBECONFIG} create rolebinding ${NAME} --role=sandbox-gpu-admin \ --user=${USER} --namespace=sandbox-gpu-project
Container für die Nutzung von GPU-Ressourcen konfigurieren
Fügen Sie der Containerspezifikation die Felder
.containers.resources.requests
und.containers.resources.limits
hinzu, um GPUs für die Arbeitslast anzufordern. Alle Container im Sandbox-GPU-Projekt können insgesamt bis zu 4 GPUs für das gesamte Projekt anfordern. Im folgenden Beispiel wird eine GPU als Teil der Containerspezifikation angefordert.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
Für Container sind außerdem zusätzliche Berechtigungen für den Zugriff auf GPUs erforderlich. Fügen Sie für jeden Container, der GPUs anfordert, der Containerspezifikation die folgenden Berechtigungen hinzu:
securityContext: seLinuxOptions: type: unconfined_t
Wenden Sie die Container-Manifestdatei an:
kubectl apply -f ${CONTAINER_MANIFEST_FILE_PATH} \ -n sandbox-gpu-project \ --kubeconfig ${KUBECONFIG}