Kubernetes 集成 Nvidia GPU (详细攻略)

本文详细介绍了如何在Kubernetes集群中集成和管理NVIDIA GPU资源,包括安装NVIDIA驱动和CUDA,设置nvidia-docker2,安装k8s-device-plugin,以及验证GPU计算容器的运行。通过遵循这些步骤,用户可以在Kubernetes环境中有效地调度和利用GPU资源。

Kubernetes 中已经实验性地支持管理多个节点上的 AMD / NVIDIA GPU (显卡)。 本文重点介绍在k8s集群中,集成Nvidia显卡容器资源调度。

整个实施过程流程总共分为三大步骤:

  • 安装Nvidia驱动和CUDA。
  • 安装nvidia-docker 2, 这个是支持nvidia显卡运行的容器运行时,默认的docker运行时是runc,该模块提供docker使用gpu资源的能力。
  • 安装 k8s-device-plugin, 这个插件用来和k8s集成,该模块提供k8s集群通过kubelet动态调度gpu资源的能力。

全部安装完成后,通过运行一个gpu计算容器来验证安装正确性。下面看详细的安装过程:

一、实施环境

操作系统

Ubuntu-20.04.1

Kubernetes Cluster Version

1.22.15

Docker Version

docker-ce-20.10.21

GPU

tesla-A100

二、安装Nvidia驱动

2.1 官方驱动安装

2.1.1 驱动下载

下载地址  本示例不从官方下载驱动安装,采用更加方便的PPA方式。

2.1.2 安装

😜略

2.2 PPA方式安装

Ubuntu 社区建立了一个命名为 Graphics Drivers PPA 的 PPA,专门为 Ubuntu 用户提供最新版本的各种驱动程序。目前,率先推出的即为 Nvidia 驱动。因此我们可以通过 PPA 为 Ubuntu 安装 Nvidia 驱动程序。

2.2.1 添加PPA镜像源

add-apt-repository ppa:graphics-drivers/ppa
apt-get update

2.2.2 查看可用的驱动版本

ubuntu-drivers devices

​​​​​​​

2.2.3 选择合适的版本进行安装

安装建议版本:

ubuntu-drivers autoinstall

安装指定版本:

apt-get install nvidia-driver-XXX

2.2.4 安装完成后重启查看

nvidia-smi 

# cuda
nvcc -V

查看驱动版本

root@worker-05:~# cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module  520.61.05  Thu Sep 29 05:30:25 UTC 2022
GCC version:  gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) 

安装成功后通过 nvidia-smi 命令可以看到显卡利用状态,使用 watch 可持续监控 watch -n 5 nvidia-smi 

三、安装CUDA(可跳过,安装驱动时已安装)

CUDA是NVIDIA推出的用于自家GPU的并行计算框架,也就是说CUDA只能在NVIDIA的GPU上运行,而且只有当要解决的计算

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值