为了在容器中使用GPU,kubernetes设备插件需要挂载什么?

jm81lzqq  于 2023-06-21  发布在  Kubernetes
关注(0)|答案(1)|浏览(126)

我已经为kubernetes构建了一个GPU设备插件。GPU设备由插件分配,但GPU驱动程序未在容器内检测到。据我所知,我需要挂载几个目录,以便容器检测Nvidia驱动程序。
我使用的是nvidia/cuda:12.0.0-devel-ubuntu22.04docker镜像,因为cuda被检测到了,但是对于nvidia驱动程序,我不确定设备插件需要挂载的所有目录。我已经尝试挂载/usr/local/nvidia,但它给了我CreateContainerError。有什么建议吗?

eyh26e7m

eyh26e7m1#

您应该在所有节点中安装nvidia-container-toolkit。

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/libnvidia-container/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | sudo tee /etc/apt/sources.list.d/libnvidia-container.list

sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit

下一步编辑/etc/docker/daemon.json

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

安装插件

kubectl create -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/1.0.0-beta4/nvidia-device-plugin.yml

阅读更多https://github.com/NVIDIA/k8s-device-plugin

相关问题