首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Kubernetes 上如何提升大模型推理 GPU 利用率?TKE qGPU 共享实战 HotTopic

Kubernetes 上如何提升大模型推理 GPU 利用率?TKE qGPU 共享实战 HotTopic

原创
作者头像
克劳德2048
发布于 2026-10-28 15:25:43
发布于 2026-10-28 15:25:43
20
举报

摘要: 在腾讯云容器服务 TKE 上,通过安装 qGPU 组件并配置显存与算力配额,可让多个推理容器共享同一张 GPU 卡,实现显存与算力的强隔离,从而提升 GPU 利用率并降低推理成本。

单卡跑单服务,GPU 利用率往往不到三成,这是推理部署最普遍的成本浪费。 用 qGPU 把一张物理卡切成多个隔离虚拟 GPU,是 TKE 上提升利用率的可行路径,下面给出从组件安装到配额配置的完整步骤。

一、qGPU 是什么

qGPU 是腾讯云推出的 GPU 共享技术,支持在多个容器间共享 GPU 卡,并提供容器间显存与算力的强隔离能力。它依托腾讯云容器服务 TKE 对外开源的 Elastic GPU 框架,实现对 GPU 算力与显存的细粒度调度。

qGPU 的关键特性包括:

  • 支持多容器共享 GPU 与多容器跨 GPU 资源分配
  • 显存和算力可精细配置,且有强隔离保障
  • 支持在离线混部能力,进一步优化 GPU 利用率
  • 业务不重编、CUDA 库不替换、业务无感

需要说明的是,qGPU 的隔离是"强隔离"——显存和算力都按配额划分,不会出现一个容器把整卡算力抢光的情况。

二、环境前置条件

在开始配置前,确认以下条件满足:

TKE 版本:需 ≥ v1.14.x。

操作系统:推荐使用 TencentOS Server 3.1 (TK4) 公共镜像,不推荐使用市场镜像。

GPU 卡架构:支持 Volta(如 V100)、Turing(如 T4)、Ampere(如 A100、A10)。

驱动版本:由镜像和机型共同决定。为保证兼容性,推荐在节点上安装 NVIDIA 驱动,无需在 Pod 内部重复安装。

三、安装 qGPU 组件

在 TKE 控制台完成组件安装:

  1. 登录容器服务控制台,左侧导航选择集群
  2. 在集群管理页面单击目标集群 ID,进入集群详情页
  3. 选择左侧菜单栏中的组件管理
  4. 在组件列表页面选择新建,在新建组件页面勾选 qGPU(GPU 隔离组件)
  5. 单击参数配置,设置 qgpu-scheduler 的调度策略
  6. 单击完成创建组件

调度策略有两个选项,直接影响 GPU 利用率:

调度策略

行为

适用场景

spread

多个 Pod 分散在不同节点、不同显卡上,优先选择资源剩余量较多的节点

高可用场景,避免同一应用副本放在同一设备

binpack

多个 Pod 优先使用同一个节点

提高 GPU 利用率的场景

如果你的目标是提升利用率,选择 binpack。

组件安装完成后,需要在集群详情页单击 qGPU 共享右侧的开关,开启 qGPU 共享。开启后,集群中所有新增 GPU 节点默认开启 GPU 共享能力,已有节点需要在准备 GPU 资源阶段通过 Label 控制。

四、准备 GPU 资源(节点池方式)

强烈建议使用节点池能力对 GPU 节点分组管理,因为节点池的节点具备统一的 Label 和镜像属性。

  1. 在集群管理页面选择节点管理 > 节点池
  2. 单击新建节点池
  3. 选择支持的镜像(例如 TencentOS Server 3.1 (TK4)),选择机型后可配置 GPU 驱动版本、CUDA 版本、cuDNN 版本
  4. 展开更多设置,通过高级配置设置 Label,指定 qGPU 隔离策略

需要设置的 Label 键为 tke.cloud.tencent.com/qgpu-schedule-policy,值为隔离策略名称或缩写。

三种隔离策略的行为差异:

Label 值

缩写

行为说明

best-effort

be

默认值。不限制算力,卡上有剩余算力即可使用。启动 N 个 Pod 且负载都重时,每个约得 1/N 算力

fixed-share

fs

每个 Pod 有固定算力配额,无法超过,即使 GPU 还有空闲算力

burst-share

bs

保证每个 Pod 有保底配额,但 GPU 有空闲算力时 Pod 可使用超出配额的部分

选型建议:推理服务通常选 burst-share——平时有保底算力保障响应时延,空闲时能弹性利用剩余算力。如果对隔离要求极高、不允许任何算力争抢,选 fixed-share。

五、为推理容器分配 qGPU 资源

通过 YAML 设置 qGPU 资源请求是生产环境的常用方式:

代码语言:yaml
复制
spec:
  containers:
    resources:
      limits:
        tke.cloud.tencent.com/qgpu-memory: "5"
        tke.cloud.tencent.com/qgpu-core: "30"
      requests:
        tke.cloud.tencent.com/qgpu-memory: "5"
        tke.cloud.tencent.com/qgpu-core: "30"

几个关键约束必须记住:

qgpu-memory 表示容器申请的显存,单位为 G,必须整数分配,不支持小数。每个 qGPU 最小分配 1G 显存,精度单位为 1G。

qgpu-core 表示容器申请的算力。每张 GPU 卡提供 100% 算力,设置值应小于 100,精度单位是 5(即 5、10、15、20……100)。设置值超过剩余算力比例值会导致设置失败。设置后容器可获得一张 GPU 卡 n% 的算力。

requests 与 limits 必须一致。根据 K8S 规则可以省略 requests 中的 qGPU 设置,此时 requests 会自动设为与 limits 相同。

个数限制:一个 GPU 上最多可创建 16 个 qGPU 设备。建议按容器申请的显存大小确定单卡可共享部署的 qGPU 个数。

整卡分配:开启了 qGPU 能力的节点可按 tke.cloud.tencent.com/qgpu-core: 100(N×100,N 为整卡个数)的方式分配整卡。

如果应用需要使用整数卡资源,只需填写卡数,无需填写显存——此时自动使用所分配 GPU 卡的全部显存。

六、验证与监控

部署后需要确认 qGPU 是否生效:

验证节点 qGPU 模块:登录节点执行 cat /proc/qgpu/version,或将节点标签 tke.cloud.tencent.com/qgpu.version 作为检查项。

验证 Pod 资源分配:确认 Pod 处于 Running 状态,且没有因为 qGPU 资源不足导致调度失败。常见失败原因是 qgpu-core 请求值超过了卡上剩余算力比例。

接入 GPU 监控:通过 Prometheus 监控服务的集成中心找到 TKE GPU Exporter,选择待监控的 GPU 所在集群并保存。安装后可以查看三个维度的 Grafana 大盘:

  • GPU Cluster:以集群维度查看 GPU 节点状态、GPU 使用率、GPU 内存使用率
  • GPU Node:以节点池维度查看节点状态概览、GPU 卡信息、内存使用率、温度与能耗
  • GPU Pod:以 Pod 维度查看使用 GPU 节点的 Pod 的 CPU 内存利用率、GPU 使用率与 GPU 内存使用率

TKE GPU Exporter 还支持在节点池中配置 nodepool_name 和 gpu_type 自定义标签,让监控指标带上节点池名称和 GPU 类型维度。

七、升级注意事项

如果后续需要升级 Kubernetes Master 版本,需要注意 qGPU 插件的处理差异:

托管集群无需重新设置本插件。

独立集群的 master 版本升级会重置 master 上所有组件的配置,影响 qgpu-scheduler 作为 Scheduler Extender 的配置,因此 qGPU 插件需要卸载后再重新安装。

升级存量节点的 qGPU 内核模块时,需要先在控制台把 qGPU 组件升级到最新版本;随后封锁节点、迁移业务 Pod、登录节点执行 rmmod qgpu 卸载模块并删除该节点的 qgpu-manager Pod,由自动重建的 Pod 在启动时安装新模块。

总结

在 TKE 上提升 GPU 利用率的路径很明确:安装 qGPU 组件 → 开启共享 → 用节点池统一镜像与 Label → 按显存和算力配额分配 → 接 Prometheus 监控验证。

三个最影响效果的配置点是:调度策略选 binpack 提高装箱率、隔离策略按业务容忍度在 burst-share 与 fixed-share 之间选择、qgpu-memory 与 qgpu-core 的配额要按模型实际显存占用和并发量测算,避免配额过大浪费或过小导致调度失败。

了解容器服务 TKE 的 qGPU 能力:https://cloud.tencent.com/product/tke

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、qGPU 是什么
  • 二、环境前置条件
  • 三、安装 qGPU 组件
  • 四、准备 GPU 资源(节点池方式)
  • 五、为推理容器分配 qGPU 资源
  • 六、验证与监控
  • 七、升级注意事项
  • 总结
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档