K1 PowerLinux使能K8s管理GPU容器
本篇文档内容包含K8S开源容器管理平台结合Docker容器,结合免费的在Power上优化的深度学习和机器学习的docker镜像WMLCE,给客户提供Jupyter的环境,提供持续持续开发持续集成的不间断服务。并且能按照单个GPU卡的量级来分配资源。与通常的x86通用2u服务器不同的是,这里采用的是K1 PowerLinux服务器,使用Power9 CPU。最后引用一个实际的客户使用例子容器化的方式配合Power的独特硬件特性获得的独特价值。由于偏操作类,这里主要突出的是K8s使能GPU容器,其他详细内容可以参考之前文章。
背景
os rhel-alt-server-7.6-ppc64le-dvd.iso
s822lc-05 (minksy)4P100 GPU
在K1 PowerLinux上配置 GPU环境
参考链接(非本篇文章重点):
https://www.ibm.com/support/knowledgecenter/SS5SF7_1.6.2/navigation/wmlce_setupRHEL.html
主要内容摘录如下:
安装操作系统 rhel-alt-server-7.6-ppc64le-dvd.iso
升级内核,安装依赖包。
yum update kernel kernel-devel kernel-tools kernel-tools-libs kernel-bootwrapper
yum -y install dkms-2.7.1-1.el7.noarch.rpm
更改内存显示规则(只针对rhel7 Power9的服务器)
cp /lib/udev/rules.d/40-redhat.rules /etc/udev/rules.d/
更改内存显示规则(只针对rhel7 Power9的服务器)
vi /etc/udev/rules.d/40-redhat.rules
# Memory hotadd request
#SUBSYSTEM!="memory", ACTION!="add", GOTO="memory_hotplug_end"
#PROGRAM="/bin/uname -p", RESULT=="s390*",GOTO="memory_hotplug_end"
#ENV{.state}="online"
#PROGRAM="/bin/systemd-detect-virt", RESULT=="none", ENV{.state}="online_movable"
#ATTR{state}=="offline", ATTR{state}="$env{.state}"
#LABEL="memory_hotplug_end"
下载nvidia驱动,注意选择ppc64le rhel7的版本
rpm -ivh nvidia-driver-local-repo-rhel7-418.*.rpm
yum install nvidia-driver-latest-dkms
systemctl enable nvidia-persistenced
reboot
在K1 PowerLinux上配置K8S环境
这部分内容具体请参照K8S离线安装方法,请参照本博客其他文章。
部署 kubernetes-dashboard
为了便于K8s管理,部署dashboard,非此篇文章的重点,如果查看详细部署过程请参照本博客其他文章。
创建 docker 私有仓库
yum install -y docker-distribution docker
mkdir -p /data/history/
cat > /etc/docker-distribution/registry