逻辑队列和物理队列使用说明

容器引擎 CCE

  • 功能发布记录
  • 产品描述
    • 介绍
    • 优势
    • 使用限制
    • 应用场景
    • 核心概念
    • 特性
  • 开发指南
    • EFK日志采集系统部署指南
    • 创建LoadBalancer类型的Service
    • Prometheus监控系统部署指南
    • kubectl管理配置
    • 在CCE集群中使用-Network-Policy
  • 常用工具
    • 视图命令行场景示例
  • 产品公告
    • CCE 新版集群管理发布公告
    • CCE 控制台升级公告
    • Kubernetes 版本发布说明
      • CCE发布Kubernetes 1.18版本说明
      • CCE发布Kubernetes 1.30版本说明
      • CCE Kubernetes 版本更新说明
      • CCE发布Kubernetes 1.22版本说明
      • CCE发布Kubernetes 1.20版本说明
      • CCE发布Kubernetes 1.28版本说明
      • CCE发布Kubernetes 1.24版本说明
      • CCE发布Kubernetes 1.26版本说明
    • 安全漏洞修复公告
      • 漏洞CVE-2020-14386修复公告
      • 修复漏洞CVE-2021-30465公告
      • 漏洞CVE-2019-5736修复公告
      • 漏洞CVE-2025-1097、CVE-2025-1098等修复公告
      • 关于 runc 的安全问题(CVE-2024-21626)影响声明
  • 快速入门
    • 快速部署nginx应用
    • 使用CCE容器引擎流程概述
  • 典型实践
    • CCE集群网络说明及规划
    • CCE典型实践之容器网络模式选择
    • Pod异常问题排查
    • 通过 CCE Ingress 实现虚机和容器服务的统一接入
    • CCE集群使用Jenkins持续发布
    • CCE-访问公网实践
    • Linux系统配置常用参数说明
    • 用户使用自定义 CNI 插件方法
    • CCE典型实践之Guestbook搭建
    • 使用KMS对etcd数据加密
    • 添加CGroup V2节点
    • CCE容器运行时选择
    • CCE使用检查清单
    • VPC-ENI模式集群访问公网实践
    • 利用 Velero 实现将应用跨云迁移到 百度CCE
    • 使用 CNI 配置容器内网络参数
    • CCE Resource Recommender 用户文档
    • CCE集群中使用私有镜像实践
    • 云原生AI
      • 使用 CCE AITraining Operator 实现弹性容错训练
      • 部署 TensorFlow Serving 推理服务
      • GPU虚拟化之隔离性最优型的最佳实践
  • 操作指南
    • 多用户访问控制
    • 使用须知
    • 命名空间管理
      • 设置资源配额
      • 设置资源限制
      • 命名空间基本操作
    • 弹性伸缩
      • 使用 cce-autoscaling-placeholder 实现秒级弹性伸缩
      • CCE 集群节点自动伸缩
      • 容器定时水平伸缩(CronHPA)
      • 容器水平伸缩(HPA)
    • 存储管理
      • 使用云盘CDS
      • 使用并行文件存储PFS
      • 使用对象存储BOS
      • 使用并行文件存储PFS L2
      • 使用本地存储
      • 使用数据湖存储加速工具RapidFS
      • 使用文件存储CFS
      • 概述
    • 节点管理
      • 移出节点
      • kubelet容器监控只读端口风险提示
      • 管理污点
      • 设置GPU显存共享
      • 添加节点
      • 自定义Kubelet参数
      • 设置节点封锁
      • 节点排水
      • 管理节点标签
    • 组件管理
      • CCE CSI BOS Plugin 说明
      • Kube Scheduler 说明文档
      • CCE CSI PFS L2 Plugin
      • CCE NodeLocal DNSCache 说明
      • CCE Ingress NGINX Controller 说明
      • CCE RDMA Device Plugin 说明
      • CCE Node Problem Detector 说明
      • CCE Credential Controller 说明
      • Kube Controller Manager 说明
      • CCE Ingress Controller 说明
      • CCE GPU Manager 说明
      • CCE Backup Controller 说明
      • CCE QoS Agent 说明
      • CCE Descheduler 说明
      • 组件概述
      • CCE Image Accelerate 说明
      • CCE Network Plugin说明
      • Kube ApiServer 说明
      • CCE Log Operator 说明
      • CoreDNS 说明
      • CCE NPU Manager 说明
      • CCE AI Job Scheduler 说明
      • CCE LB Controller 说明
      • CCE P2P Accelerator 说明
      • CCE_Hybrid_Manager说明
      • CCE CSI PFS Plugin 说明
      • CCE Deep Learning Frameworks Operator 说明
      • CCE Node Remedier 说明
      • CCE CSI CDS Plugin 说明
      • CCE Ascend Mindx DL说明
      • CCE Calico Felix 说明
      • CCE Virtual Kubelet组件
      • CCE Fluid说明
      • CCE Onepilot 说明
      • CCE CronHPA Controller 说明
      • CCE 动态调度插件说明
    • 云原生AI
      • 云原生AI概述
      • GPU虚拟化
        • MPS 最佳实践&注意事项
        • GPU独占和共享说明
        • GPU在离线混部使用说明
        • GPU虚拟化适配表
        • 单GPU容器共享多卡使用说明
        • 共享GPU场景下的镜像构建注意事项
        • 关闭节点显存共享功能注意事项
      • 队列管理
        • 逻辑队列和物理队列使用说明
        • 修改队列
        • 删除队列
        • 新建队列
      • 任务管理
        • 基于 NCCL的RDMA分布式训练示例
        • 新建AITraining任务
        • 新建PaddlePaddle任务
        • 删除任务
        • 查看任务信息
        • 新建Mxnet任务
        • 新建TensorFlow任务
        • 新建Pytorch任务
      • 数据集管理
        • 删除数据集
        • 操作数据集
        • 查看数据集
        • 新建数据集
      • AI监控大盘
        • 接入监控实例并开启采集任务
        • NVIDIA芯片资源观测
          • AI Job Scheduler组件
          • GPUManager组件
          • GPU资源池总览
          • GPU节点资源
          • GPU工作负载资源
        • 昇腾芯片资源观测
          • 昇腾节点资源
          • 昇腾资源池总览
          • 昇腾工作负载资源
      • AI 加速套件
        • 使用AIAK-Inference 加速推理业务
        • 使用AIAK-Training Pytorch版
        • AIAK 简介
        • 使用 AIAK-Training 部署分布式训练任务
    • Helm管理
      • Helm模板
      • Helm实例
    • 应用管理
      • 部署
      • 保密字典
      • 服务
      • 配置字典
      • 容器组
      • 概述
    • 镜像仓库
      • 使用容器镜像构建服务
      • 镜像仓库基本操作
    • Serverless集群
      • 在Serverless集群中使用Service
      • 产品概述
      • 创建Serverless集群
    • 工作负载
      • 设置工作负载自动水平伸缩
      • Statefulset管理
      • 使用私有镜像创建工作负载
      • Job管理
      • 查看容器组
      • CronJob管理
      • Daemonset管理
      • 免密拉取容器镜像
      • Deployment管理
    • 节点组管理
      • 节点组管理
      • 节点组介绍
      • 升级节点组
      • 添加外部已有节点
      • 自定义节点组 Kubelet 配置
      • 添加备选机型
      • 节点组节点故障检测自愈
      • 配置扩缩容策略
    • 监控日志
      • 使用Prometheus监控集群
      • CCE 事件中心
      • 集群审计仪表盘
      • CCE 集群异常事件报警
      • Java应用监控
      • 集群服务画像
      • 日志管理
      • 集群审计
      • 日志中心
        • 在容器引擎控制台配置采集规则
        • 查看集群控制面日志
        • 日志概述
        • 查看业务日志
        • 使用CRD配置采集规则
    • 网络管理
      • CCE 集群内容器访问集群外服务
      • 容器网段空间耗尽如何继续扩容(VPC-ENI模式)
      • 容器网段空间耗尽如何继续扩容(VPC网络模式)
      • CCE IP Masquerade Agent 用户指南
      • 创建VPC-ENI模式集群
      • 对等连接场景下容器流量转发配置
      • 使用Network Policy网络策略
      • CCE 支持 IPv4 和 IPv6 双栈网络
      • 在CCE集群中使用NetworkPolicy
      • 网络编排
        • 集群 Pod 子网拓扑分布(容器网络 v2)
        • 容器网络 QoS 管理
        • VPC-ENI指定子网分配IP(容器网络 v2)
      • 网络连通性
        • 容器网络通过 NAT 网关访问公网
      • 网络维护
        • CCE容器网络常见错误码对应表
      • DNS
        • DNS 原理概述
        • DNS 问题排查指南
        • CoreDNS 组件手动升级指南
    • 虚拟节点
      • 管理虚拟节点
      • 配置BCIPod
      • 配置bci-profile
    • 备份中心
      • 备份概述
      • 恢复管理
      • 备份仓库
      • 备份管理
    • 巡检与诊断
      • GPU运行环境检查
      • 集群巡检
      • 故障诊断
    • 流量接入
      • NGINX Ingress 使用配置参考
      • CCE基于nginx-ingress实现灰度发布
      • BLB Ingress Annotation说明
      • 通过CCE使用K8S_Ingress
      • 通过YAML创建LoadBalancer_Service
      • 通过CCE使用K8S_Service
      • LoadBalancer Service Annotation说明
      • 使用直连 Pod 模式 LoadBalancer Service
      • Service复用已有负载均衡BLB
      • 通过YAML创建CCE_Ingress
      • 使用 NGINX Ingress
    • 权限管理
      • 配置集群OIDC认证
      • 配置IAM标签权限策略
      • 配置IAM自定义权限策略
      • 配置IAM预置权限策略
      • 权限概述
      • 配置预置RBAC权限策略
    • 配置管理
      • Secret管理
      • Configmap管理
    • 集群管理
      • 集群快照
      • CCE 安全组
      • 查看集群
      • 创建集群
      • 操作集群
      • 升级集群Kubernetes版本
      • 通过kubectl连接集群
      • 托管集群使用说明
      • CCE 支持 GPUSharing 集群
      • CCE节点资源预留说明
      • CCE 节点 CDS 扩容
  • 服务等级协议SLA
    • CCE服务等级协议SLA(V1.0)
  • Solution-Fabric
    • Fabric解决方案
  • API参考
    • 通用说明
    • 公共头和错误返回
    • 概述
  • 常见问题
    • windows下使用kubectl
    • 自动扩缩容常见问题
    • 通过kubectl创建简单的服务
    • 业务应用如何使用负载均衡?
    • 常见问题总览
    • 集群管理常见问题
  • API_V2参考
    • 通用说明
    • Instance相关接口
    • 附录
    • Autoscaler相关接口
    • 组件管理相关接口
    • 套餐适配相关接口
    • Task相关接口
    • 公共头和错误返回
    • Network相关接口
    • 服务域名
    • Cluster相关接口
    • Kubeconfig相关接口
    • InstanceGroup相关接口
    • RBAC相关接口
    • 概述
  • 产品定价
    • 产品定价
  • Solution-Xchain
    • 超级链解决方案
  • SDK
    • Go-SDK
      • 节点组管理
      • 节点管理
      • 集群管理
      • 初始化
      • 安装SDK工具包
      • 概述
所有文档
menu
没有找到结果,请重新输入

容器引擎 CCE

  • 功能发布记录
  • 产品描述
    • 介绍
    • 优势
    • 使用限制
    • 应用场景
    • 核心概念
    • 特性
  • 开发指南
    • EFK日志采集系统部署指南
    • 创建LoadBalancer类型的Service
    • Prometheus监控系统部署指南
    • kubectl管理配置
    • 在CCE集群中使用-Network-Policy
  • 常用工具
    • 视图命令行场景示例
  • 产品公告
    • CCE 新版集群管理发布公告
    • CCE 控制台升级公告
    • Kubernetes 版本发布说明
      • CCE发布Kubernetes 1.18版本说明
      • CCE发布Kubernetes 1.30版本说明
      • CCE Kubernetes 版本更新说明
      • CCE发布Kubernetes 1.22版本说明
      • CCE发布Kubernetes 1.20版本说明
      • CCE发布Kubernetes 1.28版本说明
      • CCE发布Kubernetes 1.24版本说明
      • CCE发布Kubernetes 1.26版本说明
    • 安全漏洞修复公告
      • 漏洞CVE-2020-14386修复公告
      • 修复漏洞CVE-2021-30465公告
      • 漏洞CVE-2019-5736修复公告
      • 漏洞CVE-2025-1097、CVE-2025-1098等修复公告
      • 关于 runc 的安全问题(CVE-2024-21626)影响声明
  • 快速入门
    • 快速部署nginx应用
    • 使用CCE容器引擎流程概述
  • 典型实践
    • CCE集群网络说明及规划
    • CCE典型实践之容器网络模式选择
    • Pod异常问题排查
    • 通过 CCE Ingress 实现虚机和容器服务的统一接入
    • CCE集群使用Jenkins持续发布
    • CCE-访问公网实践
    • Linux系统配置常用参数说明
    • 用户使用自定义 CNI 插件方法
    • CCE典型实践之Guestbook搭建
    • 使用KMS对etcd数据加密
    • 添加CGroup V2节点
    • CCE容器运行时选择
    • CCE使用检查清单
    • VPC-ENI模式集群访问公网实践
    • 利用 Velero 实现将应用跨云迁移到 百度CCE
    • 使用 CNI 配置容器内网络参数
    • CCE Resource Recommender 用户文档
    • CCE集群中使用私有镜像实践
    • 云原生AI
      • 使用 CCE AITraining Operator 实现弹性容错训练
      • 部署 TensorFlow Serving 推理服务
      • GPU虚拟化之隔离性最优型的最佳实践
  • 操作指南
    • 多用户访问控制
    • 使用须知
    • 命名空间管理
      • 设置资源配额
      • 设置资源限制
      • 命名空间基本操作
    • 弹性伸缩
      • 使用 cce-autoscaling-placeholder 实现秒级弹性伸缩
      • CCE 集群节点自动伸缩
      • 容器定时水平伸缩(CronHPA)
      • 容器水平伸缩(HPA)
    • 存储管理
      • 使用云盘CDS
      • 使用并行文件存储PFS
      • 使用对象存储BOS
      • 使用并行文件存储PFS L2
      • 使用本地存储
      • 使用数据湖存储加速工具RapidFS
      • 使用文件存储CFS
      • 概述
    • 节点管理
      • 移出节点
      • kubelet容器监控只读端口风险提示
      • 管理污点
      • 设置GPU显存共享
      • 添加节点
      • 自定义Kubelet参数
      • 设置节点封锁
      • 节点排水
      • 管理节点标签
    • 组件管理
      • CCE CSI BOS Plugin 说明
      • Kube Scheduler 说明文档
      • CCE CSI PFS L2 Plugin
      • CCE NodeLocal DNSCache 说明
      • CCE Ingress NGINX Controller 说明
      • CCE RDMA Device Plugin 说明
      • CCE Node Problem Detector 说明
      • CCE Credential Controller 说明
      • Kube Controller Manager 说明
      • CCE Ingress Controller 说明
      • CCE GPU Manager 说明
      • CCE Backup Controller 说明
      • CCE QoS Agent 说明
      • CCE Descheduler 说明
      • 组件概述
      • CCE Image Accelerate 说明
      • CCE Network Plugin说明
      • Kube ApiServer 说明
      • CCE Log Operator 说明
      • CoreDNS 说明
      • CCE NPU Manager 说明
      • CCE AI Job Scheduler 说明
      • CCE LB Controller 说明
      • CCE P2P Accelerator 说明
      • CCE_Hybrid_Manager说明
      • CCE CSI PFS Plugin 说明
      • CCE Deep Learning Frameworks Operator 说明
      • CCE Node Remedier 说明
      • CCE CSI CDS Plugin 说明
      • CCE Ascend Mindx DL说明
      • CCE Calico Felix 说明
      • CCE Virtual Kubelet组件
      • CCE Fluid说明
      • CCE Onepilot 说明
      • CCE CronHPA Controller 说明
      • CCE 动态调度插件说明
    • 云原生AI
      • 云原生AI概述
      • GPU虚拟化
        • MPS 最佳实践&注意事项
        • GPU独占和共享说明
        • GPU在离线混部使用说明
        • GPU虚拟化适配表
        • 单GPU容器共享多卡使用说明
        • 共享GPU场景下的镜像构建注意事项
        • 关闭节点显存共享功能注意事项
      • 队列管理
        • 逻辑队列和物理队列使用说明
        • 修改队列
        • 删除队列
        • 新建队列
      • 任务管理
        • 基于 NCCL的RDMA分布式训练示例
        • 新建AITraining任务
        • 新建PaddlePaddle任务
        • 删除任务
        • 查看任务信息
        • 新建Mxnet任务
        • 新建TensorFlow任务
        • 新建Pytorch任务
      • 数据集管理
        • 删除数据集
        • 操作数据集
        • 查看数据集
        • 新建数据集
      • AI监控大盘
        • 接入监控实例并开启采集任务
        • NVIDIA芯片资源观测
          • AI Job Scheduler组件
          • GPUManager组件
          • GPU资源池总览
          • GPU节点资源
          • GPU工作负载资源
        • 昇腾芯片资源观测
          • 昇腾节点资源
          • 昇腾资源池总览
          • 昇腾工作负载资源
      • AI 加速套件
        • 使用AIAK-Inference 加速推理业务
        • 使用AIAK-Training Pytorch版
        • AIAK 简介
        • 使用 AIAK-Training 部署分布式训练任务
    • Helm管理
      • Helm模板
      • Helm实例
    • 应用管理
      • 部署
      • 保密字典
      • 服务
      • 配置字典
      • 容器组
      • 概述
    • 镜像仓库
      • 使用容器镜像构建服务
      • 镜像仓库基本操作
    • Serverless集群
      • 在Serverless集群中使用Service
      • 产品概述
      • 创建Serverless集群
    • 工作负载
      • 设置工作负载自动水平伸缩
      • Statefulset管理
      • 使用私有镜像创建工作负载
      • Job管理
      • 查看容器组
      • CronJob管理
      • Daemonset管理
      • 免密拉取容器镜像
      • Deployment管理
    • 节点组管理
      • 节点组管理
      • 节点组介绍
      • 升级节点组
      • 添加外部已有节点
      • 自定义节点组 Kubelet 配置
      • 添加备选机型
      • 节点组节点故障检测自愈
      • 配置扩缩容策略
    • 监控日志
      • 使用Prometheus监控集群
      • CCE 事件中心
      • 集群审计仪表盘
      • CCE 集群异常事件报警
      • Java应用监控
      • 集群服务画像
      • 日志管理
      • 集群审计
      • 日志中心
        • 在容器引擎控制台配置采集规则
        • 查看集群控制面日志
        • 日志概述
        • 查看业务日志
        • 使用CRD配置采集规则
    • 网络管理
      • CCE 集群内容器访问集群外服务
      • 容器网段空间耗尽如何继续扩容(VPC-ENI模式)
      • 容器网段空间耗尽如何继续扩容(VPC网络模式)
      • CCE IP Masquerade Agent 用户指南
      • 创建VPC-ENI模式集群
      • 对等连接场景下容器流量转发配置
      • 使用Network Policy网络策略
      • CCE 支持 IPv4 和 IPv6 双栈网络
      • 在CCE集群中使用NetworkPolicy
      • 网络编排
        • 集群 Pod 子网拓扑分布(容器网络 v2)
        • 容器网络 QoS 管理
        • VPC-ENI指定子网分配IP(容器网络 v2)
      • 网络连通性
        • 容器网络通过 NAT 网关访问公网
      • 网络维护
        • CCE容器网络常见错误码对应表
      • DNS
        • DNS 原理概述
        • DNS 问题排查指南
        • CoreDNS 组件手动升级指南
    • 虚拟节点
      • 管理虚拟节点
      • 配置BCIPod
      • 配置bci-profile
    • 备份中心
      • 备份概述
      • 恢复管理
      • 备份仓库
      • 备份管理
    • 巡检与诊断
      • GPU运行环境检查
      • 集群巡检
      • 故障诊断
    • 流量接入
      • NGINX Ingress 使用配置参考
      • CCE基于nginx-ingress实现灰度发布
      • BLB Ingress Annotation说明
      • 通过CCE使用K8S_Ingress
      • 通过YAML创建LoadBalancer_Service
      • 通过CCE使用K8S_Service
      • LoadBalancer Service Annotation说明
      • 使用直连 Pod 模式 LoadBalancer Service
      • Service复用已有负载均衡BLB
      • 通过YAML创建CCE_Ingress
      • 使用 NGINX Ingress
    • 权限管理
      • 配置集群OIDC认证
      • 配置IAM标签权限策略
      • 配置IAM自定义权限策略
      • 配置IAM预置权限策略
      • 权限概述
      • 配置预置RBAC权限策略
    • 配置管理
      • Secret管理
      • Configmap管理
    • 集群管理
      • 集群快照
      • CCE 安全组
      • 查看集群
      • 创建集群
      • 操作集群
      • 升级集群Kubernetes版本
      • 通过kubectl连接集群
      • 托管集群使用说明
      • CCE 支持 GPUSharing 集群
      • CCE节点资源预留说明
      • CCE 节点 CDS 扩容
  • 服务等级协议SLA
    • CCE服务等级协议SLA(V1.0)
  • Solution-Fabric
    • Fabric解决方案
  • API参考
    • 通用说明
    • 公共头和错误返回
    • 概述
  • 常见问题
    • windows下使用kubectl
    • 自动扩缩容常见问题
    • 通过kubectl创建简单的服务
    • 业务应用如何使用负载均衡?
    • 常见问题总览
    • 集群管理常见问题
  • API_V2参考
    • 通用说明
    • Instance相关接口
    • 附录
    • Autoscaler相关接口
    • 组件管理相关接口
    • 套餐适配相关接口
    • Task相关接口
    • 公共头和错误返回
    • Network相关接口
    • 服务域名
    • Cluster相关接口
    • Kubeconfig相关接口
    • InstanceGroup相关接口
    • RBAC相关接口
    • 概述
  • 产品定价
    • 产品定价
  • Solution-Xchain
    • 超级链解决方案
  • SDK
    • Go-SDK
      • 节点组管理
      • 节点管理
      • 集群管理
      • 初始化
      • 安装SDK工具包
      • 概述
  • 文档中心
  • arrow
  • 容器引擎CCE
  • arrow
  • 操作指南
  • arrow
  • 云原生AI
  • arrow
  • 队列管理
  • arrow
  • 逻辑队列和物理队列使用说明
本页目录
  • 前提条件
  • 逻辑队列
  • 普通队列
  • 弹性队列
  • 层级队列
  • 物理队列
  • 配额设置说明
  • 队列参数项说明
  • 队列注意事项说明
  • 创建队列
  • 删除队列
  • 更新队列
  • 逻辑队列使用
  • 创建弹性队列和层级队列
  • 更新逻辑队列
  • 提交任务到逻辑队列
  • 物理队列使用
  • 划分节点
  • 创建物理队列
  • 队列下创建逻辑队列(可选)
  • 修改物理队列

逻辑队列和物理队列使用说明

更新时间:2025-08-21

队列功能概述

队列是一个资源池中部分资源的集合,用于工作负载(训练任务、模型服务)的运行。用户可将资源池划分成若干个独立队列(逻辑队列、物理队列)来运行不同工作负载。资源池创建成功后会默认生成 default 队列。本文将介绍如何通过yaml模板创建、更新和使用队列。

前提条件

在 CCE 组件管理页面,选择云原生 AI 栏目,CCE AI Job Scheduler 组件版本按照下图升级到最新版本(1.7.14 以上),以使用相关队列功能。

image.png

逻辑队列

普通队列

普通队列通常是为不同业务部门分配资源配额最常见的队列形式,是将固定数量的配额资源分配给不同部门使用,实现基础的资源分配能力。

弹性队列

弹性队列是帮助平台型客户更高效为不同业务部门分配资源配额的队列形式。在弹性队列中允许队列闲置配额资源借出给其他队列使用,实现资源出借回收、任务超发抢占等能力,以提高GPU/NPU资源的利用率。具体的任务超发、抢占资源的策略见附录详情。

层级队列

层级队列是面向中大型客户,组织架构复杂,存在多层的资源配额管理场景,提供多层级、多队列资源配额管理能力。

物理队列

通过物理队列对GPU/NPU资源进行物理隔离,支持客户保障重点业务的资源供给,避免资源抢占。同时在物理队列下可以创建多个子逻辑队列。

队列功能说明

配额设置说明

弹性队列需要设置三类配额:预留配额、申请配额、上限配额。将计算资源分成独占型、共享型和抢占型,以更好地优化成本并提高GPU/NPU资源的利用率。

  • 预留配额表示单独为该队列预留的资源量,任何情况都不会被其他队列借用。
  • 申请配额表示该队列申请的资源量,一般为经过确认的预估使用量。开启队列间抢占功能时,其他队列可使用该队列中空闲的共享型资源。
  • 上限配额表示该队列最大的可用资源量。

image.png

针对以上配额的概念,可参考以下示例便于理解:

image.png

队列参数项说明

参数 参数类型 说明
name Metadata 队列名称,新队列名称不允许为root
labels Metadata 该队列所属的父队列名称,创建队列时禁止将 default队列 和 层级队列的第二层队列 配置为父队列
Guarantee Spec 预留资源,表示队列预留的资源量,即使未分配也不会借用,子队列预留资源之和<=父队列预留资源<=集群资源。默认不配置,可使用全集群空闲资源
Deserved Spec 申请资源,表示队列申请的资源量,子队列申请资源之和<=父队列申请资源<=集群资源。默认不配置,可使用全集群空闲资源
Capability Spec 最大可用资源,表示队列可用的最大资源量,子队列上限配额<=父队列上限配额<=集群资源。默认不配置
Reclaimable Spec 是否开启队列间抢占策略,借用的资源是否接受被抢占。默认开启
State Status 队列的状态,默认Open;支持配置Close关闭;队列关闭后,将拒绝新任务提交至队列
baidu.com/elastic-queue-is-parent Annotations 当前队列是否为父队列,默认为否,不支持直接向父队列提交任务,且当队列有任务运行时不允许创建子队列
baidu.com/elastic-queue-parent Annotations 可以指定父队列的名称,默认指向集群根队列 Root,不可指定为default队列、层级队列中的第二级队列以及正在运行任务的队列

队列注意事项说明

创建队列

  • 系统根队列未初始化,则不允许创建/修改队列
  • 不允许创建同名队列
  • 未指定父队列,默认将 Root 队列设置为父队列
  • 队列配额遵循以下的限制:

    • 不允许申请负数配额
    • 队列需保障 capability >= deserved >= guarantee 配置
    • capability 申请配额不允许大于父队列 capability 配额
    • 集群内同一级队列deserved 或 guarantee 之和不允许大于父队列
  • 层级队列遵循以下限制:

    • 指定父队列不允许不存在
    • 指定default 队列为父队列
    • 指定第二层队列为父队列
    • 不允许向已存在运行任务的队列添加自队列
  • 物理队列遵循以下限制:

    • capability、deserved 和 guarantee 配置需相同

删除队列

  • 层级队列中不允许直接删除父队列,需要先删除子队列后,再删除父队列;
  • 有任务正在运行的队列不允许删除。

更新队列

  • 物理队列不允许转换为普通队列
  • 物理队列下的逻辑队列的物理队列绑定标签,不可修改
  • capability 小于 allocated 已分配资源
  • 修改父队列后

    • capability 申请配额小于子队列 capability 配额
    • 父队列小于子队列 deserved 或 guarantee 之和
  • 违反了创建队列中的规则

yaml模板操作步骤

逻辑队列使用

创建弹性队列和层级队列

  1. 准备创建队列 yaml,样例如下
Plain Text
1apiVersion: scheduling.volcano.sh/v1beta1
2kind: Queue
3metadata:
4  name: demo-queue
5  labels:
6    baidu.com/queue-parent: xxxx
7spec:
8  capability:
9    baidu.com/a800_80g_cgpu: "6"
10  guarantee:
11    resource:
12      baidu.com/a800_80g_cgpu: "1"
13  deserved:
14    baidu.com/a800_80g_cgpu: "2"
15  reclaimable: false
16status:
17  allocated:
18    cpu: "0"
19    memory: "0"
20  reservation: {}
21  state: Open
  1. 提交yaml在集群中创建队列

kubectl apply -f demo-queue.yaml

更新逻辑队列

运行如下命令修改配列配置:

kubectl edit queue demo-queue

提交任务到逻辑队列

通过YAML提交任务,验证队列效果。

Plain Text
1apiVersion: "kubeflow.org/v1"
2kind: PyTorchJob
3metadata:
4  name: training-task
5spec:
6  runPolicy:
7    schedulingPolicy:
8      queue: "queue-name" //指定队列
9      priorityClass: "normal" 
10  pytorchReplicaSpecs:
11    Worker:
12      replicas: 2
13      template:
14        spec:
15          tolerations:
16          - key: "kwok.x-k8s.io/node"
17            operator: "Equal"
18            value: "fake"
19            effect: "NoSchedule"
20          containers:
21          - name: pytorch
22            image: demo-image:1.0
23            imagePullPolicy: IfNotPresent
24            resources:
25              limits:
26                nvidia.com/gpu: 4
27          schedulerName: volcano
参数 参数类型 说明
name Meta 任务名称
runPolicy.schedulingPolicy.queue Spec 向指定的队列提交任务
runPolicy.schedulingPolicy.priorityClass Spec 运行任务的优先级,支持高、中、低三种
pytorchReplicaSpecs.Worker.replicas Spec 运行任务的副本数

物理队列使用

划分节点

将目标节点纳入到物理队列中,建议提前排空相关节点的任务,对于未排空的节点也可直接加入物理队列,但节点GPU资源需要等待任务运行完成后才能释放。

需要注意,物理队列资源申请量需要与加入物理队列的节点资源准确匹配。比如物理队列申请资源 16 卡,可以纳入两台 8 卡节点,多划分会造成资源浪费,少划分可能会导致调度失败。

划分方式分成两步:

  • 添加污点:只影响后续新任务的调度,不影响当前正在运行的任务。

kubectl taint nodes targetNode aihc.baidu.com/dedicated-pool=queue-physical-name:NoSchedule

  • 添加标签

kubectl label nodes targetNode aihc.baidu.com/dedicated-pool=queue-physical-name

Plain Text
1注意:添加标签和污点时将targetNode换成节点IP即可,多个IP中间用空格隔开。

创建物理队列

按照下面yaml模板描述一个物理队列

Plain Text
1apiVersion: scheduling.volcano.sh/v1beta1
2kind: Queue
3metadata:
4  labels:
5    baidu.com/queue-is-physical-queue: "true"
6  name: queue-physical-name
7spec:
8  capability:
9    nvidia.com/gpu: "16"
10  deserved:
11    nvidia.com/gpu: "16"
12  guarantee:
13    resource:
14      nvidia.com/gpu: "16"
15  reclaimable: false
16  weight: 1
Plain Text
1注意:仅需修改name(队列名称)、capability、deserved、guarantee 4个参数值,且配额相关的capability、deserved、guarantee3个值需保持一致,对应物理队列申请的GPU卡数,其他参数保持不变。

队列下创建逻辑队列(可选)

如果想对物理队列资源进行进一步划分,可以在物理队列下创建逻辑子队列,但与物理队列不同的是,子队列不再绑定节点,只保证配额。

Plain Text
1apiVersion: scheduling.volcano.sh/v1beta1
2kind: Queue
3metadata:
4  labels:
5    baidu.com/queue-parent: queue-physical-name
6  name: queue-logical-name
7spec:
8  deserved:
9    nvidia.com/gpu: "8"
10  guarantee:{}
11  reclaimable: false
12  weight: 1

申请固定配额逻辑队列,可以参考上述例子,设置 deserved 即可,保证所有子队列 deserved 资源之和不大于物理队列的 deserved 值。

Plain Text
1注意,以下两种行为是不合法的:
2* 向有任务运行的物理队列下添加子队列
3* 在物理队列有子队列的情况下,向物理队列提交任务 

修改物理队列

(1)修改物理队列配额

使用 kubectl edit queue queue-physical-name 修改物理队列配额,修改配额为纳管新节点后的总配额数 (2)纳入新节点 类似划分节点步骤,给新节点执行下面两个操作

  • 添加污点

kubectl taint nodes targetNode aihc.baidu.com/dedicated-pool=queue-physical-name:NoSchedule

  • 添加标签

kubectl label nodes targetNode aihc.baidu.com/dedicated-pool=queue-physical-name

上一篇
GPU虚拟化
下一篇
修改队列