k8s
运维宝典
kubeflow运维
理解 CNI 和 CNI 插件
GPU虚拟化方案
多个Pod共享使用GPU
Kubernetes GPU共享实践
第四范式GPU虚拟化
腾讯开源vgpu方案gpu-manager安装教程
-
+
首页
多个Pod共享使用GPU
# 多个Pod共享使用GPU 该方案将部署GPU-Share插件,部署完成后集群节点的GPU将可以被多个Pod共同调度。 目前仅支持命令行安装使用,后续UK8S团队会根据排期将该功能添加至集群插件中,方便一键安装。 ## 安装使用GPU共享插件 ⚠️ 安装前请检查kubernetes版本,要求kubernetes版本 >=1.17.4 ### 1. 在需要共享GPU的节点打上label ```bash kubectl label node <nodeip> nodeShareGPU=true ``` ### 2. 通过kubectl删除集群原有的nvdia插件 ```bash kubectl delete ds -n kube-system nvidia-device-plugin-daemonset ``` ### 3. 执行kubectl进行GPU-Share插件安装,安装完成 ```bash kubectl apply -f https://docs.ucloud.cn/uk8s/yaml/gpu-share/1.1.0.yaml ``` ### 测试GPU共享 测试条件: 1. 集群中只有一台单卡GPU云主机 2. 该集群已经按照以上3步完成插件安装 3. 查看插件pod已经变成running 接下来我们分别运行test-gpushare1、test-gpushare2 ```bash # 运行test-gpushare1 kubectl apply -f https://docs.ucloud.cn/uk8s/yaml/gpu-share/test-gpushare1.yaml # 运行test-gpushare2 kubectl apply -f https://docs.ucloud.cn/uk8s/yaml/gpu-share/test-gpushare2.yaml ``` 以test-gpushare1为例。 ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: test-gpushare1 labels: app: test-gpushare1 spec: selector: matchLabels: app: test-gpushare1 template: metadata: labels: app: test-gpushare1 spec: schedulerName: gpushare-scheduler containers: - name: test-gpushare1 image: uhub.service.ucloud.cn/ucloud/gpu-player:share command: - python3 - /app/main.py resources: limits: # GiB ucloud.cn/gpu-mem: 1 ``` 在limits下设置了`ucloud.cn/gpu-mem: 1`,同样test-gpushare2也有该设置,则我们可以观察在该集群只有一台单卡GPU的节点时,该GPU同时支持给到2个Pod使用。 ```bash kubectl get pod |grep test-gpushare ``` ### 查看GPU使用量 可以通过监控接入的GPU节点资源用量,或者进入GPU节点执行`nvidia-smi`进行查看。 ## 移除GPU共享插件 请在master节点执行以下命令 ```bash kubectl delete -f https://docs.ucloud.cn/uk8s/yaml/gpu-share/1.1.0.yaml kubectl apply -f /etc/kubernetes/yaml/nvidia-device-plugin.yaml ```
jays
2024年1月8日 08:55
分享文档
收藏文档
上一篇
下一篇
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
关于 MrDoc
觅道文档MrDoc
是
州的先生
开发并开源的在线文档系统,其适合作为个人和小型团队的云笔记、文档和知识库管理工具。
如果觅道文档给你或你的团队带来了帮助,欢迎对作者进行一些打赏捐助,这将有力支持作者持续投入精力更新和维护觅道文档,感谢你的捐助!
>>>捐助鸣谢列表
微信
支付宝
QQ
PayPal
下载Markdown文件
分享
链接
类型
密码
更新密码