本文介绍如何使用 qGPU 离在线混部能力。
步骤1:前置准备
1. 在使用 qGPU 及 qGPU 在离线混部之前,您需要拥有一个集群。若您没有集群,请参见 创建 TKE 集群。
2. 依次执行使用 qGPU 的 步骤1:安装 qGPU 调度组件、步骤2:开启集群 qGPU 共享 和 步骤3:准备 GPU 资源。
步骤2:重建组件
注意:
请确保完成下方重建动作后再将应用调度到节点,否则离在线混部功能无法正常工作。
若已先创建工作负载后创建节点,建议您在创建节点池时勾选封锁节点,完成下方重建步骤后再解除封锁,以避免在重建过程中应用被调度到节点。
1. 节点创建完成后,需要重建节点上的 qgpu-manager 的 Pod 及 qgpu-scheduler Pod 以使配置生效,命令如下:
$ kubectl delete pod qgpu-manager-6mcrk -n kube-system$ kubectl delete pod -n kube-system -l app=qgpu-scheduler
说明:
qgpu-manager-6mcrk 需要替换为您集群的 qgpu-manager 的 Pod,获取方式如下:
$ kubectl get pods -n kube-system | grep qgpu-manager
2. 查看节点是否有 qGPU 低优算力资源,可通过执行
kubectl describe node
命令,检查是否有如下资源:

步骤3:配置业务
通过
tke.cloud.tencent.com/app-class: offline
标识为一个离线 Pod,并通过tke.cloud.tencent.com/qgpu-core-greedy
申请离线算力,需注意,离线 Pod 不支持多卡,需要同时设置低优算力与显存:低优算力:
tke.cloud.tencent.com/qgpu-core-greedy
,单位为百分比。显存:
tke.cloud.tencent.com/qgpu-memory
,单位为 GB。apiVersion: v1kind: Podmetadata:name: offlineannotations:tke.cloud.tencent.com/app-class: offline # 低优标识spec:containers:- name: offline-container # 容器名称resources:requests:tke.cloud.tencent.com/qgpu-core-greedy: 10 # 离线算力tke.cloud.tencent.com/qgpu-memory: 5limits:tke.cloud.tencent.com/qgpu-core-greedy: 10 # 离线算力tke.cloud.tencent.com/qgpu-memory: 5
通过
tke.cloud.tencent.com/app-class: online
标识为一个在线 Pod,无需申请算力,仅需申请显存。说明:
显存为静态切分,高优 Pod 并不会抢占低优 Pod 的显存资源。
apiVersion: v1kind: Podannotations:tke.cloud.tencent.com/app-class: onlinespec:containers:- name: online-container # 容器名称resources:requests:tke.cloud.tencent.com/qgpu-memory: 5
没有
tke.cloud.tencent.com/app-class
这个 Annotation,普通 Pod 支持多卡。apiVersion: v1kind: Podspec:containers:- name: common-containerresources:requests:tke.cloud.tencent.com/qgpu-core: 25 # 根据实际情况设置tke.cloud.tencent.com/qgpu-memory: 6 # 根据实际情况设置