组件介绍
qGPU 内核模块
qgpu-manager Pod 启动时会在节点安装 qGPU 内核模块,实现显卡的共享与隔离。可以通过以下方式确认当前的版本:
1. 查看节点标签
tke.cloud.tencent.com/qgpu.version。2. 登录节点,执行命令
cat /proc/qgpu/version。如果节点已经安装 qGPU 模块,为避免影响存量业务,gpu-manager Pod 在启动时会跳过安装步骤。升级存量节点的 qGPU 模块,需参考以下步骤:
1. 在 TKE 控制台组件管理页面升级 qGPU 组件到最新版本(从 v1.1.1 版本起,默认安装的 qGPU 内核版本与组件版本绑定,使用高版本内核模块,需升级组件)。
2. 封锁节点,迁移使用 qGPU 的业务 Pod。
3. 登录节点卸载 qGPU 模块(卸载命令:
rmmod qgpu ) ,然后删除该节点上 qgpu-manager Pod,自动重建的 Pod 启动时安装新的 qGPU 模块。4. 在节点执行命令
cat /proc/qgpu/version, 确认 qGPU 模块安装成功。5. (可选)创建测试 Pod,验证功能。
6. 解封节点。
7. (滚动升级)逐个节点执行步骤 2 ~ 6。
变更记录
发布时间 | 版本号 | 变更内容 | 限制和影响 |
2026-01-13 | v1.1.1 | qGPU 内核模块升级到 v3.0.5,支持 550+ 驱动,支持 CUDA 12.3+,支持容器使用两张共享卡。 qgpu-manager 增加检查 qGPU 算力资源的逻辑,如因某些原因导致资源数量为 0,则退出重新启动注册。 忽略镜像自带的空的 qGPU 相关环境变量,避免启动失败。 默认关闭收集显卡的 Persistence Mode 信息,避免驱动 bug 导致的 OOM 问题;修复 qGPU 节点判断逻辑错误导致未收集 qGPU 指标的问题;暴露 Pod 及容器分配的显卡信息。 | 此次升级不会对已有业务造成影响,升级过程中存在组件不可用情况,建议业务低峰期升级。 |
2024-06-26 | v1.0.23 | 修复垃圾回收时存在的时序问题,可能会导致 qGPU 设备创建后被马上回收删除,业务 Pod 无法正常使用 GPU。 | 此次升级不会对已有业务造成影响,升级过程中存在组件不可用情况,建议业务低峰期升级。 |
2024-03-19 | v1.0.22 | 优化 Completed 状态 Pod 的处理逻辑及 Update 事件的处理逻辑,避免累积导致缓存释放慢影响调度。 | 此次升级不会对已有业务造成影响,升级过程中存在组件不可用情况,建议业务低峰期升级。 |
2024-03-01 | v1.0.21 | 支持470/515小版本及525/535等高版本驱动。 支持 H800 显卡(不支持在离线混部;建议使用 CUDA 12.0+,低版本存在 qGPU 设备初始化慢的问题)。 qgpu-manager 增加检查 qGPU 资源的逻辑,如因某些原因导致资源数量为0,则退出重新启动注册。 自动安装 qgpu-exporter 组件,支持 GPU 基础监控。 升级时,保留 qgpu-scheduler 的 CPU 和内存资源设置(qgpu scheduler 占用的内存数量与集群规模有关系,需要客户根据实际情况进行设置)。 | 此次升级不会对已有业务造成影响,升级过程中存在组件不可用情况,建议业务低峰期升级。 |
2024-01-24 | v1.0.20 | 进一步收敛 qgpu-manager 权限,仅保留最小必要权限。 | 此次升级不会对已有业务造成影响,升级过程中存在组件不可用情况,建议业务低峰期升级。 |
2023-12-18 | v1.0.19 | 修复因未设置必需的 qGPU 资源请求导致 qgpu scheduler panic 问题。 调度前,检查 pod 资源是否满足限制条件,不满足则返回错误,调度失败,避免由此带来的 panic 及隔离不生效等问题。 修改 qgpu-manager updateStrategy,maxUnavailable设置为10%,加快更新速度。 给 qgpu-installer init 容器增加资源 limit,确保 qgpu-manager Pod 是Guaranteed,避免节点资源压力大时被优先驱逐。 修复节点发生迁移 GPU 数量变化引起的 qgpu scheduler panic 问题。 | 此次升级不会对已有业务造成影响,升级过程中存在组件不可用情况,建议业务低峰期升级。 |
2023-11-28 | v1.0.18 | 收敛 qgpu-manager 的权限,避免提权风险。 | 此次升级不会对已有业务造成影响,升级过程中存在组件不可用情况,建议业务低峰期升级。 |
2023-08-30 | v1.0.17 | 改进 Pod 删除时的处理逻辑,加快删除,减小 Recreate 策略的 Deployment 更新时新 Pod 调度失败的发生率。 | 此次升级不会对已有业务造成影响,升级过程中存在组件不可用情况,建议业务低峰期升级。 |
2023-08-22 | v1.0.16 | 修复 Pod 删除后变为 DeletedFinalStateUnknown 对象时强制转换为 Pod 引起 panic 的问题。 节点设置 label tke.cloud.tencent.com/qgpu-mode=base 后,安装 base 版本的 qGPU 模块,无需修改内核参数。 | 此次升级不会对已有业务造成影响,升级过程中存在组件不可用情况,建议业务低峰期升级。 |
2023-06-20 | v1.0.15 | 增加表示显存分配单位的标签 tke.cloud.tencent.com/qgpu.memory-unit,值为1G或者128M。 qGPU hook 兼容 nvidia 方案。 qGPU 内核模块安装失败时,日志中提示检查是否是支持的 GPU类型。 支持新的 TencentOS-3.1 5.4 内核。 | 此次升级不会对已有业务造成影响,升级过程中存在组件不可用情况,建议业务低峰期升级。 |
2023-05-09 | v1.0.14 | 支持原生节点、公共镜像、16 卡、显存以 128MB 为单位。 兼容 nvidia 515(515.65.01) 驱动。 qGPU 调度器增加 /metrics 及 /caches 接口。 修复导致 qGPU 设备创建或销毁失败以及调度缓存信息不一致的问题。 | 此次升级不会对已有业务造成影响,升级过程中存在组件不可用情况,建议业务低峰期升级。 |
2023-02-08 | v1.0.13 | 处理 qGPU 资源为0的 Pod 时,直接返回全部节点或者打分全部为0,避免处理大量节点耗时过长,阻塞 qGPU Pod 的调度。 | 此次升级不会对已有业务造成影响,升级过程中存在组件不可用情况,建议业务低峰期升级。 |
2022-12-20 | v1.0.12 | 支持16卡。优化日志,避免打印干扰信。 | 此次升级不会对已有业务造成影响,升级过程中存在组件不可用情况,建议业务低峰期升级。 |
2022-10-28 | v1.0.11 | 删除 Pod 时,直接批量删除该 Pod 相关的指标,而不是按照容器逐个删除,避免某些情况下指标未删除的问题。 | 此次升级不会对已有业务造成影响,升级过程中存在组件不可用情况,建议业务低峰期升级。 |
2022-10-24 | v1.0.10 | 修复某些多卡机型上,GPU 卡序号与次设备号不一致,导致 qGPU 挂错显卡,业务无法正常运行的问题。私有化允许安装不支持混部的 base 版本 run 包,此时不需要修改内核参数及重启节点。 修复未设置 qgpu-memory 却提示缺少 qgpu-core 的问题。 | 此次升级不会对已有业务造成影响,升级过程中存在组件不可用情况,建议业务低峰期升级。 |
2022-09-29 | v1.0.9 | 修复 crd 引入的回归问题,该问题导致 qGPU 调度器重启后在未同步 Pod 分配信息的情况下就开始调度新 Pod,产生不一致问题。 更新 Pod 容器指标前,先清理相关数据,避免脏数据。 | 此次升级不会对已有业务造成影响,升级过程中存在组件不可用情况,建议业务低峰期升级。 |
2022-09-21 | v1.0.8 | 增加 /metrics 接口,暴露分配给 Pod 容器的 GPU 信息(node_gpu_core_request,node_gpu_memory_request_bytes; 类型Gauge,标签"node", "gpu", "namespace", "pod", "container"),Pod 删除后,相关容器的指标即被删除。 对于各种原因遗留的 qGPU 设备,在每分钟进行的 gc 中兜底删除,避免影响创建新的 qGPU 设备。 修复 Pod 删除后同名 Pod 马上被创建和调度到同一个节点可能导致创建 qGPU 设备失败的问题。 支持原生节点安装使用 qGPU(原生节点的 qGPU 不支持在离线混部功能)。 | 此次升级不会对已有业务造成影响,升级过程中存在组件不可用情况,建议业务低峰期升级。 |
2022-09-06 | v1.0.7 | 修复 qGPU 调度器未清理已删除节点信息的问题。 | 此次升级不会对已有业务造成影响,升级过程中存在组件不可用情况,建议业务低峰期升级。 |
2022-08-31 | v1.0.6 | 支持使用节点的 kubeconfig 访问 apiserver (此时不能启用 crd 参数)。 支持使用 TencentOS 2.4(TK4) 公有镜像安装 qGPU。 | 此次升级不会对已有业务造成影响,升级过程中存在组件不可用情况,建议业务低峰期升级。 |
2022-07-20 | v1.0.5 | 支持使用公有镜像安装和使用 qGPU。 支持关闭给节点打 Label 的功能(--enable-label=false)。 | 此次升级不会对已有业务造成影响,升级过程中存在组件不可用情况,建议业务低峰期升级。 |
2022-06-08 | v1.0.3 | qgpu-manager 镜像更新为 tkeimages/elastic-gpu-agent:v1.0.2。 qgpu-scheduler 镜像更新为 tkeimages/elastic-gpu-scheduler:v1.0.2。 支持使用 GPU CRD 管理 GPU 资源。 | 此次升级不会对已有业务造成影响,升级过程中存在组件不可用情况,建议业务低峰期升级。 |
2022-04-21 | v1.0.2 | 更新 qgpu-manager 镜像版本,支持自动设置所在节点的 GPU 驱动版本以及其他信息。 更新了 clusterrole qgpu-manager,增加了对 Nodes 的操作权限。 | 此次升级不会对已有业务造成影响,升级过程中存在组件不可用情况,建议业务低峰期升级。 |