首页/云/可观测性速查/kube-state-metrics:集群对象状态指标
Prometheus 与采集64 条

kube-state-metrics:集群对象状态指标

kube-state-metrics 监听 APIServer,把 Deployment、Pod、Node 等对象状态转成指标(如期望副本与实际副本),补齐 cAdvisor 只覆盖资源用量的空白。

可观测性速查云更新于 2026-10-13

kube-state-metrics 是什么

kube-state-metrics(KSM)监听 Kubernetes APIServer,把 Deployment、Pod、Node 等对象的状态转成指标:期望副本与实际副本、就绪状态、资源条件等。它回答的是「对象处于什么状态」,与 cAdvisor 回答的「容器用了多少资源」互为补充,两者一起才算完整的 K8s 监控。

基本信息

数据来源Kubernetes APIServer
关注点对象状态,而非资源用量
关键指标kube_deployment_status_replicas_unavailable、kube_pod_status_ready、kube_node_status_condition
暴露端口8080(指标)/ 8081(自身指标)
标签维度namespace、deployment、pod、node 等
配套组件cAdvisor(资源用量)

典型使用场景

  • 告警「期望副本与实际副本不一致」,第一时间发现发布异常
  • 统计各命名空间未就绪 Pod 数量,定位调度与启动问题
  • 监控节点压力条件(MemoryPressure、DiskPressure)
  • 核对 HPA 目标与实际副本,判断扩缩容是否生效
  • 统计资源配额使用情况,识别接近上限的团队
  • 巡检集群对象总量与增长趋势,辅助容量规划

常用指标与查询

常用指标与查询
# 副本不满足的 Deployment
kube_deployment_status_replicas_unavailable > 0

# 未就绪的 Pod(按命名空间汇总)
sum by (namespace) (kube_pod_status_ready{condition="false"})

# Node 压力条件
kube_node_status_condition{condition="MemoryPressure",status="true"} == 1

# HPA 当前目标与实际副本
kube_horizontalpodautoscaler_status_current_replicas

指标前缀与含义

前缀对象典型指标
kube_deployment_*Deployment期望副本、可用副本、未可用副本
kube_pod_*Pod就绪状态、重启次数、状态阶段
kube_node_*Node状态条件、容量与可分配资源
kube_hpa_*HPA当前副本、目标副本
kube_*_resource_quota/limit配额配额使用与上限
该类指标标签维度多(namespace、deployment、pod 等),看板与告警要注意标签裁剪以控制序列量,否则集群变大后序列会成倍增长。
kube-state-metrics 关注状态而不是资源用量:CPU 与内存问题仍要回到 cAdvisor 指标,两者不要互相替代。
集群对象越多,KSM 产生的序列越多,抓取频率与采集范围要一起评估,必要时按对象类型裁剪。
同一集群部署多套监控时,注意 KSM 角色权限与命名空间隔离,避免权限过大或重复采集。
重启次数与就绪状态要一起看:只有重启多但当前就绪,说明进程在反复崩溃重启;两者都异常则说明服务已经不可用。
容量类判断可结合节点可分配资源指标:只看到「分配了很多」但没看「还能分配多少」,容易得出过于乐观的结论。

易错点

  • kube-state-metrics 关注状态而不是资源用量,CPU/内存问题要回到 cAdvisor 指标
  • 集群对象增长会显著增加序列量,抓取频率与对象范围要一起评估
  • 只看副本数不看未就绪原因,会把调度失败误判为发布失败
  • 证书或 RBAC 权限不足时采集失败,现象是指标整体消失而非部分缺失
  • 把 KSM 指标与 cAdvisor 指标直接相除关联,标签维度不一致会导致结果为空
  • 把重启次数当作故障次数会高估问题:滚动发布与探针调整同样会增加计数,判断时要结合时间窗与版本

数据来源与参考

  • kube-state-metrics 项目文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌