本页面介绍了如何解决与 Google Kubernetes Engine (GKE) 中的 GPU 相关的问题。
如果您需要其他帮助,请与 Cloud Customer Care 联系。
GPU 驱动程序安装
本部分提供了有关 GKE 中的自动 NVIDIA 设备驱动程序安装的问题排查信息。
在 Ubuntu 节点中安装驱动程序失败
如果您使用挂接了 L4 GPU 或 H100 GPU 的 Ubuntu 节点,则 GKE 安装的默认 GPU 驱动程序可能会低于这些 GPU 所需的版本。因此,GPU 设备插件 Pod 会卡在“待处理”状态,并且这些节点上的 GPU 工作负载可能会遇到问题。
如需解决此问题,请运行以下命令来手动安装驱动程序版本 500 或更高版本:
kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/container-engine-accelerators/master/nvidia-driver-installer/ubuntu/daemonset-preloaded-R535.yaml
GPU 设备插件失败并显示 CrashLoopBackOff 错误
如果您在 2023 年 1 月 25 日之前在节点池中使用了手动驱动程序安装方法,然后将节点池升级到支持自动驱动程序安装的 GKE 版本,则会出现以下问题。这两项安装工作负载同时存在,并尝试在节点上安装冲突的驱动程序版本。
GPU 设备插件 init 容器失败并显示 Init:CrashLoopBackOff
状态。容器的日志类似于以下内容:
failed to verify installation: failed to verify GPU driver installation: exit status 18
如需解决此问题,请尝试以下方法:
从集群中移除手动驱动程序安装 DaemonSet。这会删除冲突的安装工作负载,并让 GKE 自动将驱动程序安装到您的节点。
kubectl delete -f https://raw.githubusercontent.com/GoogleCloudPlatform/container-engine-accelerators/master/nvidia-driver-installer/cos/daemonset-preloaded.yaml
将手动驱动程序安装 DaemonSet 清单重新应用到您的集群。 2023 年 1 月 25 日,我们更新了清单,以忽略使用自动驱动程序安装的节点。
kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/container-engine-accelerators/master/nvidia-driver-installer/cos/daemonset-preloaded.yaml
为节点池停用驱动程序自动安装功能。更新操作完成后,现有的驱动程序安装 DaemonSet 应按预期运行。
gcloud container node-pools update POOL_NAME \ --accelerator=type=GPU_TYPE,count=GPU_COUNT,gpu-driver-version=disabled \ --cluster=CLUSTER_NAME \ --location=LOCATION
请替换以下内容:
POOL_NAME
:节点池的名称。GPU_TYPE
:节点池已在使用的 GPU 类型。GPU_COUNT
:已挂接到节点池的 GPU 数量。CLUSTER_NAME
:包含节点池的 GKE 集群的名称。LOCATION
:集群的 Compute Engine 位置。
后续步骤
如果您需要其他帮助,请与 Cloud Customer Care 联系。