自GPU设备插件v0.12.0版本起,Docker Hub将不再发布新镜像。请使用NGC目录中的镜像:nvcr.io/nvidia/k8s-device-plugin
NVIDIA Kubernetes设备插件(k8s-device-plugin)是一个符合Kubernetes设备插件框架规范的组件,用于在Kubernetes集群中实现NVIDIA GPU资源的自动发现、管理和调度。该插件允许集群中的Pod通过Kubernetes API请求GPU资源,并确保GPU资源被正确分配和隔离。
主要用途:作为Kubernetes节点级组件,为集群提供GPU资源的抽象和管理能力,使容器化应用能够便捷地使用NVIDIA GPU进行加速计算。
适用于需要在Kubernetes集群中运行GPU加速工作负载的场景,包括但不限于:
适用环境:
| 版本号 | 标签名称 | 基础镜像 | Dockerfile链接 |
|---|---|---|---|
| v0.11.0 | v0.11.0, v0.11.0-ubuntu20.04 | Ubuntu 20.04 | https://github.com/NVIDIA/k8s-device-plugin/blob/v0.11.0/deployments/container/Dockerfile.ubuntu |
| v0.11.0 | v0.11.0-ubi8 | Red Hat UBI 8 | https://github.com/NVIDIA/k8s-device-plugin/blob/v0.11.0/deployments/container/Dockerfile.ubi8 |
| v0.10.0 | v0.10.0, v0.10.0-ubuntu20.04 | Ubuntu 20.04 | https://github.com/NVIDIA/k8s-device-plugin/blob/v0.10.0/docker/Dockerfile |
| v0.10.0 | v0.10.0-ubi8 | Red Hat UBI 8 | https://github.com/NVIDIA/k8s-device-plugin/blob/v0.10.0/docker/Dockerfile |
| v0.9.0 | latest, v0.9.0, v0.9.0-ubuntu16.04 | Ubuntu 16.04 | https://github.com/NVIDIA/k8s-device-plugin/blob/v0.9.0/docker/amd64/Dockerfile.ubuntu16.04 |
| v0.9.0 | v0.9.0-centos7 | CentOS 7 | https://github.com/NVIDIA/k8s-device-plugin/blob/v0.9.0/docker/amd64/Dockerfile.centos7 |
| v0.9.0 | v0.9.0-ubi8 | Red Hat UBI 8 | https://github.com/NVIDIA/k8s-device-plugin/blob/v0.9.0/docker/amd64/Dockerfile.ubi8 |
| v0.8.x | v0.8.2-ubuntu16.04, v0.8.2-centos7, v0.8.2-ubi8等 | Ubuntu 16.04/CentOS 7/UBI 8 | https://github.com/NVIDIA/k8s-device-plugin/tree/v0.8.2/docker/amd64 |
v0.7.x及更早版本(amd64架构)
包含v0.7.3、v0.7.2、v0.6.0、v0.5.0等版本,支持Ubuntu 16.04、CentOS 7、UBI 8基础镜像,标签格式为v<版本>-<基础镜像>(如v0.7.0-ubuntu16.04)。
Dockerfile链接示例:https://github.com/NVIDIA/k8s-device-plugin/blob/v0.7.0/docker/amd64/Dockerfile.ubuntu16.04
早期beta版本
包含1.0.0-beta、1.0.0-beta1至1.0.0-beta6等版本,标签格式为<beta版本>-<基础镜像>(如1.0.0-beta6-centos7)。
1.x系列旧版本
包含1.11、1.10、1.9等版本,支持Ubuntu 16.04和CentOS 7基础镜像,标签格式为<版本>-<基础镜像>(如1.11-ubuntu16.04)。
通过Kubernetes DaemonSet在集群所有GPU节点上部署设备插件:
yamlapiVersion: apps/v1 kind: DaemonSet metadata: name: nvidia-device-plugin-daemonset namespace: kube-system spec: selector: matchLabels: name: nvidia-device-plugin-ds template: metadata: labels: name: nvidia-device-plugin-ds spec: tolerations: - key: nvidia.com/gpu operator: Exists effect: NoSchedule containers: - image: nvcr.io/nvidia/k8s-device-plugin:v0.14.1 # 使用NGC最新镜像 name: nvidia-device-plugin-ctr securityContext: allowPrivilegeEscalation: false capabilities: drop: ["ALL"] volumeMounts: - name: device-plugin mountPath: /var/lib/kubelet/device-plugins volumes: - name: device-plugin hostPath: path: /var/lib/kubelet/device-plugins
部署命令:
bashkubectl apply -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.14.1/deployments/static/nvidia-device-plugin.yml
前置条件:
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.nvidia])版本兼容性:
资源验证: 部署后可通过以下命令验证GPU资源是否被正确识别:
bashkubectl describe nodes | grep nvidia.com/gpu
以下是 nvidia/k8s-device-plugin 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务