OpenShift 4 整合 GPU 资源

背景

  • 我们都知道越来越多企业开始依靠 AI 和数据科学,将大量数据转化为具有可操作性的情报,因此在 OpenShift 集群上使用 GPU 资源的需求也就越来越多。
  • 2019年,NVIDIA 和红帽(Red Hat)推出了由 NVIDIA GPU 加速计算平台和红帽最新发布的 OpenShift 4 相结合的组合产品,从而为用于 AI 和数据科学的 Kubernetes 本地部署提供加速。

先拍个砖

  1. GPU Operator 目前不支持 vGPU,不要在这个方向浪费时间。
  2. 参考 NVIDIA 官方的操作文档,我没法验证成功,如有成功实现的大师,请多指教。

实现过程

  1. 部署 Node Feature Discovery,自动发现 OpenShift 节点的功能特性,这一步非常简单,不会遇到什么问题。
git clone https://github.com/openshift/cluster-nfd-operator.git
cd cluster-nfd-operator
git checkout release-4.3
make deploy
  1. 部署 Special Resource Operator
  • 2.1 如果你的 worker 节点是 RHEL,需要 disable nouveau 模块;如果是 RHCOS 可忽略这一步。
# 在 RHEL worker 节点上操作,开机即 disable 的方法 google 一下就有了。
modprobe -r nouveau
  • 2.2 修改driver Dockerfile
# 因为项目中用到的 .run 驱动脚本较大,而代码里是使用 curl 下载,在国内的网络会经常异常退出,所以改为本地地址,方便成功下载;或者将 curl 改成 wget。
git clone https://gitlab.com/nvidia/driver.git
cd driver

## RHEL 节点改 rhel7 目录下的 Dockerfile
vim rhel7/Dockerfile
## RHCOS 节点改 rhel8 目录下的 Dockerfile
vim rhel8/Dockerfile

## 修改的内容对比如下,注意匹配具体环境的驱动版本
20c20
< ARG DRIVER_VERSION=440.33.01
---
> ARG DRIVER_VERSION=440.56-grid
25c25
<     curl -fSsl -O $BASE_URL/$DRIVER_VERSION/NVIDIA-Linux-x86_64-$DRIVER_VERSION.run && \
---
>     curl -fSsl -O http://10.72.35.240/repos/rhcos/NVIDIA-Linux-x86_64-440.56-grid.run && \

修改完后将代码 push 到私有代码仓库,比如(https://github.com/xxxx/drivermaster.git)

  • 2.3 修改 Special Resource Operator 项目的 buildconfig 并部署
git clone https://github.com/openshift-psap/special-resource-operator.git
cd special-resource-operator

## 修改 buildconfig 指向上一步我们修改 Dockerfile 的私有代码仓库,注意匹配驱动版本。
recipes/nvidia-gpu/manifests/0000-state-driver-buildconfig.yaml
29c29
<       uri: https://github.com/xxxx/drivermaster.git
---
>       uri: https://gitlab.com/nvidia/driver.git
36c36
<           value: "440.56-grid"
---
>           value: "440.33.01"

## 部署
PULLPOLICY=Always make deploy
  • 2.4 修改 nvidia-gpu-driver-container 设备的 SELinux type
oc -n nvidia-gpu nvidia-gpu-driver-container-rhel7-xxxxx
chcon -t container_file_t  /dev/nvidia*
  1. RHEL 节点如果想要手工部署,可以参考红帽的 KB

参考

Enabling and monitoring Nvidia GPUs on Openshift 4 for AI workloads

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。