使用 qGPU 离在线混部

最近更新时间:2024-06-27 14:09:11

我的收藏
本文介绍如何使用 qGPU 离在线混部能力。

步骤1:前置准备

1. 在使用 qGPU 及 qGPU 在离线混部之前,您需要拥有一个集群。若您没有集群,请参见 创建 TKE 集群

步骤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
2. 查看节点是否有 qGPU 低优算力资源,执行 kubectl describe node命令,检查是否有如下资源:




步骤3:配置业务

离线 Pod
在线 Pod
普通 Pod
通过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: v1
kind: Pod
metadata:
name: xx
annotations:
tke.cloud.tencent.com/app-class: offline # 低优标识
spec:
containers:
- name: offline-container
image: xx
resources:
requests:
tke.cloud.tencent.com/qgpu-core-greedy: 10 # 离线算力
tke.cloud.tencent.com/qgpu-memory: 5
limits:
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: v1
kind: Pod
annotations:
tke.cloud.tencent.com/app-class: online
spec:
containers:
- name: online-container
resources:
requests:
tke.cloud.tencent.com/qgpu-memory: xx
没有tke.cloud.tencent.com/app-class这个 Annotation,普通 Pod 支持多卡。
apiVersion: v1
kind: Pod
spec:
containers:
- name: common-container
resources:
requests:
tke.cloud.tencent.com/qgpu-core: xx
tke.cloud.tencent.com/qgpu-memory: xx