GKE上Kubeflow集群添加GPU及Notebook服务器启动故障求助
解决GKE Kubeflow集群中启动单GPU Notebook服务器的问题
我前段时间刚在GKE的Kubeflow集群里搞定了单块GPU的Notebook服务器,用的就是T4 GPU,刚好能帮你排查问题并给出可行的操作步骤!
先确认GKE集群的GPU基础配置
首先得确保你的GKE节点池已经正确配置了GPU:
- 创建节点池时,选择T4 GPU(单块),并且在节点池配置里勾选「Install NVIDIA GPU driver」(GKE会自动帮你部署驱动和相关组件,省了手动安装的麻烦)
- 验证节点是否识别到GPU:执行
kubectl get nodes -o custom-columns=NAME:.metadata.name,GPU:.status.capacity.nvidia\.com/gpu,应该能看到对应节点的GPU值为1
检查Kubeflow的GPU支持组件
Kubeflow依赖NVIDIA的Device Plugin来调度GPU资源,所以要确认这个组件正常运行:
- 执行
kubectl get pods -n kube-system | grep nvidia-device-plugin,如果看到状态是Running就没问题 - 如果没有运行,你可以从NVIDIA的k8s-device-plugin仓库获取最新的manifest文件,然后执行
kubectl apply -f <manifest-file-path>来部署
创建GPU Notebook服务器的正确步骤
当你在Kubeflow UI里创建Notebook时,要注意这几个关键配置:
- 选择支持GPU的镜像:比如Kubeflow官方提供的
kubeflownotebookswg/jupyter-tensorflow-full:v1.8.0(带TensorFlow GPU环境),或者PyTorch的GPU镜像,避免用纯CPU镜像 - 配置GPU资源请求:在「Advanced settings」里找到「Resource limits and requests」,添加
nvidia.com/gpu的请求和限制,值都设为1 - 确认服务账号权限:确保你用的Notebook服务账号(默认是
default-editor)有足够的权限来请求GPU资源,一般默认配置就够,如果遇到RBAC问题,可以检查对应的Role绑定
排查Notebook启动失败的常见问题
如果你的Notebook一直处于Pending或者启动失败状态,可以这样排查:
- 查看Pod的事件:执行
kubectl describe pod <notebook-pod-name> -n <your-user-namespace>,重点看Events里的提示,比如有没有「Insufficient nvidia.com/gpu」(说明没有可用的GPU节点)或者镜像拉取失败的信息 - 确认节点池的自动扩缩容是否开启:如果只有一个GPU节点,且被其他Pod占用,可能需要开启节点池的自动扩缩容,或者手动添加节点
- 检查Kubeflow版本:尽量用1.8以上的版本,旧版本可能和新的GKE GPU配置不兼容
我自己用的就是单块T4 GPU,按照上面的步骤操作后,Notebook服务器顺利启动,并且能正常调用GPU进行模型训练。
内容的提问来源于stack exchange,提问作者OlgaPp
相关产品推荐
相关产品推荐

