本頁說明如何在 Google Distributed Cloud (GDC) Sandbox AI 最佳化 SKU 上部署 GPU 容器工作負載。
部署 GPU 容器工作負載
GDC Sandbox AI 最佳化 SKU 在機構基礎架構叢集中包含四個 NVIDIA H100 80GB HBM3 GPU。您可以使用資源名稱 nvidia.com/gpu-pod-NVIDIA_H100_80GB_HBM3
存取這些 GPU。本節說明如何更新容器設定,以使用這些 GPU。
GDC Sandbox AI 最佳化 SKU 中的 GPU 會與預先設定的專案「sandbox-gpu-project」建立關聯。您必須使用這個專案部署容器,才能使用 GPU。
事前準備
如要對機構基礎架構叢集執行指令,請確認您擁有
org-1-infra
叢集的 kubeconfig,如「使用叢集」一文所述:- 使用
gdcloud
指令列設定及驗證,以及 - 產生機構基礎架構叢集的 kubeconfig 檔案,並將其路徑指派給環境變數
KUBECONFIG
。
- 使用
如要執行工作負載,您必須獲派
sandbox-gpu-admin
角色。 根據預設,系統會將角色指派給platform-admin
使用者。您可以登入platform-admin
,然後執行下列指令,將角色指派給其他使用者:kubectl --kubeconfig ${KUBECONFIG} create rolebinding ${NAME} --role=sandbox-gpu-admin \ --user=${USER} --namespace=sandbox-gpu-project
設定容器以使用 GPU 資源
在容器規格中加入
.containers.resources.requests
和.containers.resources.limits
欄位,為工作負載要求 GPU。sandbox-gpu-project 中的所有容器,在整個專案中最多可要求 4 個 GPU。下列範例會要求一個 GPU 做為容器規格的一部分。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
容器也需要額外權限才能存取 GPU。針對要求 GPU 的每個容器,請在容器規格中新增下列權限:
securityContext: seLinuxOptions: type: unconfined_t
套用容器資訊清單檔案:
kubectl apply -f ${CONTAINER_MANIFEST_FILE_PATH} \ -n sandbox-gpu-project \ --kubeconfig ${KUBECONFIG}