我需要检查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
似乎有点腥!
答案 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.
所述