如何在 Kubernetes 中传递 Docker CLI `--gpus` 选项或启用 GPU 支持而不安装 `nvidia-docker2` (Docker 19.03)

Ape*_*eus 5 docker kubernetes rancher nvidia-docker

我目前使用 Docker 19.03 和 Kubernetes 1.13.5 以及 Rancher 2.2.4。从 19.03 开始​​,Docker 已经通过传递--gpus选项正式支持原生 NVIDIA GPU 。示例(来自NVIDIA/nvidia-docker github):

 docker run --gpus all nvidia/cuda nvidia-smi
Run Code Online (Sandbox Code Playgroud)

但是在 Kubernetes 中,没有选项可以传递 Docker CLI 选项。所以如果我需要运行一个GPU实例,我必须安装nvidia-docker2,使用起来不方便。

无论如何,是否可以在不安装的情况下传递 Docker CLI 选项或传递 NVIDIA 运行时 nvidia-docker2

Mat*_*att 3

GPU通过Kubernetes 中的设备插件进行调度。

官方NVIDIA GPU 设备插件有以下要求:

  • Kubernetes 节点必须预装 NVIDIA 驱动程序。
  • Kubernetes 节点必须预先安装nvidia-docker 2.0
  • nvidia-container-runtime 必须配置为docker 的默认运行时而不是 runc。
  • NVIDIA 驱动程序 ~= 361.93

一旦节点设置完毕,GPU 就会成为规范中的另一个资源,例如cpumemory

spec:
  containers:
  - name: gpu-thing
    image: whatever
    resources:
      limits:
        nvidia.com/gpu: 1
Run Code Online (Sandbox Code Playgroud)