You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubernetes GPU Pod报错nvidia-smi可执行文件未在$PATH中找到 排查求助

排查解决步骤

核心故障根源是NVIDIA GPU Operator的工具包验证组件无法找到nvidia-smi执行路径,本质是容器运行时的GPU支持配置冲突/缺失,按以下顺序排查:

1. 确认宿主机GPU驱动和容器运行时基础配置有效性

  • 首先在集群节点直接执行nvidia-smi,确认返回正常的GPU信息,排除驱动本身损坏问题
  • 测试Docker原生GPU容器运行能力,执行:
    docker run --rm --gpus all nvidia/cuda:11.4.0-base-ubuntu20.04 nvidia-smi
    
    如果该命令报错,说明未正确安装NVIDIA Container Toolkit,需重新配置Docker的NVIDIA运行时,配置完成后重启Docker和kubelet服务。

2. 排查组件冲突问题

你同时手动安装了NVIDIA k8s-device-plugin和GPU Operator,二者存在功能重叠冲突:GPU Operator本身已内置device-plugin、DCGM、特性发现等全套组件,手动安装的device-plugin会占用GPU资源句柄、修改runtime配置,导致Operator验证失败。

  • 完全删除手动安装的NVIDIA k8s-device-plugin所有相关资源(DaemonSet、ConfigMap、RBAC权限等)

3. 修正GPU Operator部署参数

你已在宿主机预装了GPU驱动,GPU Operator默认会自动尝试安装驱动,会和宿主机已有驱动冲突,同时你使用Docker作为容器运行时,需要指定对应参数:

  • 卸载当前已部署的GPU Operator,清理节点上残留的/run/nvidia、/usr/local/nvidia目录
  • 重新部署GPU Operator时添加以下参数:
    helm install nvidia/gpu-operator \
      --namespace gpu-operator-resources \
      --create-namespace \
      --set driver.enabled=false \
      --set runtime=docker
    

4. 部署后验证

  • 等待10-15分钟后执行kubectl get pods -n gpu-operator-resources,确认所有Pod处于Running状态
  • 再执行节点资源查询命令kubectl get nodes -o=custom-columns=NAME:.metadata.name,GPUs:.status.capacity.'nvidia\.com/gpu',确认GPU资源可正常调度
  • 最后启动JupyterHub的GPU实例,确认实例正常创建,在实例终端执行nvidia-smi验证GPU可用

内容的提问来源于stack exchange,提问作者hande

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 16:24:03