GPU Kubernetes架构

NVIDIA Container Tookit

../../_images/nvidia_gpu_container.png

结合 Kubernetes技术,实现大规模CPU计算集群:

../../_images/kubernetes_stack_0.png
  • 轻量级运行环境,减少底层(虚拟化)消耗

  • 快速调度、大规模部署

NVIDIA容器运行时

NVIDIA容器运行时(Container Runtime)是一种GPU aware容器运行时,与 Docker Atlas , cri-o容器运行时 以及其他流行的容器技术使用的开放容器倡议(Open Containers Initiative, OCI)规范兼容。NVIDIA Container Runtime简化了构建容器化GPU加速应用程序,并且方便部署到桌面、云或数据中心。

NVIDIA容器堆栈(Container Stack)架构目标是支持容器生态系统中的任何容器运行时,堆栈组件包括:

  • nvidia-docker 包装器(wrapper)

  • NVIDIA容器运行时( nvidia-container-runtime )

  • NVIDIA容器运行时Hook( nvidia-container-toolkit / nvidia-container-runtime-hook )

  • NVIDIA容器库和CLI( libnvidia-container1 , nvidia-container-cli )

除了 nvidia-docker 包装器之外,NVIDIA容器堆栈的组件都打包为 NVIDIA Container Toolkit。

  • 对于 Docker Atlas 使用 nvidia-docker wrapper ,组件流程图如下:

../../_images/nvidia-docker-arch-new.png

nvidia-docker wrapper组件流程图

../../_images/nvidia-containerd-arch.png

containerd组件流程图

../../_images/nvidia-crio-lxc-arch.png

cri-o和LXC组件流程图

参考