本页面介绍了如何在 Google Distributed Cloud (GDC) Sandbox AI 优化 SKU 上部署 GPU 容器工作负载。
部署 GPU 容器工作负载
GDC Sandbox AI 优化 SKU 在组织基础架构集群中包含四个 NVIDIA H100 80GB HBM3 GPU。这些 GPU 可通过资源名称 nvidia.com/gpu-pod-NVIDIA_H100_80GB_HBM3 进行访问。本部分介绍了如何更新容器配置以使用这些 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。沙盒 GPU 项目中的所有容器最多可以请求整个项目中的 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}