本文作者:丁辉
Kubernetes-NVIDIA之阿里云插件Gpushare-Device-Plugin
Github-gpushare-scheduler-extender
部署
拉取 Gpushare-Scheduler-Extender 代码文件
1
2git clone https://github.com/AliyunContainerService/gpushare-scheduler-extender.git
cd gpushare-scheduler-extender/config/ && vi gpushare-schd-extender.yaml因为源文件的调度规则是指运行在 master 节点上,如果像我一样集群内并没有这个标签的话则需要修改
gpushare-schd-extender.yaml
YAML文件将下面这段 nodeSelector 删除掉或注释。1
2#nodeSelector:
#node-role.kubernetes.io/master: ""部署扩展器
1
kubectl apply -f gpushare-schd-extender.yaml
编写调度器配置文件
1
2mv scheduler-policy-config.yaml /etc/kubernetes/scheduler-policy-config.yaml
vi /etc/kubernetes/scheduler-policy-config.yaml根据自己 Scheduler 配置文件位置修改
kubeconfig
字段参数添加 Scheduler 启动参数
新版
1
- --config=/etc/kubernetes/scheduler-policy-config.yaml
老版本集群
1
- --policy-config-file: /etc/kubernetes/scheduler-policy-config.json
给 GPU 节点打上标签
1
kubectl label node ${node} gpushare=true
拉取 Gpushare-Device-Plugin 代码文件
1
2git clone https://github.com/AliyunContainerService/gpushare-device-plugin.git
cd gpushare-device-plugin部署
1
2kubectl apply -f device-plugin-rbac.yaml
kubectl apply -f device-plugin-ds.yaml根据自己需求判断是否修改
device-plugin-ds.yaml
文件内默认 GPU 资源申请单位,MiB
还是GiB
1
2
3
4
5command:
- gpushare-device-plugin-v2
- -logtostderr
- --v=5
- --memory-unit=MiB安装 kubectl GPU 插件
1
wget https://github.com/AliyunContainerService/gpushare-device-plugin/releases/download/v0.3.0/kubectl-inspect-gpushare
1
2mkdir ~/.kube/plugins -p
mv kubectl-inspect-gpushare ~/.kube/plugins/ && chmod 777 ~/.kube/plugins/kubectl-inspect-gpushare查看 GPU 使用情况
1
kubectl inspect gpushare
测试
部署容器测试
1
kubectl apply -f https://gitee.com/offends/Kubernetes/raw/main/File/Yaml/aliyun-gpu-pod.yaml
测试
1
kubectl exec nginx-pod nvidia-smi
删除测试容器
1
kubectl delete pod gpu-pod
I'm so cute. Please give me money.
- 本文链接: https://blog.offends.cn/Kubernetes/GPU/Kubernetes-NVIDIA之阿里云插件Gpushare-Device-Plugin.html
- 版权声明: 本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。