Kubernetes (k8s)调用GPU配置

1、安装GPU驱动和CUDA

https://www.nvidia.com/Download/index.aspx?lang=en-us 下载驱动程序,按照自己和显卡型号选择

安装cuda,地址:https://developer.nvidia.com/cuda-toolkit-archive

2、安装nvidia-docker2

curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo | \
  sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
sudo yum-config-manager --enable nvidia-container-toolkit-experimental
yum install nvidia-docker2

其它版本系统可参考:

https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#installing-with-yum-or-dnf

此源包含nvidia-docker2和nvidia-container-toolkit,应该这两个都可以支持调用GPU.

修改docker配置

vim /etc/docker/daemon.json
{
    "default-runtime": "nvidia",
    "runtimes": {
        "nvidia": {
            "path": "/usr/bin/nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}
systemctl restart docker

 3、安装k8s-device-plugin

# wget https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.12.0/nvidia-device-plugin.yml
# kubectl create -f nvidia-device-plugin.yml

检查插件运行情况:

kubectl get pods -n kube-system

若没有nvidia-device-plugin-daemonset的pod运行,需要检查新建的nvidia-device-plugin.yml中的DaemonSet是否正常,如果DaemonSet运行不正常,则检查DaemonSet。

kubectl describe daemonset -n default

4、问题处理

单机器K8S,无法调度GPU

去除master节点的污点标记,默认K8S集群不允许master节点上被调度到带GPU的POD,需要去除污点。

Insufficient nvidia.com/gpu

 在使用kubectl logs查询插件的日志时,出现了如下问题:

当出现这个问题时,请仔细检查一下是否配置了nvidia默认运行时,检查/etc/docker/daemon.json

  {
  "default-runtime": "nvidia",
  "runtimes": {
      "nvidia": {
          "path": "/usr/bin/nvidia-container-runtime",
          "runtimeArgs": []
      }
  }

如有修改,请重启docker

posted @   清风6661  阅读(449)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示