如何确保kubernetes节点的容器运行时为nvidia-docker?

时间:2019-02-08 08:01:19

标签: kubernetes gpu nvidia nvidia-docker

我需要检查kubernetes节点是否配置正确。需要为其中一个工作节点使用nvidia-docker。

使用:https://github.com/NVIDIA/k8s-device-plugin

如何确认设备插件的配置正确?

$ kubectl describe node mynode
Roles:              worker
Capacity:
 cpu:                4
 ephemeral-storage:  15716368Ki
 hugepages-1Gi:      0
 hugepages-2Mi:      0
 memory:             62710736Ki
 nvidia.com/gpu:     1
 pods:               110
Allocatable:
 cpu:                3800m
 ephemeral-storage:  14484204725
 hugepages-1Gi:      0
 hugepages-2Mi:      0
 memory:             60511184Ki
 nvidia.com/gpu:     1
 pods:               110
System Info:
 Machine ID:                 f32e0af35637b5dfcbedcb0a1de8dca1
 System UUID:                EC2A40D3-76A8-C574-0C9E-B9D571AA59E2
 Boot ID:                    9f2fa456-0214-4f7c-ac2a-2c62c2ef25a4
 Kernel Version:             3.10.0-957.1.3.el7.x86_64
 OS Image:                   CentOS Linux 7 (Core)
 Operating System:           linux
 Architecture:               amd64
 Container Runtime Version:  docker://18.9.1
 Kubelet Version:            v1.11.2
 Kube-Proxy Version:         v1.11.2

但是,我可以在节点资源下看到nvidia.com/gpu,问题是:如果节点配置正确,Container Runtime Version是否应该说nvidia-docker?目前,它显示docker似乎有点腥!

1 个答案:

答案 0 :(得分:0)

不确定是否已经做过,但是似乎已经清楚地描述了:

在安装NVIDIA驱动程序和NVIDIA docker之后,您需要通过按指定的here编辑/etc/docker/daemon.json在节点上启用nvidia运行时。 因此,如指令所述,如果您可以看到runtimes是正确的,则只需编辑该配置。

然后部署DeamonSet(这是确保Pod在每个节点上运行并可以访问主机网络和设备的方式):

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

现在您的容器已准备好使用GPU-如here.

所述