GPU设备插件(NVIDIA Device Plugin)是Kubernetes集群中用于管理每个节点的GPU的组件,使得Kubernetes能够更方便、高效地利用GPU资源。
使用说明
关于如何查看NVIDIA Device Plugin版本、升级NVIDIA Device Plugin、重启NVIDIA Device Plugin、GPU设备隔离等更多操作,请参见配置及管理NVIDIA Device Plugin。
对于以DaemonSet方式部署的NVIDIA Device Plugin,有如下几点需要说明:
集群在创建时,会自动安装该组件。
如果您卸载该组件将导致扩容的GPU节点无法正常上报GPU资源。
集群由低版本升级到1.32过程中,会同时将以Static Pod方式部署的NVIDIA Device Plugin升级为ACK组件形式。
该DaemonSet存在一个NodeSelector(ack.node.gpu.schedule=default),GPU节点在添加到集群中时,ACK添加节点的脚本会自动为该GPU节点打上该标签,使DaemonSet能够在GPU节点上部署对应的Pod。
若您节点操作系统为Ubuntu 22.04或Red Hat Enterprise Linux(RHEL) 9.3 64位,由于
ack-nvidia-device-plugin
组件会为Pod默认配置环境变量NVIDIA_VISIBLE_DEVICES=all
,可能会因为节点执行systemctl daemon-reload
、systemctl daemon-reexec
命令后,无法访问GPU设备导致NVIDIA Device Plugin无法正常工作。更多详情,请参见运行GPU容器出现Failed to initialize NVML: Unknown Error的问题怎么办?。若您在2025年05月01之前将集群从低版本升级到1.32版本,集群中可能会同时存在以Static Pod方式部署和DaemonSet方式部署的NVIDIA Device Plugin。可执行如下脚本查看以Static Pod方式部署的节点。
#!/bin/bash for i in $(kubectl get po -n kube-system -l component=nvidia-device-plugin | grep -v NAME | awk '{print $1}');do if kubectl get po $i -o yaml -n kube-system | grep 'kubernetes.io/config.source: file' &> /dev/null;then kubectl get pod $i -n kube-system -o jsonpath='{.spec.nodeName}{"\n"}' fi done
预期输出:
cn-beijing.10.12.XXX.XX cn-beijing.10.13.XXX.XX
通过预期输出可以看到部分节点中仍存在以Static Pod方式部署的NVIDIA Device Plugin。可以使用如下方式将Static Pod方式部署的NVIDIA Device Plugin迁移到DaemonSet。
kubectl label nodes <NODE_NAME> ack.node.gpu.schedule=default
版本差异
ack-nvidia-device-plugin
组件随着集群版本的不同,其实现方式和管理策略也有所变化。若您集群版本低于1.20,建议您手动升级集群。相关差异如下所示:
特性 | 1.32及以上集群版本 | 1.20至1.31间集群版本 |
部署方式 | DaemonSet | Static Pod |
管理方式 | 控制台组件管理 | 手动维护 |
节点标签要求 | ack.node.gpu.schedule=default | 无特殊要求 |
变更说明
2025年07月
版本号 | 镜像Tag | 变更时间 | 变更内容 | 变更影响 |
v0.3.0 | v0.17.0-ack-1.0-678014dd | 2025年07月14日 |
| 此次升级不会对业务造成影响。 |
2025年04月
版本号 | 镜像Tag | 变更时间 | 变更内容 | 变更影响 |
v0.2.0 | v0.17.0-49a827fd-aliyun | 2025年04月29日 |
| 此次升级不会对业务造成影响。 |
2024年12月
版本号 | 镜像Tag | 变更时间 | 变更内容 | 变更影响 |
v0.1.0 | v0.17.0-1-aliyun | 2024年12月26日 | 基于NVIDIA Device Plugin社区v0.17.0版本。 | 此次升级不会对业务造成影响。 |