GPU-enabled Kubernetes容器无法调度问题排查求助
GPU Pod调度失败排查建议
- 检查节点GPU资源上报情况:执行
kubectl describe node <你的GPU节点名称>,查看Capacity和Allocatable字段下的nvidia.com/gpu值是否为1。调度器依赖节点上报的资源容量而非标签,若该字段为0,说明资源未正确上报。 - 验证NVIDIA Device Plugin运行状态:执行
kubectl get pods -n nvidia-gpu-operator,确认nvidia-device-plugin-daemonset相关Pod处于Running状态。查看Pod日志(kubectl logs -n nvidia-gpu-operator <device-plugin-pod-name>),排查驱动适配、权限类报错。 - 核对工作负载的资源请求配置:检查演示Pod的YAML,确认
resources.requests中是否正确声明nvidia.com/gpu: 1,避免资源名称拼写错误(如误写为gpu)或请求数量超过节点可用值。 - 检查容器运行时的NVIDIA Runtime配置:确认containerd或docker已配置NVIDIA runtime为默认或可调用状态。以containerd为例,查看
/etc/containerd/config.toml中是否包含nvidia runtime配置,且containerd服务已重启。 - 排查GPU节点的污点与Pod容忍度:执行
kubectl describe node <你的GPU节点名称>查看Taints字段,若存在控制平面外的其他污点,需在Pod的tolerations中添加对应规则,或移除节点上的非必要污点。 - 检查GPU Operator核心组件状态:执行
kubectl get pods -n nvidia-gpu-operator,确认gpu-operator、nvidia-driver-daemonset等核心Pod均正常运行,查看Operator日志(kubectl logs -n nvidia-gpu-operator <gpu-operator-pod-name>)排查配置异常。 - 验证Kubernetes调度器状态:执行
kubectl get kube-scheduler -n kube-system确认调度器处于健康状态,必要时查看调度器日志排查资源识别相关问题。
内容的提问来源于stack exchange,提问作者yand_ua
相关产品推荐
相关产品推荐

