导语:在k8s的GPU节点上无法使用/usr/bin/nvidia-smi

报错1

NVIDIA-SMI couldn’t find libnvidia-ml.so library in your system

这个我明明安装了显卡驱动 在宿主机使用nvidia-smi没问题,但是在容器内就报错NVIDIA-SMI couldn’t find libnvidia-ml.so library in your system

./NVIDIA-Linux-x86_64-470.63.01.run  -silent --no-x-check --no-nouveau-check --install-libglvnd

原因:因为node节点只有一个有GPU和同事一起测试,同事给GPU节点打了污点,安装nvidia-device-plugin插件的时候没有添加容忍,导致其他几台没有GPU的节点安装好了,真正有GPU的节点没有安装插件,但是页面上因为污点的问题没有显示not ready这些报错信息(因为压根没装)。启动的时候指定了GPU的节点运行,就出现了尴尬的问题。安装完查看象征性的检查了一下,发现插件的pod都是1/1 也没多想。

报错2

nvidia-smi 无法显示CUDA版本

错误如图

需要在yaml里添加env参数 - NVIDIA_DRIVER_CAPABILITIES=all,docker-compose也有这个情况。

k8s

        env:
        - name: NVIDIA_DRIVER_CAPABILITIES
          value: all

docker-compose

    environment:
      - NVIDIA_DRIVER_CAPABILITIES=all

添加完成之后重新应用即可

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐