You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

K8s Pod超出Volcano队列GPU内存限制仍运行,求资源限制方案

解决Volcano队列vgpu内存限制不生效的问题

问题分析

Volcano队列的capability默认仅对原生Kubernetes资源(如cpu、memory)做配额限制,自定义虚拟GPU资源(volcano.sh/vgpu-memory、volcano.sh/vgpu-number)需要通过PodGroup绑定队列的方式,才能触发队列的资源配额校验。另外,如果Pod未指定使用Volcano调度器,也会直接绕过队列的资源检查逻辑。

具体解决方案

1. 创建关联目标队列的PodGroup

定义PodGroup并关联到model-deploy队列,只有属于该PodGroup的Pod,才会受队列资源配额约束:

apiVersion: scheduling.volcano.sh/v1beta1
kind: PodGroup
metadata:
  name: model-deploy-pg
spec:
  queue: model-deploy  # 关联到目标队列
  minMember: 1

2. 修改Pod模板配置

确保Pod指定使用Volcano调度器,并绑定上述PodGroup:

spec:
  schedulerName: volcano  # 必须指定Volcano调度器
  metadata:
    labels:
      volcano.sh/pod-group-name: model-deploy-pg  # 绑定对应的PodGroup
  containers:
  - name: your-container-name
    resources:
      limits:
        cpu: 4
        memory: 8Gi
        volcano.sh/vgpu-number: 1
        volcano.sh/vgpu-memory: 14000
      requests:
        cpu: 4
        memory: 8Gi
        volcano.sh/vgpu-memory: 14000

3. 验证Volcano调度器配置

确保使用的Volcano版本支持自定义资源的队列配额检查(最新版本默认支持)。若为旧版本,需手动在调度器配置文件中添加volcano.sh/vgpu-memory、volcano.sh/vgpu-number到资源检查列表中。

4. 验证约束生效

提交修改后的Pod后,若队列剩余的volcano.sh/vgpu-memory不足以满足Pod申请,Volcano调度器会拒绝调度,并在Pod事件中输出资源不足的错误提示。


内容的提问来源于stack exchange,提问作者张纳心

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 12:29:57