nvidia-device-plugin介绍

1. 简介

NVIDIA device plugin 通过k8s daemonset的方式部署到每个k8s的node节点上,实现了Kubernetes device plugin的接口。

提供以下功能:

  • 暴露每个节点的GPU数量给集群

  • 跟踪GPU的健康情况

  • 使在k8s的节点可以运行GPU容器

2. 要求

3. 使用

3.1. 安装NVIDIA drivers和nvidia-docker

提供GPU节点的机器,准备工作如下

  1. 安装NVIDIA drivers ~= 384.81

  2. 安装nvidia-docker version > 2.0

3.2. 配置docker runtime

配置nvidia runtime作为GPU节点的默认runtime。

修改文件/etc/docker/daemon.json,增加以下runtime内容。

3.3. 部署nvidia-device-plugin

nvidia-device-plugin的daemonset yaml文件如下:

3.4. 运行GPU任务

创建一个GPU的pod,pod的资源类型指定为nvidia.com/gpu

4. 构建和运行nvidia-device-plugin

4.1. docker方式

4.1.1. 编译

  • 直接拉取dockerhub的镜像

  • 拉取代码构建镜像

  • 修改nvidia-device-plugin后构建镜像

4.1.2. 运行

  • docker本地运行

  • daemonset运行

4.2. 非docker方式

4.2.1. 编译

4.2.2. 本地运行

参考:

最后更新于

这有帮助吗?