Skip to main content
版本:Next

安装NVIDIA GPU支持

开启 GPU 支持 (云边共用)

在云端运行下面命令:

kubectl apply -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.13.0/nvidia-device-plugin.yml

在边端修改edgecore.yaml

vim /etc/kubeedge/config/edgecore.yaml
# 修改以下部分
devicePluginEnabled: true
gpuPluginEnabled: true

# 重启edgecore
systemctl restart edgecore.service

修改云边所有设备上的/etc/docker/daemon.json,添加如下内容:

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

正常运行状态

在云端使用 kubectl get pods -A 查看nvidia相关pod,并使用 kubectl logs xxx -n xxxkubectl describe pod xxx -n xxx 检查pod的情况。

NVIDIA device plugin pod 为 Running 只代表 pod 已经启动,还需要检查节点是否真正注册了 GPU 资源:

kubectl get node <edge-node-name> -o jsonpath='{.status.capacity.nvidia\.com/gpu}{"\n"}'

预期输出为 1 或其他正数 GPU 数量。如果输出为空,请检查 /etc/kubeedge/config/edgecore.yaml 中的 devicePluginEnabledgpuPluginEnabled,然后重启 edgecore.service

云端pod情况:

nvidia-plugin1.png

nvidia-plugin2.png

边端pod情况:

nvidia-plugin3.png

nvidia-plugin4.png

在云端运行demo容器检查nvidia gpu是否能够正常获取:

kubectl run -i -t nvidia --image=jitteam/devicequery

nvidia-plugin5.png