活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 云聚517 · 好价翼起拼 NEW 爆款云主机低至25.83元/年,参与拼团享更多优惠,拼成得额外优惠券
  • 安全隔离版OpenClaw NEW OpenClaw云服务器专属“龙虾“套餐低至1.5折起
  • 聚力AI赋能 天翼云大模型专项 大模型特惠专区·Token Plan 轻享包低至9.9元起
  • 青云志云端助力计划 NEW 一站式科研助手,海外资源安全访问平台,助力青年翼展宏图,平步青云
  • 企业出海解决方案 NEW 助力您的业务扬帆出海,通达全球!
  • 天翼云信创专区 NEW “一云多芯、一云多态”,国产化软件全面适配,国产操作系统及硬件芯片支持丰富
  • 中小企业服务商合作专区 国家云助力中小企业腾飞,高额上云补贴重磅上线
  • 云上钜惠 爆款云主机全场特惠,2核4G只要1.8折起!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

息壤智算

领先开放的智算服务平台,提供算力、平台、数据、模型、应用“五位一体”智算服务体系,构建全流程的AI基础设施能力
AI Store
  • 算力市场
  • 模型市场
  • 应用市场
公共算力服务
  • 裸金属
  • 定制裸金属
训推服务
  • 模型开发
  • 训练任务
  • 服务部署
星辰TokenHub
  • 模型广场
  • 体验中心
  • 服务接入
应用托管
  • 应用实例
科研助手
  • 科研智能体
  • 科研服务
  • 开发机
  • 并行计算
大模型
  • DeepSeek-V4-Flash
  • GLM-5.1
  • Qwen3.5-122B-A10B
  • DeepSeek-V3.2(旗舰版)
  • GLM-5(正式版)
智算一体机
  • 智算一体机
智能体引擎
  • 智能体引擎
可信数据空间
  • 可信数据空间
模型适配专家服务
  • 模型适配专家服务
算力服务商
  • 入驻算力服务商

应用商城

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

定价

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

合作伙伴

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

开发者

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

支持与服务

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

了解天翼云

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

      云容器引擎 专有版/托管版

      云容器引擎 专有版/托管版

      • 云容器引擎 专有版/托管版

      无数据

        • 产品动态
        • DeepSeek专题
        • DeepSeek专题导航
        • 图解:DeepSeek与公有云深度融合
        • 从基础设施到智能中枢:DeepSeek如何重塑公有云服务价值链
        • 高性能GPU云主机助力DeepSeek深度应用
        • 实践指南:DeepSeek驱动高效能云生态
        • GPU云主机/弹性云主机:零基础搭建DeepSeek云端环境指南
        • GPU物理机:物理机搭建DeepSeek指南
        • 智算容器:云容器引擎与DeepSeek融合实践
        • DeepSeek-R1蒸馏模型部署
        • 函数计算:天翼云函数计算与DeepSeek大模型
        • Q&A:典型问题解析与策略应对
        • 产品介绍
        • 产品定义
        • 产品优势
        • 产品功能
        • 应用场景
        • 与自建Kubernetes对比
        • 基本概念
        • 使用限制
        • 计费说明
        • 计费项及其计费方式
        • 价格
        • 续费、到期与欠费
        • 退订
        • 快速入门
        • 创建一个应用集群
        • 订购集群
        • 退订集群
        • 创建一个无状态工作负载
        • 创建工作负载及服务
        • 查看容器实例事件
        • 查看容器实例日志
        • 查看容器实例监控
        • 使用容器镜像服务发布容器应用
        • 用户指南
        • 高危操作及解决方案
        • 概览
        • 集群
        • 集群概述
        • 集群概览
        • 基本信息
        • 连接信息
        • 集群资源
        • Kubernetes版本发布记录
        • Kubernetes 1.31版本说明
        • Kubernetes 1.29版本说明
        • Kubernetes 1.27版本说明
        • Kubernetes 1.25版本说明
        • (停止维护)Kubernetes 1.23版本说明
        • 新建集群
        • 搭建IPv4/IPv6双栈集群
        • 集群安全组规划配置
        • iptables与IPVS如何选择
        • 创建高可用集群
        • 制作节点自定义镜像
        • 自定义集群APIServer证书SAN
        • 使用ServiceAccount Token卷投影
        • 访问集群
        • 通过kubectl访问集群
        • 通过公网访问集群
        • 通过自定义域名访问集群
        • 删除集群
        • 升级集群
        • 自动变更规格
        • 节点与节点池
        • 节点容器运行时说明
        • 节点操作系统说明
        • 节点
        • 节点标签
        • 节点管理
        • 监控节点
        • 节点资源预留策略
        • 节点重置
        • 纳管节点
        • 节点异常问题排查
        • 虚拟节点
        • 指定ECS和ECI的资源分配
        • 节点池概述
        • 节点池
        • 升级节点池
        • 扩缩容节点池
        • 修复节点操作系统CVE漏洞
        • 自定义节点池kubelet配置
        • 节点池节点恢复
        • 节点池管理
        • 命名空间
        • 管理命名空间
        • 设置资源配额与限制
        • 工作负载(新版)
        • 工作负载概述
        • 创建无状态负载(Deployment)
        • 创建有状态负载(StatefulSet)
        • 创建守护进程(DaemonSet)
        • 创建普通任务(Job)
        • 创建定时任务(CronJob)
        • 使用cube-volcano
        • 设置容器健康检查
        • 设置容器生命周期
        • 添加环境变量
        • 配置负载调度策略
        • 负载调度策略概述
        • 设置负载的节点选择器(nodeSelector)
        • 设置节点亲和调度(nodeAffinity)
        • 设置工作负载亲和/反亲和调度(podAffinity/podAntiAffinity)
        • 配置负载容忍策略
        • 负载网络配置
        • 工作负载(旧版)
        • 无状态
        • 有状态
        • 守护进程
        • 任务
        • 定时任务
        • 容器组
        • 自定义资源
        • 设置容器规格
        • 设置调度策略
        • 网络
        • 网络概述
        • 集群网络概述
        • Service
        • Ingress
        • 服务发现DNS
        • 容器网络插件
        • Calico网络插件
        • Cubecni网络插件
        • 使用Cubecni网络插件
        • 为Pod配独占网卡和固定IP及独立子网、安全组
        • 节点维度的网络配置
        • 网络策略
        • Service管理
        • Service概述
        • LoadBalancer类型Service
        • 通过Annotation配置负载均衡类型的服务
        • Ingress管理
        • Ingress概述
        • NGINX Ingress Controller
        • ELB Ingress Controller
        • IngressFAQ
        • Ingress常见错误信息及故障排查方法
        • 服务发现DNS
        • DNS概述
        • CoreDNS介绍
        • DNS策略
        • NodeLocal DNSCache加速
        • DNS FAQ
        • DNS最佳实践
        • POD联网使用案例
        • 配置管理
        • 配置项
        • 保密字典
        • 镜像拉取凭证
        • 应用管理
        • 应用发布
        • 应用灰度发布
        • 应用原地升级
        • Pod异常问题排查
        • 存储
        • 存储概述
        • 存储基础知识
        • cstor-csi插件
        • 云硬盘存储(CT-EVS)
        • 云硬盘概述
        • 使用云盘动态存储卷
        • 使用云盘静态存储卷
        • 快照与备份
        • 弹性文件存储(CT-SFS)
        • 弹性文件概述
        • 使用SFS动态存储卷
        • 使用SFS静态存储卷
        • 对象存储(CT-ZOS)
        • 对象存储概述
        • 使用ZOS动态存储卷
        • 使用ZOS静态存储卷
        • 本地存储
        • 本地存储概述
        • 使用HostPath存储卷
        • 使用LocalPV动态存储卷
        • 使用LocalPV静态存储卷
        • 使用LVM动态存储卷
        • 并行文件(CT-HPFS)
        • 并行文件概述
        • 使用HPFS动态存储卷
        • 使用HPFS静态存储卷
        • 海量文件
        • 海量文件概述
        • 使用OceanFS动态存储卷(sharePath模式)
        • 使用OceanFS动态存储卷(subPath模式)
        • 使用OceanFS静态存储卷(sharePath模式)
        • 使用OceanFS静态存储卷(subPath模式)
        • 插件
        • 插件概述
        • 插件市场
        • 插件实例
        • 插件FAQ
        • 安全管理
        • 角色
        • 子账号授权
        • RBAC授权
        • 容器安全策略
        • 运维管理
        • 监控
        • 黑盒监控
        • 基础资源监控
        • 集群拓扑监控
        • 指标告警
        • 日志
        • 开启APIServer审计日志
        • 事件中心
        • 集群巡检
        • 故障诊断
        • 故障诊断概述
        • Service诊断
        • 节点诊断
        • Pod诊断
        • Ingress诊断
        • 智能诊断
        • 云审计
        • 集群备份
        • ETCD备份
        • 集群备份
        • 集群定时备份
        • ETCD备份保存到对象存储
        • 模板市场
        • 模板市场
        • 模板实例
        • 弹性伸缩
        • 弹性伸缩概述
        • 工作负载弹性伸缩
        • 容器定时伸缩(CronHPA)
        • 容器水平伸缩(HPA)
        • 容器垂直伸缩(VPA)
        • 节点弹性伸缩
        • 节点伸缩原理
        • 启用节点自动伸缩
        • 节点弹性伸缩策略
        • 调度
        • 在离线混部
        • 在离线混部概述
        • 在离线混部插件安装与卸载
        • 在离线应用优先级管理
        • 超卖调度与离线应用CPU压制
        • 高优先级应用的CPU独占与隔离
        • 容器磁盘读写限速
        • 容器网络限速
        • 成本分析
        • 成本分析概述
        • 启用成本分析功能
        • 最佳实践
        • 客户案例
        • 某交投能源充电桩项目
        • 某量子云平台迁移项目
        • 迁移
        • 将K8S集群迁移到云容器引擎集群
        • 容灾
        • 应用高可用部署推荐
        • 集群高可靠推荐配置
        • 开启控制面过载保护
        • 安全
        • 密钥Secret的安全使用
        • 集群
        • 集群规格推荐规划
        • 搭建IPv4/IPv6双栈集群
        • 通过kubectl连接多集群
        • 节点和节点池
        • 操作系统升级
        • 使用等保加固版本CTyunOS镜像
        • 节点池最佳实践
        • 存储
        • 存储卷
        • 容器化Web访问MySQL
        • 自定义存储资源对象
        • 使用存储子目录为工作负载提供存储
        • 使用延迟绑定的存储类实现跨AZ调度
        • 有状态工作负载配置存储实践
        • 云容器引擎容器存储选型
        • 网络
        • 集群网络地址段规划实践
        • 负载均衡
        • 会话保持
        • Ingress
        • 如何将Ingress服务暴露到公网
        • CoreDNS配置优化实践
        • Cubecni插件扩容Pod子网
        • 容器内获取客户端源IP
        • ELB访问控制配置
        • 部署多个Nginx Ingress Controller
        • 工作负载
        • 使用容器镜像服务发布应用
        • Pod水平自动扩缩(HPA)
        • 发布
        • 服务发布
        • Service实现灰度发布和蓝绿发布
        • Nginx Ingress实现灰度发布和蓝绿发布
        • 容器
        • 合理分配容器资源
        • 获取容器Core Dump
        • 容器升级业务不中断
        • 容器与节点时区同步
        • 容器中域名解析的最佳实践
        • 使用hostAliases配置Pod /etc/hosts
        • x86和ARM镜像的混合部署
        • 通过特权容器配置内核参数
        • 权限
        • 集群命名空间RBAC授权
        • 通过配置kubeconfig文件实现集群权限精细化管理
        • API参考
        • API使用说明
        • 附录
        • 云容器引擎资源池
        • 如何获取接口URI中参数
        • password字段加密的方法
        • 节点规格和节点镜像
        • kubelet配置
        • Kubernetes版本与资源API版本对应表
        • API
        • 2023-03-28
        • 节点与节点池
        • 查询节点详情
        • 历史API
        • 资源
        • 查询Event列表
        • 常见问题
        • 计费
        • 订购
        • 节点
        • 集群
        • 工作负载
        • Pod异常问题排查
        • 启动实例失败时的重试机制是怎样的?
        • 存储管理
        • CSI插件
        • API&kubectl
        • 用户如何访问集群API Server?
        • 如果不配置集群管理权限,是否可以使用kubectl命令呢?
        • 网络
        • Ingress相关问题
        • Service相关问题
        • 网络插件相关问题
        • 监控
        • 域名DNS
        • DNS解析异常问题排查
        • 其他
        • 节点NTP时间不同步怎么排查?
        • 节点已经绑定EIP,仍无法访问公网yum源进行安装更新?
        • 接入集群如何通过IPv6接入管控实例
        • 安全合规
        • 安全责任共担模型
        • 视频专区
        • 相关协议
        • 服务协议
        • 服务等级协议
          无相关产品

          本页目录

          帮助中心 云容器引擎 专有版/托管版 最佳实践 工作负载 Pod水平自动扩缩(HPA)
          Pod水平自动扩缩(HPA)
          更新时间 2026-06-12 10:26:01
          • 新浪微博
          • 微信
            扫码分享
          • 复制链接
          最近更新时间: 2026-06-12 10:26:01
          分享文章
          • 新浪微博
          • 微信
            扫码分享
          • 复制链接
          本节介绍了:Pod 水平自动扩缩(HPA)的用户指南。

          应用场景

          云容器引擎提供Pod 水平自动扩缩(HPA)能力,水平自动扩缩能够根据指标自动更新工作负载资源 (例如 Deployment 或者StatefulSet)的副本数, 目的是自动扩缩工作负载以满足需求。在云容器引擎控制台支持配置基础资源(CPU、内存)和自定义指标(网络、磁盘等)作为Pod扩缩容的触发条件。

          前提条件

          已创建专有版集群,具体操作请参见 用户指南 > 集群管理 > 新建集群 章节。若已有集群,无需重复操作。

          通过基础指标(CPU、内存)进行Pod的水平自动伸缩

          步骤一 安装cube-metrics-server 插件

          • 云容器引擎在插件市场提供了cube-metrics-server插件,cube-metrics-server是基于Kubernetes官方提供metrics-server二次开发的插件,支持通过CPU、内存进行HPA的能力;

          • 登陆云容器引擎控制台,进入需要操作的集群,在左侧菜单选择 插件 > 插件市场,选择cube-metrics-server进行安装

          步骤二 配置HPA策略

          • 登陆云容器引擎控制台,进入需要操作的集群,在左侧菜单选择 工作负载 并选择进入对应的工作负载页面,以下以无状态工作负载为例,点击需要伸缩的工作负载右侧的更多按钮,选择弹性伸缩,开启指标伸缩按钮

          • 点击启用策略,指标名称可选CPU和内存,计值方式为百分比;填写伸缩的指标阈值及副本数的伸缩范围,点击确定创建HPA策略

          通过预置的高阶指标(网络、磁盘等)进行 Pod的水平自动伸缩

          步骤一 安装cube-prometheus和cube-metrics-adapter插件

          • 通过预置的高阶指标(如网络、磁盘等)依赖监控cube-prometheus和cube-metrics-adapter插件

          • 登陆云容器引擎控制台,进入需要操作的集群,在左侧菜单选择 插件 > 插件市场,选择cube-metrics-adapter插件进行安装

          • 需要注意的是如果集群的监控插件为ccse-monitor,需要修改values中metricsProvider.mode参数为ccse-monitor

          步骤二 配置HPA策略

          • 登陆云容器引擎控制台,进入需要操作的集群,在左侧菜单选择 工作负载 并选择进入对应的工作负载页面,以下以无状态工作负载为例,点击需要伸缩的工作负载右侧的更多按钮,选择弹性伸缩,点击 + 号新增自定义指标策略

          • 点击新增Pod规则,在指标名称中输入预置的指标名并设置伸缩的预置及副本数伸缩范围,点击确定创建HPA策略。云容器引擎提供的预置指标如下列表格所示

          云容器引擎提供的预置指标

          cpu预置指标

          指标名称指标对象指标含义指标单位计算公式
          k8s_pod_cpu_core_usedPodCPU使用量核sum(rate(container_cpu_usage_seconds_total{image=~".+",pod=~"$Pod",namespace="$namespace"}[5m])) by (pod)
          k8s_pod_rate_cpu_core_used_nodePodCPU利用率(占节点)%(label_replace(sum(rate(container_cpu_usage_seconds_total{name =~ ".+",pod=~"$Pod",namespace="$namespace"}[5m])) by (pod,instance,namespace), "node", "$1", "instance", "(.*)")) / on(node) group_left sum(kube_node_status_allocatable{resource="cpu"}) by (node) * 100
          k8s_pod_rate_cpu_core_used_requestPodCPU利用率(占request)%sum(rate(container_cpu_usage_seconds_total{image=~".+",pod=~"$Pod",namespace="$namespace"}[5m])) by (pod) / (sum (kube_pod_container_resource_requests{resource="cpu",pod=~"$Pod",namespace="$namespace"}) by (pod))*100
          k8s_pod_rate_cpu_core_used_limitPodCPU利用率(占limit)%sum(rate(container_cpu_usage_seconds_total{image=~".+",pod=~"$Pod",namespace="$namespace"}[5m])) by (pod) / (sum (kube_pod_container_resource_limits{resource="cpu",pod=~"$Pod",namespace="$namespace"}) by (pod))*100

          内存预置指标

          指标名称指标对象指标含义指标单位计算公式
          k8s_pod_mem_usage_bytesPod
           
          内存使用量Bytesum (container_memory_usage_bytes{image=~".+",pod=~"$Pod",namespace="$namespace"}) by (pod)
          k8s_pod_mem_no_cache_bytesPod内存使用量(不含Cache)Bytesum (container_memory_working_set_bytes{image=~".+",pod=~"$Pod",namespace="$namespace"}) by (pod)
          k8s_pod_rate_mem_usage_nodePod内存利用率(占节点)%(label_replace(sum(container_memory_usage_bytes{name =~ ".+",pod=~"$Pod",namespace="$namespace") by (pod,instance,namespace), "node", "$1", "instance", "(.*)")) / on(node) group_left sum(kube_node_status_allocatable{resource="memory"}) by (node) * 100
          k8s_pod_rate_mem_no_cache_nodePod内存利用率(占节点,不含Cache)%(label_replace(sum(container_memory_working_set_bytes{name =~ ".+",pod=~"$Pod",namespace="$namespace"}) by (pod,instance,namespace), "node", "$1", "instance", "(.*)")) / on(node) group_left sum(kube_node_status_allocatable{resource="memory"}) by (node) * 100

          k8s_pod_rate_mem_usage_request

           

          Pod

          内存利用率(占request)

           

          %sum (container_memory_usage_bytes{image=~".+",pod=~"$Pod",namespace="$namespace"}) by (pod) / (sum (kube_pod_container_resource_requests{resource="memory",pod=~"$Pod",namespace="$namespace"}) by (pod))*100
          k8s_pod_rate_mem_no_cache_requestPod内存利用率(占request,不含Cache)%sum (container_memory_working_set_bytes{image=~".+",pod=~"$Pod",namespace="$namespace"}) by (pod) / (sum (kube_pod_container_resource_requests{resource="memory",pod=~"$Pod",namespace="$namespace"}) by (pod))*100
          k8s_pod_rate_mem_usage_limitPod内存利用率(占limit)%sum (container_memory_usage_bytes{image=~".+",pod=~"$Pod",namespace="$namespace"}) by (pod) / (sum (kube_pod_container_resource_limits{resource="memory",pod=~"$Pod",namespace="$namespace"}) by (pod))*100
          k8s_pod_rate_mem_no_cache_limitPod内存利用率(占limit,不含Cache)%sum (container_memory_working_set_bytes{image=~".+",pod=~"$Pod",namespace="$namespace"}) by (pod) / (sum (kube_pod_container_resource_limits{resource="memory",pod=~"$Pod",namespace="$namespace"}) by (pod))*100

          网络预置指标

          指标名称指标对象指标含义指标单位计算公式
          k8s_pod_network_receive_bytes_bwPod网络入带宽Byte/s

          sum(irate(container_network_receive_bytes_total{image=~".+", namespace=~"$namespace", pod=~"$pod"}[5m])) by (pod)

          k8s_pod_network_transmit_bytes_bwPod网络出带宽Byte/ssum(irate(container_network_transmit_bytes_total{image=~".+", namespace=~"$namespace", pod=~"$pod"}[5m])) by (pod)
          k8s_pod_network_receive_bytesPod网络入流量Byte/ssum(rate(container_network_receive_bytes_total{image=~".+", namespace=~"$namespace", pod=~"$pod"}[5m])) by (pod)
          k8s_pod_network_transmit_bytesPod网络出流量
           
          Byte/ssum(rate(container_network_transmit_bytes_total{image=~".+", namespace=~"$namespace", pod=~"$pod"}[5m])) by (pod)
          k8s_pod_network_receive_packetsPod网络入包量个/ssum(irate(container_network_receive_packets_total{image=~".+", namespace=~"$namespace", pod=~"$pod"}[5m])) by (pod)
          k8s_pod_network_transmit_packetsPod网络出包量个/ssum(irate(container_network_transmit_packets_total{image=~".+", namespace=~"$namespace", pod=~"$pod"}[5m])) by (pod)

          硬盘预置指标

          指标名称指标对象指标含义指标单位计算公式
          k8s_pod_fs_read_timesPod硬盘读IOPS次/ssum (irate(container_fs_reads_total{image=~".+", namespace=~"$namespace", pod=~"$pod"}[5m])) by (pod)
          k8s_pod_fs_write_timesPod硬盘写IOPS次/ssum (irate(container_fs_writes_total{image=~".+", namespace=~"$namespace", pod=~"$pod"}[5m])) by (pod)
          k8s_pod_fs_read_bytesPod硬盘读流量Byte/ssum (rate(container_fs_reads_bytes_total{image=~".+", namespace=~"$namespace", pod=~"$pod"}[5m]))by (pod)
          k8s_pod_fs_write_bytesPod硬盘写流量Byte/ssum (rate(container_fs_writes_bytes_total{image=~".+", namespace=~"$namespace", pod=~"$pod"}[5m])) by (pod)

          GPU预置指标

          指标名称指标对象指标含义指标单位计算公式
          pod_gpu_utilizationPod计算Pod中GPU核心利用率的平均值%avg(DCGM_FI_DEV_GPU_UTIL{job_namespace=~"$namespace"}) by (pod)
          pod_gpu_memory_utilizationPod计算Pod中GPU显存的利用率%

          round(

          sum(DCGM_FI_DEV_FB_USED{job_namespace=~"$namespace", pod=~"$pod", pod!=""}) by (pod)

          /

          sum(DCGM_FI_DEV_FB_TOTAL{job_namespace=~"$namespace", pod=~"$pod", pod!=""}) by (pod)

          * 100

          )

          pod_gpu_memory_node_utilizationPod计算Pod使用的GPU显存占整个节点总显存的百分比%

          round(

          sum(DCGM_FI_DEV_FB_USED{job_namespace=~"$namespace", pod=~"$pod", pod!=""}) by (pod, Hostname, job_namespace)

          /

          on(Hostname) group_left

          sum(DCGM_FI_DEV_FB_TOTAL) by (Hostname)

          * 100

          )

          pod_gpu_memoryPod计算Pod当前使用的GPU显存量%sum(DCGM_FI_DEV_FB_USED{job_namespace=~"$namespace", pod=~"$pod", pod!=""}) by (pod)
          pod_gpu_usagePod计算GPU利用率的总和%sum(DCGM_FI_DEV_GPU_UTIL{job_namespace=~"$namespace"}) by (pod) / 100
          pod_gpu_usage_node_utilizationPod计算Pod消耗的GPU核心利用率总和,占节点可分配GPU数量的平均比例%

          round(

          label_replace(

          sum(DCGM_FI_DEV_GPU_UTIL{job_namespace=~"$namespace"}) by (pod, job_namespace, Hostname),

          "node", "$1", "Hostname", "(.*)"

          )

          /

          on(node) group_left

          sum(kube_node_status_allocatable{resource="nvidia_com_gpu"}) by (node)

          )

          基于自定义指标的HPA水平伸缩配置

          使用自定义度量指标为工作负载配置HPA时,最重要的前提是:工作负载对应的Pod通过/metrics接口暴露自定义指标。若工作负载(如nginx、redis、tomcat等)本身不支持该功能,则需借助Sidecar或Exporter方式实现指标暴露。

          注意

          自定义度量指标依赖于cube-metrics-adapter插件搜集自定义指标并上报至应用性能监控(APM)侧。如需使用自定义度量指标,请先安装cube-metrics-adapter与cube-prometheus插件。

          根据自定义指标的来源及归属对象,可将其划分为Pod度量指标和Object度量指标。

          Pod度量指标与Pod绑定,HPA会获取所有目标Pod的该指标值并计算算术平均数,再与设定的目标值进行比较。该指标与资源度量指标相似,但仅支持平均值。

          Object度量用于描述同一命名空间中除Pod之外的其他Kubernetes对象(如Service或Ingress),该对象的指标为单一的绝对值,HPA会直接将其与设定的目标值进行比较,而不进行副本数均摊计算。

          Pod度量指标和Object度量指标示例如下:

           

          使用自定义指标进行HPA的操作步骤

          步骤一 安装依赖插件

          自定义指标的采集与存储依赖于cube-metrics-adapter和cube-prometheus插件,需提前安装。

          步骤二 确保应用对外暴露/metrics接口

          以traefik应用为例,通过"–metrics.prometheus=true"启动参数启用指标暴露后,访问pod ip的8080端口的/metrics路径,即可获取标准的指标数据。

          步骤三 配置采集任务

          以部署在default命名空间下创建的traefik无状态工作负载和traefik-svc服务为例,若需采集Pod度量指标和Object(Service)度量指标,则需分别为traefik的Pod和Service配置自定义采集规则。以pod度量指标为例说明如下:

          1. 登录应用性能监控(APM)控制台,点击左侧菜单栏的Prometheus监控。

          2. 在Prometheus监控菜单下,点击接入管理。

          3. 在已接入环境页签,查看容器环境列表,点击目标容器环境操作列的指标采集按钮,进入指标采集页面。

          4. 切换到Pod Monitor页签,点击新增。

          5. 输入YAML示例如下,请根据工作负载所在命名空间、工作负载标识标签、采集路径及端口的实际情况进行修改。填写完毕后可点击检查进行语法检查,检查无误后点击创建。

            apiVersion: monitoring.coreos.com/v1
            kind: PodMonitor
            metadata:
              name: pod-monitor1
              namespace: default #建议修改为工作负载对应的命名空间
              annotations:
                arms.prometheus.io/discovery: 'true'
            spec:
              selector:
                matchLabels:
                  app: traefik # 修改为唯一能标识该工作负载的Pod标签
              namespaceSelector:
                any: true
              podMetricsEndpoints:
              - interval: 30s
                targetPort: 8080 # 修改为Pod对外暴露metrics指标的端口
                path: /metrics # 修改为Pod对外暴露metrics指标的url路径
          6. 1~3分钟后点击刷新按钮,若查看匹配的Target数量不为0,即表示配置成功。更多信息可参考应用性能监控帮助文档。

          7. 切换到Service Monitor页签,可以对Service进行配置。更多信息可参考应用性能监控帮助文档。

          apiVersion: monitoring.coreos.com/v1
          kind: ServiceMonitor
          metadata:
            name: service-monitor1
            namespace: default #建议修改为工作负载对应的命名空间
            annotations:
              arms.prometheus.io/discovery: 'true'
          spec:
            endpoints:
            - interval: 15s
              port: '8080' # 修改为Service对外暴露metrics指标的端口
              path: /metrics # 修改为Service对外暴露metrics指标的url
            namespaceSelector:
              any: true
            selector:
              matchLabels:
                app: traefik # 修改为唯一能标识该工作负载的Pod标签

          步骤四 配置自定义采集规则

          以traefik为例,traefik会暴露traefik_entrypoint_requests_total指标,该指标为Counter(计数器)类型,用于在Pod维度计算单Pod的QPS。针对计算Pod在2分钟内QPS平均增长率的场景,编写对应的自定义采集规则。

            - seriesQuery: 'traefik_entrypoint_requests_total'
              metricsQuery: sum(rate(<<.Series>>{<<.LabelMatchers>>}[2m])) by (<<.GroupBy>>)
              name:
                as: traefik_requests_total
              resources:
                overrides:
                  namespace: { resource: "namespace" }
                  pod:       { resource: "pod" }

          把该规则添加到cube-metrics-adapter的configmap中,操作步骤如下:

          1. 登录云容器引擎控制台,选择指定集群后进入集群详情页。

          2. 点击左侧菜单栏的“配置管理”-“配置项”,切换到kube-system命名空间,搜索“cube-metrics-adapter”,点击编辑。

          3. 在config.yaml中rules下新增上述自定义采集规则配置,建议先将原有内容复制到文本编辑器中,添加采集配置后再粘贴回配置值。

          4. 修改完cube-metrics-adapter自定义采集规则后,需要重启cube-metrics-adapter pod使之生效。点击左侧菜单栏的“工作负载”-“容器组”,切换到kube-system命名空间,搜索“cube-metrics-adapter”,点击“销毁重建”。

          步骤五 使用自定义指标创建HPA

          以default命名空间下的traefik为例,操作步骤如下:

          1. 点击左侧菜单栏的“工作负载”>“无状态”,切换至default命名空间。

          2. 搜索应用名称“traefik”,在操作栏点击“更多”>“弹性伸缩”。

          3. 点击启用策略,根据实际业务需求配置实例范围,同时可在伸缩配置中自定义扩缩容行为。填写自定义指标,该指标名称对应于cube-metrics-adapter ConfigMap配置文件中name.as的值;根据指标类型选择Pod类型或Service类型;根据实际业务需求设置计算方式为平均值或阈值,以及对应的阈值范围。

          4. 点击确定,提交创建HPA。

          步骤六 验证HPA生效

          1. 点击左侧菜单栏的“策略”,选择“HPA策略”页签,切换至default命名空间,搜索应用名称“traefik”。在列表中可见HPA的最新状态为“正常”,点击操作栏中的“事件”,事件列表中无异常记录。

          2. 登录至具有kubectl命令执行权限的集群节点,执行kubectl describe hpa -n default traefik命令,可见Metrics的当前(Current)采集项有数据(数值为0是因为无流量访问),而非Unknown,即表明HPA配置成功。

          3. 使用traefik Service的ClusterIP对应用进行访问压测。

          4. 随着压测的进行,查看HPA事件与工作负载页面,均可见副本数扩容至3。

          5. 停止压测后,副本数逐渐缩容直至稳定。

           

          文档反馈

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

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

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

          知道了

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