活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 安全隔离版OpenClaw NEW OpenClaw云服务器专属“龙虾“套餐低至1.5折起
  • 青云志云端助力计划 NEW 一站式科研助手,海外资源安全访问平台,助力青年翼展宏图,平步青云
  • 出海产品促销专区 NEW 爆款云主机低至2折,高性价比,不限新老速来抢购!
  • 天翼云信创专区 NEW “一云多芯、一云多态”,国产化软件全面适配,国产操作系统及硬件芯片支持丰富
  • 中小企业服务商合作专区 国家云助力中小企业腾飞,高额上云补贴重磅上线
  • 云上钜惠 爆款云主机全场特惠,2核4G只要1.8折起!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

息壤智算

领先开放的智算服务平台,提供算力、平台、数据、模型、应用“五位一体”智算服务体系,构建全流程的AI基础设施能力
AI Store
  • 算力市场
  • 模型市场
  • 应用市场
公共算力服务
  • 裸金属
  • 定制裸金属
训推服务
  • 模型开发
  • 训练任务
  • 服务部署
模型推理服务
  • 模型广场
  • 体验中心
  • 服务接入
应用托管
  • 应用实例
科研助手
  • 科研智能体
  • 科研服务
  • 开发机
  • 并行计算
大模型
  • DeepSeek-V3.1
  • DeepSeek-R1-0528
  • DeepSeek-V3-0324
  • Qwen3-235B-A22B
  • Qwen3-32B
智算一体机
  • 智算一体机
模型适配专家服务
  • 模型适配专家服务
算力服务商
  • 入驻算力服务商

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场进入AI Store创新解决方案公有云生态专区智云上海应用生态专区
建站工具
  • 新域名服务
  • SSL证书
  • 翼建站
企业办公
  • 安全邮箱
  • WPS 365 天翼云版
  • 天翼企业云盘(标准服务版)
灾备迁移
  • 云管家2.0
  • 翼备份(SaaS版)

定价

协助您快速了解云产品计费模式、价格详情,轻松预估上云成本
价格计算器
  • 动态测算产品价格
定价策略
  • 快速了解计费模式

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼信创云专区
  • 信创云专区
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
培训与认证
  • 天翼云学堂
  • 天翼云认证
开源社区
  • 魔乐社区
  • OpenTeleDB

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 服务保障
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家
我要反馈
  • 建议与反馈
  • 用户体验官
信息公告
  • 客户公告

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 息壤智算
  • 产品
  • 解决方案
  • 应用商城
  • 定价
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心
      文档中心

      云容器引擎

      云容器引擎

      • 云容器引擎

      无数据

        • 产品动态
        • 产品简介
        • 产品定义
        • 产品优势
        • 产品特性
        • 应用场景
        • 使用限制
        • 相关术语解释
        • 与其它服务的关系
        • 快速入门
        • 入门指引
        • 准备工作
        • 快速创建Kubernetes集群
        • 镜像创建无状态工作负载(Nginx)
        • 计费说明
        • 计费模式
        • 计费项与产品价格
        • 包年/包月计费
        • 按需计费
        • 规格变更
        • 计费模式变更
        • 退订
        • 用户指南
        • 什么是云容器引擎
        • 高危操作及解决方案
        • 集群管理
        • 集群概述
        • 集群基本信息
        • 集群Kubernetes版本发布说明
        • Kubernetes版本策略
        • CCE发布Kubernetes 1.32版本说明
        • CCE发布Kubernetes 1.31版本说明
        • CCE发布Kubernetes 1.30版本说明
        • CCE发布Kubernetes 1.29版本说明
        • CCE发布Kubernetes 1.28版本说明
        • CCE发布Kubernetes 1.27版本说明
        • (停止维护)CCE发布Kubernetes 1.25版本说明
        • (停止维护)CCE发布Kubernetes 1.23版本说明
        • (停止维护)CCE发布Kubernetes 1.21版本说明
        • (停止维护)CCE发布Kubernetes 1.19版本说明
        • (停止维护)CCE发布Kubernetes 1.17版本说明
        • (停止维护)CCE发布Kubernetes 1.15版本说明
        • (停止维护)CCE发布Kubernetes 1.13版本说明
        • (停止维护)CCE发布Kubernetes 1.11版本说明
        • (停止维护)CCE发布Kubernetes 1.9及之前版本说明
        • 补丁版本发布记录
        • 购买集群
        • CCE Turbo集群与CCE集群的区别
        • iptables与IPVS如何选择
        • 购买集群
        • 访问集群
        • 通过X509证书连接集群
        • 通过kubectl连接集群
        • 通过自定义域名访问集群
        • 集群升级
        • 集群升级概述
        • 升级前须知
        • 升级前检查
        • 节点限制检查
        • 黑名单检查
        • 插件检查
        • Helm模板检查
        • Master节点SSH联通性检查
        • 节点池检查
        • 安全组检查
        • ARM节点限制检查
        • 残留待迁移节点检查
        • K8S废弃资源检查
        • 兼容性风险检查
        • 节点CCEAgent版本检查
        • 节点CPU使用率检查
        • CRD检查
        • 节点磁盘检查
        • 节点DNS检查
        • 节点关键目录文件权限检查
        • 节点Kubelet检查
        • 节点内存检查
        • 节点时钟同步服务器检查
        • 节点OS检查
        • 节点CPU数量检查
        • 节点Python命令检查
        • ASM网格版本检查
        • 节点Ready检查
        • 节点journald检查
        • 节点干扰ContainerdSock检查
        • 内部错误
        • 节点挂载点检查
        • K8S节点污点检查
        • everest插件版本限制检查
        • cce-hpa-controller插件限制检查
        • 动态绑核检查
        • 升级后验证
        • 业务验证
        • 存量Pod检查
        • 存量节点与容器网络检查
        • 存量节点标签与污点检查
        • 新建节点检查
        • 新建Pod检查
        • 重置跳过节点检查
        • 重置升级/滚动升级(1.13版本)
        • 原地升级
        • 集群跨版本业务迁移
        • 管理集群
        • 删除集群(按需计费)
        • 退订/释放集群(包年/包月)
        • 续费集群(包年/包月)
        • 变更集群规格
        • 休眠与唤醒集群(按需计费)
        • 更改集群节点的默认安全组
        • 配置管理
        • 获取集群证书
        • 节点管理
        • 节点概述
        • 节点须知
        • 容器引擎
        • 节点操作系统
        • 安全容器与普通容器
        • 节点最多可以创建多少个Pod
        • 节点预留资源计算公式
        • 数据盘空间分配说明
        • 创建节点
        • 纳管节点
        • 移除节点
        • 重置节点
        • 登录节点
        • 管理节点标签
        • 管理节点污点(taint)
        • 节点排水
        • 同步云服务器
        • 删除节点
        • 节点关机
        • 节点滚动升级
        • 将节点容器引擎从Docker迁移到Containerd
        • 节点池管理
        • 节点池概述
        • 创建节点池
        • 管理节点池
        • 工作负载
        • 工作负载概述
        • 创建无状态负载(Deployment)
        • 创建有状态负载(StatefulSet)
        • 创建守护进程集(DaemonSet)
        • 创建普通任务(Job)
        • 创建定时任务(CronJob)
        • 管理工作负载和任务
        • 登录容器
        • 容器设置
        • 容器基本信息
        • 如何使用第三方镜像
        • 设置容器规格
        • 设置容器生命周期
        • 设置容器健康检查
        • 设置环境变量
        • 健康检查UDP协议安全组规则说明
        • 配置镜像拉取策略
        • 时区同步
        • 工作负载升级配置
        • 调度策略(亲和与反亲和)
        • 实例缩容优先级说明
        • Pod标签与注解
        • 调度管理
        • 调度概述
        • CPU调度
        • GPU调度
        • 云原生混部
        • 网络管理
        • 网络概述
        • 容器网络模型
        • 容器网络模型对比
        • 容器隧道网络
        • VPC网络
        • 云原生网络2.0
        • Service
        • Service概述
        • 集群内访问(ClusterIP)
        • 节点访问(NodePort)
        • 负载均衡(LoadBalancer)
        • Headless Service
        • Service Annotations说明
        • Ingress
        • Ingress概述
        • 通过控制台使用ELB Ingress
        • 通过控制台使用Nginx Ingress
        • DNS
        • DNS概述
        • 工作负载DNS配置说明
        • 使用CoreDNS实现自定义域名解析
        • 使用NodeLocal DNSCache提升DNS性能
        • 容器如何访问VPC内部网络
        • 从容器访问公网
        • 容器网络配置
        • 主机网络hostNetwork
        • Pod互访QoS限速
        • 容器隧道网络配置
        • 存储管理
        • 存储概述
        • 本地磁盘存储
        • 存储卷PV
        • 存储卷声明PVC
        • 存储类StorageClass
        • 快照与备份
        • 本地持久存储卷和临时存储卷
        • 对象存储卷挂载设置自定义访问密钥(AK/SK)
        • 设置挂载参数
        • 运维管理
        • 监控管理
        • 日志管理
        • 使用ICAgent采集容器日志
        • 命名空间
        • 创建命名空间
        • 管理命名空间
        • 设置命名空间级的网络策略
        • 设置资源配额及限制
        • 配置中心
        • 创建配置项
        • 使用配置项
        • 创建密钥
        • 使用密钥
        • 集群系统密钥说明
        • 弹性伸缩
        • 弹性伸缩概述
        • 工作负载弹性伸缩
        • 工作负载伸缩原理
        • 创建工作负载弹性伸缩(HPA)
        • 创建工作负载弹性伸缩(CustomedHPA)
        • CronHPA定时策略
        • 管理工作负载伸缩策略
        • 集群/节点弹性伸缩
        • 节点伸缩原理
        • 创建节点伸缩策略
        • 管理节点伸缩策略
        • 插件管理
        • 插件概述
        • CoreDNS域名解析
        • CCE容器存储(everest)
        • CCE节点故障检测
        • Kubernetes Dashboard
        • CCE集群弹性引擎
        • NGINX Ingress控制器
        • Kubernetes Metrics Server
        • CCE容器弹性引擎
        • prometheus(停止维护)
        • Kubernetes Web终端(停止维护)
        • CCE AI套件(NVIDIA GPU)
        • Volcano调度器
        • 节点本地域名解析加速
        • 云原生监控插件
        • 模板管理(helm)
        • 概述
        • 通过模板部署应用
        • Helm v2与Helm v3的差异及适配方案
        • 通过Helm v2客户端部署应用
        • 通过Helm v3客户端部署应用
        • Helm v2 Release转换成Helm v3 Release
        • 权限管理
        • CCE权限概述
        • 集群权限(IAM授权)
        • 命名空间权限(Kubernetes RBAC授权)
        • 示例:某部门权限设计及配置
        • Pod安全配置
        • PodSecurityPolicy配置
        • Pod Security Admission配置
        • CCE控制台的权限依赖
        • ServiceAccount Token安全性提升说明
        • 系统委托说明
        • 云审计
        • 云审计服务支持的CCE操作列表
        • 查看云审计日志
        • 旧版UI
        • 基本概念
        • 高危操作及解决方案
        • 集群管理
        • 集群概述
        • 集群生命周期
        • 购买混合集群
        • kubectl访问集群
        • Kubectl使用指南
        • 通过kubectl操作CCE集群
        • 通过kubectl配置kube-dns/CoreDNS高可用
        • Kubectl常用命令参考
        • 集群弹性扩容
        • 集群升级
        • 集群版本升级说明
        • 升级集群
        • 集群跨版本业务迁移
        • 管理集群
        • 删除集群
        • 集群休眠与唤醒
        • 配置管理
        • 获取集群证书
        • 集群监控
        • 集群管理权限控制
        • 节点管理
        • 节点概述
        • 购买节点
        • 纳管已有节点到集群
        • 登录节点
        • 节点监控
        • 管理节点标签
        • 同步节点信息
        • 重置节点
        • 删除节点
        • 节点关机
        • 节点滚动升级
        • 节点预留资源计算公式
        • 节点池管理
        • 节点池概述
        • 创建节点池
        • 管理节点池
        • 工作负载
        • 工作负载概述
        • 创建无状态负载(Deployment)
        • 创建有状态负载(StatefulSet)
        • 创建守护进程集(DaemonSet)
        • 创建普通任务(Job)
        • 创建定时任务(CronJob)
        • 管理容器组(Pod)
        • 管理工作负载和任务
        • 工作负载弹性伸缩
        • 容器设置
        • 如何使用第三方镜像
        • 设置容器规格
        • 设置容器生命周期
        • 设置容器启动命令
        • 设置容器健康检查
        • 设置环境变量
        • 采集容器标准输出日志
        • 采集容器内路径日志
        • 对接Prometheus实现自定义指标监控
        • 性能管理配置(性能瓶颈分析)
        • 健康检查UDP协议安全组规则说明
        • Kubernetes集群内置DNS配置说明
        • 亲和/反亲和性调度
        • 调度策略概述
        • 自定义调度策略
        • 节点亲和性
        • 工作负载亲和性
        • 工作负载反亲和性
        • 简易调度策略
        • 工作负载和可用区的亲和性
        • 工作负载和可用区的反亲和性
        • 工作负载和节点的亲和性
        • 工作负载和节点的反亲和性
        • 工作负载间的亲和性
        • 工作负载间的反亲和性
        • 网络管理
        • 网络概述
        • 网络模型
        • 网络模型概述
        • 容器隧道网络
        • VPC网络
        • Service
        • 集群内访问(ClusterIP)
        • 节点访问(NodePort)
        • 负载均衡(LoadBalancer)
        • 通过Kubectl命令行创建Ingress
        • Ingress
        • Ingress概述
        • 基本功能操作
        • NetworkPolicy
        • 存储管理
        • 存储概述
        • 本地磁盘存储
        • 云硬盘存储卷
        • 云硬盘存储卷使用说明
        • 使用云硬盘存储卷
        • 使用kubectl自动创建云硬盘
        • 使用kubectl对接已有云硬盘
        • 使用kubectl部署带云硬盘存储卷的工作负载
        • 文件存储卷
        • 文件存储卷使用说明
        • 使用文件存储卷
        • 极速文件存储卷
        • 极速文件存储卷使用说明
        • 使用极速文件存储卷
        • 快照与备份
        • 命名空间
        • 创建命名空间
        • 管理命名空间
        • 设置命名空间级的网络策略
        • 设置资源配额及限制
        • 配置中心
        • 创建配置项
        • 使用配置项
        • 创建密钥
        • 使用密钥
        • 模板市场
        • 模板概述
        • 准备模板包
        • 上传模板包
        • 通过模板创建工作负载
        • 使用弹性负载均衡
        • 插件管理
        • 插件概述
        • CoreDNS(系统资源插件,必装)
        • Everest(系统资源插件,必装)
        • storage-driver(系统资源插件,必装)
        • autoscaler
        • metrics-server
        • cce-hpa-controller
        • prometheus
        • gpu-beta
        • 弹性伸缩
        • 弹性伸缩概述
        • 工作负载弹性伸缩
        • 工作负载伸缩原理
        • 创建工作负载弹性伸缩(HPA)
        • 创建工作负载弹性伸缩(CustomedHPA)
        • 管理工作负载伸缩策略
        • 集群/节点弹性伸缩
        • 节点伸缩原理
        • 创建节点伸缩策略
        • 管理节点伸缩策略
        • 节点伸缩常见问题
        • 权限管理
        • CCE权限概述
        • 集群权限
        • 命名空间权限
        • 创建用户并授权使用CCE
        • 设置集群权限
        • 设置命名空间权限
        • CCE控制台的权限依赖
        • 云监控服务
        • 支持的监控指标
        • 设置告警规则
        • 查看监控指标
        • 云审计服务
        • 云审计服务支持的CCE操作列表
        • 查看云审计日志
        • 相关服务
        • 容器镜像服务
        • 应用运维管理
        • 最佳实践
        • 集群
        • 通过CCE搭建IPv4/IPv6双栈集群
        • 在CCE中实现高可用部署
        • 快速清理已删除节点上的CCE组件
        • 通过kubectl对接多个集群
        • 使用HPA+CA实现工作负载和节点联动弹性伸缩
        • 选择合适的节点数据盘大小
        • 网络
        • 在CCE的集群网络模型选择及区别
        • CCE集群的网络地址段规划实践
        • 迁移
        • 容器镜像迁移
        • 常见问题
        • 常见问题
        • 高频常见问题
        • 计费类
        • 集群类
        • 节点类
        • 节点池类
        • 工作负载类
        • 网络管理类
        • 存储管理类
        • 模板插件类
        • API&kubectl类
        • 域名DNS类
        • 权限类
        • 参考知识类
        • 文档下载
        • 相关协议
        • 云容器引擎产品服务协议
        • 云容器引擎产品服务等级协议
          无相关产品

          本页目录

          帮助中心云容器引擎用户指南调度管理云原生混部
          云原生混部
          更新时间 2026-04-16 16:46:57
          • 新浪微博
          • 微信
            扫码分享
          • 复制链接
          最近更新时间: 2026-04-16 16:46:57
          分享文章
          • 新浪微博
          • 微信
            扫码分享
          • 复制链接

          动态资源超卖

          当前很多业务有波峰和波谷,部署服务时,为了保证服务的性能和稳定性,通常会按照波峰时需要的资源申请,但是波峰的时间可能很短,这样在非波峰时段就有资源浪费。另外,由于在线作业SLA要求较高,为了保证服务的性能和可靠性,通常会申请大量的冗余资源,因此,会导致资源利用率很低、浪费比较严重。

          将这些申请而未使用的资源(即申请量与使用量的差值)利用起来,就是资源超卖。超卖资源适合部署离线作业,离线作业通常关注吞吐量,SLA要求不高,容忍一定的失败。

          在线作业和离线作业混合部署在Kubernetes集群中将有效地提升集群整体资源利用率。

          资源超卖功能特性

          说明

          当节点池启用动态资源超卖和弹性伸缩时,由于高优先级应用业务资源使用量实时变化,导致超卖资源变化较快,为了避免节点频繁缩容和扩容,在节点缩容评估时暂不考虑超卖资源。

          当前特性支持集群内在离线作业混部以及节点CPU和内存资源超卖,关键特性如下:

          • 离线作业优先使用超卖节点

            若同时存在超卖与非超卖节点,在离线作业调度过程中,超卖节点得分高于非超卖节点,离线作业优先调度到超卖节点。

          • 在线作业预选超卖节点时只能使用其非超卖资源

            在线作业只能使用超卖节点的非超卖资源,离线作业可以使用超卖节点的超卖及非超卖资源。

          • 同一调度周期在线作业先于离线作业调度

            在线作业和离线作业同时存在时,优先调度在线作业。当节点资源使用率超过设定的驱逐上限且节点request值超过100%时,将会驱逐离线作业。

          • 内核提供CPU/内存隔离特性

            CPU隔离:在线作业能够快速抢占离线作业的CPU资源,并压制离线作业的CPU使用。

            内存隔离:系统内存资源用尽触发OOM Kill时,内核优先驱逐离线作业。

          • Kubelet离线作业准入规则

            在调度器将Pod调度到某个节点上之后,Kubelet在启动该Pod之前,会对该Pod进行准入判断,如果此时节点资源无法满足该Pod的Request值,kubelet则拒绝启动该Pod(predicateAdmitHandler.Admit)。满足以下两个条件时,Kubelet准入该Pod:

            • 待启动Pod Request与运行的在线作业Request之和 < 节点Allocatable

            • 待启动Pod Request与运行的在/离线作业Request之和 < 节点Allocatable + 节点超卖资源

          • 支持超卖和混部分离

            开启节点池的混部开关后,默认的混部配置同时打开了混部和超卖功能,节点会被同时打上volcano.sh/colocation="true"和volcano.sh/oversubscription="true"的标签。若只进行在离线作业混部,而不使用超卖资源,需在混部配置中关闭资源超卖特性,关闭超卖特性后volcano.sh/oversubscription="true"标签会被移除。

            开启混部或超卖后可使用的特性组合如下:

          开启混部开启超卖可以使用超卖资源驱逐离线Pod场景
          否否否无
          是否否当节点实际资源使用率超过高水位线时,触发离线Pod驱逐
          否是是当节点实际资源使用率超过高水位线并且节点Pod的Request和大于100%,触发离线Pod驱逐
          是是是当节点实际资源使用率超过高水位线,触发离线Pod驱逐

          使用场景约束:集群中引入离线混部与资源超卖机制,能够更高效地利用计算资源,平衡高峰与低谷时期的资源分配,从而提升整体资源利用率并降低运维成本。在应对突发资源需求(如在线业务负载激增)时,系统具备智能的资源调度能力,例如通过CPU QoS策略,在线任务可优先获得计算资源,确保关键业务的稳定运行。当内存需求出现短时增长时,底层操作系统会触发自动内存回收机制,优先回收非活跃数据(例如,离线业务的 page cache)。此过程中,节点性能可能出现轻微波动,但系统会根据资源压力动态调整任务运行状态,从而使整体业务迅速恢复到稳定状态,实现业务连续性和资源效率的有机统一。

          kubelet超卖兼容模式

          规格约束

          • 集群版本:

          • v1.19集群:v1.19.16-r4及以上版本

          • v1.21集群:v1.21.7-r0及以上版本

          • v1.23集群:v1.23.5-r0及以上版本

          • v1.25及以上版本

          • 集群类型:CCE Standard集群或CCE Turbo集群。

          • 节点OS:EulerOS 2.9 (内核kernel-4.18.0-147.5.1.6.h729.6.eulerosv2r9.x86_64)或者HCE OS 2.0

          • 节点类型:弹性虚拟机。

          • Volcano插件版本:1.7.0及以上版本。

          使用限制

          • 使用超卖特性时,需保证Volcano未启用overcommit插件。

          • 修改超卖节点标签不会影响已经运行的pod。

          • 运行中的pod无法进行在线和离线业务转换,如需转换需要重建pod。

          • 集群中有节点配置超卖标签volcano.sh/oversubscription=true时,Volcano插件必须要增加oversubscription配置,否则会导致超卖节点调度异常。标签配置需要由用户保证,调度器不会对插件和节点配置进行检查。

          • 超卖特性开关目前不支持统一配置,若要关闭超卖特性,需要同时进行以下操作:

          • 去掉超卖节点的volcano.sh/oversubscription标签。

          • 修改Volcano调度器的名字为volcano-scheduler-configmap的configmap,并去掉oversubscription插件。

          • 当节点设置cpu-manager-policy为静态绑核时,不允许将离线Pod设置为Guaranteed的Pod,若需要绑核则需要调整Pod为在线Pod,否则可能会发生离线Pod占用在线Pod的CPU导致在线Pod启动失败,以及离线Pod虽然调度成功但仍然启动失败的情况。

          • 当节点设置cpu-manager-policy为静态绑核时,不应对所有在线Pod进行绑核,否则会出现在线Pod占用了所有的CPU或者memory资源导致上报的超卖资源很少的情况。

          集群中有节点配置超卖标签volcano.sh/oversubscription=true时,Volcano插件必须要增加oversubscription配置,否则会导致超卖节点调度异常。

          标签配置需要您自行保证,调度器不会对插件和节点配置进行检查。

          超卖标签配置调度说明

          插件超卖配置节点超卖标签调度行为
          有有超卖调度
          有无正常调度
          无无正常调度
          无有无法调度,或者调度失败,应避免这种配置

           

          1. 使用kubectl连接集群。

          2. 确认Volcano插件配置。

          kubectl edit cm volcano-scheduler-configmap -n kube-system

          在volcano- scheduler-configmap中查看超卖的相关配置如下。同时确保插件配置中不能包含overcommit插件,如果存在(- name: overcommit),则需要删除该配置。

          ... 
          data: 
          volcano-scheduler.conf: | 
          actions: "allocate, backfill, preempt"#设置preempt action 
          tiers: 
          - plugins: 
          - name: gang 
          enablePreemptable: false 
          enableJobStarving: false 
          - name: priority 
          - name: conformance 
          - name: oversubscription 
          - plugins: 
          - name: drf 
          - name: predicates 
          - name: nodeorder 
          - name: binpack 
          - plugins: 
          - name: cce-gpu-topology-predicate 
          - name: cce-gpu-topology-priority 
          - name: cce-gpu 
          ...
          1. 设置节点超卖标签。

          超卖节点需增加超卖标签volcano.sh/oversubscription。当节点设置该标签并且值为true时,该节点为超卖节点,否则为非超卖节点。

          kubectl label node 192.168.0.0 volcano.sh/oversubscription=true

          节点还支持如下超卖相关的阈值。示例如下:

          kubectl annotate node 192.168.0.0 volcano.sh/evicting-cpu-high-watermark=70

          查询该节点信息:

          # kubectl describe node 192.168.0.0 
          Name:192.168.0.0 
          Roles:<none> 
          Labels:... 
          volcano.sh/oversubscription=true 
          Annotations:... 
          volcano.sh/evicting-cpu-high-watermark: 70

          节点超卖Annotations

          名称说明
          volcano.sh/evicting-cpu-high-watermark

          CPU使用率高水位线。当节点CPU使用率超过设置值时,触发离线作业驱逐,节点不可调度。

          默认值80,即当节点CPU使用率超过80%时,触发离线作业驱逐。

          volcano.sh/evicting-cpu-low-watermark

          CPU使用率低水位线。CPU使用率高于高水位线时,触发离线作业驱逐,等到节点CPU使用率低于低水位线后,该节点才会重新接纳离线作业。

          默认值为30,即当节点CPU使用率低于30%后,重新接纳离线作业。

          volcano.sh/evicting-memory-high-watermark

          内存使用率高水位线。当节点内存使用率超过设置值时,触发离线作业驱逐,节点不可调度。

          默认值60,即当节点内存使用率超过60%时,触发离线作业驱逐。

          volcano.sh/evicting-memory-low-watermark

          内存使用率低水位线。节点内存使用率高于高水位线时,触发离线作业驱逐,等到节点内存利用率低于低水位线后,该节点才会重新接纳离线作业。

          默认值为30,即当节点内存使用率低于30%后,重新接纳离线作业。

          volcano.sh/oversubscription-types

          超卖资源类型,支持如下三种配置:

          • cpu (超卖CPU)
          • memory (超卖内存)
          • cpu,memory (超卖CPU和内存)

          默认值为“cpu,memory”

           

          1. 创建高优、低优priorityClass资源。

          cat <<EOF | kubectl apply -f - 
          
          apiVersion: scheduling.k8s.io/v1 
          description: Used for high priority pods 
          kind: PriorityClass 
          metadata: 
          name: volcano-production 
          preemptionPolicy: PreemptLowerPriority 
          value: 999999 
          --- 
          apiVersion: scheduling.k8s.io/v1 
          description: Used for low priority pods 
          kind: PriorityClass 
          metadata: 
          name: volcano-free 
          preemptionPolicy: PreemptLowerPriority 
          value: -90000 
          
          EOF
          1. 部署在离线作业,并分别为在离线作业设置priorityClass。

            离线作业需在annotation中增加volcano.sh/qos-level标签以区分其为离线作业,值的范围为-7~7之间的整数,小于0代表低优先级任务,即离线作业,大于等于0代表高优先级任务,即在线作业。在线作业不需要设置该标签。在线、离线作业均需设置schedulerName字段的值为“volcano”,启用Volcano调度器。

          说明

          在线/在线、离线/离线作业间的优先级暂时未做区分,且未对值的合法性做校验,若设置的离线作业的volcano.sh/qos-level标签值不是-7~0之间的负整数,则统一按在线作业处理。

          离线作业:

          kind: Deployment 
          apiVersion: apps/v1 
          spec: 
          replicas: 4 
          template: 
          metadata: 
          annotations: 
          metrics.alpha.kubernetes.io/custom-endpoints: '[{"api":"","path":"","port":"","names":""}]' 
          volcano.sh/qos-level: "-1"# 离线作业注解
          spec: 
          schedulerName: volcano# 调度器使用Volcano 
          priorityClassName: volcano-free# 设置volcano-free priorityClass
          ...

          在线作业:

          kind: Deployment 
          apiVersion: apps/v1 
          spec: 
          replicas: 4 
          template: 
          metadata: 
          annotations: 
          metrics.alpha.kubernetes.io/custom-endpoints: '[{"api":"","path":"","port":"","names":""}]' 
          spec: 
          schedulerName: volcano# 调度器使用Volcano 
          priorityClassName: volcano-production# 设置volcano-production priorityClass 
          ...
          1. 通过如下命令可查看当前超卖资源量以及资源使用情况。

          kubectl describe node <nodeIP>

          # kubectl describe node 192.168.0.0 
          Name:192.168.0.0 
          Roles:<none> 
          Labels:... 
          volcano.sh/oversubscription=true 
          Annotations:... 
          volcano.sh/oversubscription-cpu: 2335 
          volcano.sh/oversubscription-memory: 341753856 
          Allocatable: 
          cpu:3920m 
          memory:6263988Ki 
          Allocated resources: 
          (Total limits may be over 100 percent, i.e., overcommitted.) 
          ResourceRequestsLimits 
          ---------------------- 
          cpu4950m (126%)4950m (126%) 
          memory1712Mi (27%)1712Mi (27%)

          其中,CPU单位为m,内存单位为字节。

          资源超卖部署示例

          下面将通过示例演示混合部署离线作业和在线作业。

          1. 假设一个集群存在两个节点,1个超卖节点和1个非超卖节点,如下所示。

          # kubectl get node 
          NAMESTATUSROLESAGEVERSION 
          192.168.0.173Ready<none>4h58mv1.19.16-r2-CCE22.5.1 
          192.168.0.3Ready<none>148mv1.19.16-r2-CCE22.5.1
          • 192.168.0.173为超卖节点(包含标签volcano.sh/oversubscription=true)

          • 192.168.0.3为非超卖节点(不包含标签volcano.sh/oversubscription=true)

          # kubectl describe node 192.168.0.173 
          Name:192.168.0.173 
          Roles:<none> 
          Labels:beta.kubernetes.io/arch=amd64 
          ... 
          volcano.sh/oversubscription=true
          1. 提交离线作业,资源充足的情况下,离线作业都调度到了超卖节点上。

          离线作业模板如下。

          apiVersion: apps/v1 
          kind: Deployment 
          metadata: 
          name: offline 
          namespace: default 
          spec: 
          replicas: 2 
          selector: 
          matchLabels: 
          app: offline 
          template: 
          metadata: 
          labels: 
          app: offline 
          annotations: 
          volcano.sh/qos-level: "-1"#离线作业标签
          spec: 
          schedulerName: volcano#调度器使用Volcano 
          priorityClassName: volcano-free# 设置volcano-free priorityClass 
          containers: 
          - name: container-1 
          image: nginx:latest 
          imagePullPolicy: IfNotPresent 
          resources: 
          requests: 
          cpu: 500m 
          memory: 512Mi 
          limits: 
          cpu: "1" 
          memory: 512Mi 
          imagePullSecrets: 
          - name: default-secret

          离线作业调度到超卖节点上运行。

          # kubectl get pod -o wide 
          NAMEREADYSTATUSRESTARTSAGEIPNODE
          offline-69cdd49bf4-pmjp81/1Running05s192.168.10.178192.168.0.173 
          offline-69cdd49bf4-z8kxh1/1Running05s192.168.10.131192.168.0.173
          1. 提交在线作业,资源充足时,在线作业调度到了非超卖节点。

          在线作业模板如下。

          apiVersion: apps/v1 
          kind: Deployment 
          metadata: 
          name: online 
          namespace: default 
          spec: 
          replicas: 2 
          selector: 
          matchLabels: 
          app: online 
          template: 
          metadata: 
          labels: 
          app: online 
          spec: 
          schedulerName: volcano# 调度器使用Volcano 
          priorityClassName: volcano-production# 设置volcano-production priorityClass 
          containers: 
          - name: container-1 
          image: resource_consumer:latest 
          imagePullPolicy: IfNotPresent 
          resources: 
          requests: 
          cpu: 1400m 
          memory: 512Mi 
          limits: 
          cpu: "2" 
          memory: 512Mi 
          imagePullSecrets: 
          - name: default-secret

          在线作业调度到非超卖节点上运行。

          # kubectl get pod -o wide 
          NAMEREADYSTATUSRESTARTSAGEIPNODE
          online-ffb46f656-4mwr61/1Running05s192.168.10.146192.168.0.3 
          online-ffb46f656-dqdv21/1Running05s192.168.10.67192.168.0.3
          1. 提升超卖节点资源使用率,观察触发离线作业驱逐。

          部署在线任务到超卖节点(192.168.0.173)上:

          apiVersion: apps/v1 
          kind: Deployment 
          metadata: 
          name: online 
          namespace: default 
          spec: 
          replicas: 2 
          selector: 
          matchLabels: 
          app: online 
          template: 
          metadata: 
          labels: 
          app: online 
          spec: 
          affinity:# 提交在线任务至超卖节点
          nodeAffinity: 
          requiredDuringSchedulingIgnoredDuringExecution: 
          nodeSelectorTerms: 
          - matchExpressions: 
          - key: kubernetes.io/hostname 
          operator: In 
          values: 
          - 192.168.0.173 
          schedulerName: volcano# 调度器使用Volcano 
          priorityClassName: volcano-production# 设置volcano-production priorityClass 
          containers: 
          - name: container-1 
          image: resource_consumer:latest 
          imagePullPolicy: IfNotPresent 
          resources: 
          requests: 
          cpu: 700m 
          memory: 512Mi 
          limits: 
          cpu: 700m 
          memory: 512Mi 
          imagePullSecrets: 
          - name: default-secret

          同时提交在/离线作业到超卖节点(192.168.0.173)上。

          # kubectl get pod -o wide 
          NAMEREADYSTATUSRESTARTSAGEIPNODE
          offline-69cdd49bf4-pmjp81/1Running013m192.168.10.178192.168.0.173
          offline-69cdd49bf4-z8kxh1/1Running013m192.168.10.131192.168.0.173
          online-6f44bb68bd-b8z9p1/1Running03m4s192.168.10.18192.168.0.173
          online-6f44bb68bd-g6xk81/1Running03m12s192.168.10.69192.168.0.173

          观察超卖节点(192.168.0.173),可以看出存在超卖资源,其中CPU为2343m,内存为3073653200字节。同时CPU分配率已超过100%。

          # kubectl describe node 192.168.0.173 
          Name:192.168.0.173 
          Roles:<none> 
          Labels:… 
          volcano.sh/oversubscription=true 
          Annotations:…
          volcano.sh/oversubscription-cpu: 2343 
          volcano.sh/oversubscription-memory: 3073653200 
          … 
          Allocated resources: 
          (Total limits may be over 100 percent, i.e., overcommitted.) 
          ResourceRequestsLimits 
          ---------------------- 
          cpu4750m (121%)7350m (187%) 
          memory3760Mi (61%)4660Mi (76%) 
          …

          增大节点上在线作业的CPU使用率,可以观察到触发离线作业驱逐。

          # kubectl get pod -o wide 
          NAMEREADYSTATUSRESTARTSAGEIPNODE
          offline-69cdd49bf4-bwdm71/1Running011m192.168.10.208192.168.0.3
          offline-69cdd49bf4-pmjp80/1Evicted026m<none>192.168.0.173 
          offline-69cdd49bf4-qpdss1/1Running011m192.168.10.174192.168.0.3
          offline-69cdd49bf4-z8kxh0/1Evicted026m<none>192.168.0.173 
          online-6f44bb68bd-b8z9p1/1Running024m192.168.10.18192.168.0.173 
          online-6f44bb68bd-g6xk81/1Running024m192.168.10.69192.168.0.173

          错误处理建议

          • 超卖节点kubelet重启后,由于Volcano调度器和kubelet的资源视图不同步,部分新调度的作业会出现OutOfCPU的情况,属于正常现象,一段时间后会恢复正常,Volcano调度器能够正常调度在/离线作业。

          • 在/离线作业提交后,因当前内核不支持离线作业修改为在线作业,因此不建议动态修改作业类型(添加或者删除Pod的annotation volcano.sh/qos-level: "-1")。

          • CCE通过cgroups系统中的状态信息收集节点上所有运行的Pod占用的资源量(CPU/内存),可能与用户监控到的资源使用率有所不同,例如使用top命令看到的资源统计。

          • 对于增加超卖资源类型,如超卖资源由cpu变为cpu、memory,此时可以随时添加。

          对于减少超卖资源类型,如由cpu、memory变为仅超卖cpu,此时需要在合适的时间进行更改,即分配率不超过100%时才可进行安全更改。

          • 当离线作业先部署到节点,并占用了在线作业的资源,导致资源不足在线作业无法调度时,需要为在线作业设置比离线作业更高的priorityClass。

          • 若节点上只有在线作业,且达到了驱逐水位线,则离线作业调度到当前节点后会很快被驱逐,此为正常现象。

          文档反馈

          建议您登录后反馈,可在建议与反馈里查看问题处理进度

          鼠标选中文档,精准反馈问题

          选中存在疑惑的内容,即可快速反馈问题,我们会跟进处理

          知道了

          上一篇 :  GPU调度
          下一篇 :   网络管理
          搜索 关闭
          ©2026 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
          公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
          备案 京公网安备11010802043424号 京ICP备 2021034386号
          ©2026天翼云科技有限公司版权所有
          京ICP备 2021034386号
          备案 京公网安备11010802043424号
          增值电信业务经营许可证A2.B1.B2-20090001
          用户协议 隐私政策 法律声明