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

Jetson Xavier NX上Kubernetes GPU PodPending及容器启动失败求助

Jetson Xavier NX K8s集群GPU Pod pending及容器启动失败问题解决

1. 解决libcuda.so文件缺失的核心问题

  • Jetson Xavier NX是ARM64架构,你用的nvcr.io/nvidia/k8s/cuda-sample:vectoradd-cuda10.2是x86架构镜像,和Jetson的CUDA库路径、版本完全不匹配,直接换ARM适配的镜像测试:
    sudo nerdctl run --rm --gpus all nvcr.io/nvidia/l4t-base:r32.7.1 nvidia-smi
    
    先验证这个基础镜像能否正常识别GPU,后续测试用l4t-cuda系列镜像,确保版本和主机JetPack对应的CUDA版本一致(比如JetPack 4.5对应CUDA 11.0)。
  • 先查主机上实际存在的CUDA库版本:
    ls /usr/lib/aarch64-linux-gnu/libcuda.so*
    

2. 修正containerd的nvidia runtime配置

  • 打开containerd的config.toml(通常路径为/etc/containerd/config.toml),找到nvidia runtime相关配置,确保如下:
    [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.nvidia]
      runtime_type = "io.containerd.runc.v2"
      [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.nvidia.options]
        BinaryName = "nvidia-container-runtime"
        SystemdCgroup = true
    
  • 配置默认runtime为nvidia:
    sudo nvidia-container-runtime configure --runtime=containerd
    
  • 重启containerd生效:
    sudo systemctl restart containerd
    

3. 检查nvidia-device-plugin的有效性

  • 查看插件Pod是否正常运行:
    kubectl get pods -n kube-system | grep nvidia-device-plugin
    
  • 如果Pod异常,查看日志排查问题:
    kubectl logs <插件Pod名称> -n kube-system
    
  • 注意:必须使用适配Jetson的device-plugin镜像,比如nvcr.io/nvidia/k8s-device-plugin:v0.12.3-jetson,不要用x86版本的插件镜像。

4. 验证K8s节点的GPU资源注册

  • 执行命令查看节点的GPU资源状态:
    kubectl describe node node1
    
  • 检查Allocated resources区域,确认存在nvidia.com/gpu的资源条目且可用数大于0,这样GPU Pod才能被正常调度。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 05:48:07