目前阿里云ACK提供了GPU共享调度能力,服务于使用共享单GPU的模型预测场景,同时也可以通过Nvidia驱动在内核态的控制保障GPU显存的隔离。本文介绍如何在GPU节点上安装GPU隔离模块及安装GPU分配查询工具,实现GPU的调度和隔离能力。
使用须知
配置 |
支持版本 |
Kubernetes |
1.16.06 |
Helm版本 |
3.0及以上版本 |
Nvidia驱动版本 |
418.87.01及以上版本 |
Docker版本 |
19.03.5 |
操作系统 |
CentOS 7.6、CentOS 7.7、Ubuntu 16.04和Ubuntu 18.04 |
支持显卡 |
Telsa P4、Telsa P100、 Telsa T4和Telsa v100(16 GB) |
步骤一:为带有GPU设备的节点打标签
- 登录容器服务管理控制台。
- 在控制台左侧导航栏中,单击集群。
- 在集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情。
- 在集群管理页左侧导航栏中,单击节点管理。
- 在节点管理页面,单击页面右上角标签与污点管理。
- 在标签与污点管理页面,批量选择节点,然后单击添加标签。
- 在弹出的添加对话框中,填写标签名称和值。
注意
- 您可以设置名称为cgpu,值为true,使共享生效。
- 删除cgpu标签并不能关闭共享,您可以设置名称为cgpu,值为false,关闭共享。

- 单击确定。
步骤二:为添加标签的节点安装共享GPU组件
- 登录容器服务管理控制台。
- 在控制台左侧导航栏中,选择。
- 在应用目录页面,选中并单击ack-cgpu。
- 在应用目录-ack-cgpu页面右侧的创建面板中,选中目标集群,然后单击创建。
您无需设置
命名空间和
发布名称,系统显示默认值。

您可以执行命令
helm get manifest cgpu -n kube-system | kubectl get -f -
查看cGPU组件是否安装成功。当出现以下命令详情时,说明cGPU组件安装成功。
helm get manifest cgpu -n kube-system | kubectl get -f -
NAME SECRETS AGE
serviceaccount/gpushare-device-plugin 1 39s
serviceaccount/gpushare-schd-extender 1 39s
NAME AGE
clusterrole.rbac.authorization.k8s.io/gpushare-device-plugin 39s
clusterrole.rbac.authorization.k8s.io/gpushare-schd-extender 39s
NAME AGE
clusterrolebinding.rbac.authorization.k8s.io/gpushare-device-plugin 39s
clusterrolebinding.rbac.authorization.k8s.io/gpushare-schd-extender 39s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/gpushare-schd-extender NodePort 10.6.13.125 <none> 12345:32766/TCP 39s
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
daemonset.apps/cgpu-installer 4 4 4 4 4 cgpu=true 39s
daemonset.apps/device-plugin-evict-ds 4 4 4 4 4 cgpu=true 39s
daemonset.apps/device-plugin-recover-ds 0 0 0 0 0 cgpu=false 39s
daemonset.apps/gpushare-device-plugin-ds 4 4 4 4 4 cgpu=true 39s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/gpushare-schd-extender 1/1 1 1 38s
NAME COMPLETIONS DURATION AGE
job.batch/gpushare-installer 3/1 of 3 3s 38s
在文档使用中是否遇到以下问题
更多建议
匿名提交