Repolode
kubernetes

kubernetes/kube-state-metrics

一个 Kubernetes 附加服务,监听 API Server 并以 Prometheus 指标形式暴露 Pod、Deployment、Node 等对象的状态。

Star
6,228
Fork
2,199
未关闭 Issue
117
最近提交
5天前

这是什么?

kube-state-metrics(KSM)监听 Kubernetes API Server,为 Deployment、Node、Pod 等对象生成描述其状态的指标。它关注集群中对象的健康状况,而不是 Kubernetes 组件本身的运行状态,并直接输出 API 中的原始数据,不套用 kubectl 为了展示而做的启发式处理。

指标以纯文本形式通过 HTTP 的 /metrics 端点提供,供 Prometheus 或兼容的采集器抓取。指标反映集群当前状态,对象被删除后会从输出中消失。资源占用随集群规模增长,项目提供了分片、资源过滤以及通过 RBAC 限制访问范围的配置方式,适用于大规模或权限受限的环境。

项目由 SIG Instrumentation 维护,官方 Helm Chart 位于 prometheus-community/helm-charts 仓库中。

核心功能

  • 01直接从 Kubernetes API 对象生成指标,不做修改。
  • 02以 Prometheus 格式通过 HTTP /metrics 端点暴露指标。
  • 03支持基于对象 UID 的水平分片,也支持通过 StatefulSet 的自动分片。
  • 04可通过 resources 和 exclude_resources 查询参数过滤采集的资源类型。
  • 05将 Kubernetes 标签转换为 Prometheus 标签,并用后缀解决命名冲突。
  • 06提供 /healthz、/livez 和 /readyz 健康检查端点。

适用场景

  • 基于 Deployment 副本数、Pod 阶段或 Node 状态搭建 Prometheus 仪表盘与告警。
  • 在不修改应用的前提下监控集群中各类工作负载的健康状况。
  • 当单个集群指标量较大时,将采集任务分散到多个实例上。

快速上手

  1. 1

    从 registry.k8s.io 拉取容器镜像

  2. 2

    按照 README 中的 Kubernetes Deployment 或 Helm Chart 说明将其部署到集群

使用前须知

  • 它只能在 Kubernetes 集群内运行,并且需要访问 API server。
  • 它会在内存中保存集群状态的完整快照,按通用建议约需 250MiB 内存和 0.1 核 CPU。
  • 默认的事件指标在某些云服务商处可能产生较高的数据摄入费用。
  • custom-resource-state 功能已冻结,建议转向 resource-state-metrics。

收录于专题

标签

常见问题

kube-state-metrics 是什么?
一个 Kubernetes 附加服务,监听 API Server 并以 Prometheus 指标形式暴露 Pod、Deployment、Node 等对象的状态。 kube-state-metrics(KSM)监听 Kubernetes API Server,为 Deployment、Node、Pod 等对象生成描述其状态的指标。它关注集群中对象的健康状况,而不是 Kubernetes 组件本身的运行状态,并直接输出 API 中的原始数据,不套用 kubectl 为了展示而做的启发式处理。
kube-state-metrics 可以免费使用吗?用的什么许可证?
kube-state-metrics 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
kube-state-metrics 还在维护吗?
活跃维护中。kube-state-metrics 最近一次提交是在 2026年10月19日。
kube-state-metrics 适合用来做什么?
基于 Deployment 副本数、Pod 阶段或 Node 状态搭建 Prometheus 仪表盘与告警。 在不修改应用的前提下监控集群中各类工作负载的健康状况。 当单个集群指标量较大时,将采集任务分散到多个实例上。
kube-state-metrics 怎么安装和运行?
从 registry.k8s.io 拉取容器镜像 按照 README 中的 Kubernetes Deployment 或 Helm Chart 说明将其部署到集群
在哪里获取 kube-state-metrics?
源代码和安装说明在 GitHub 上:https://github.com/kubernetes/kube-state-metrics

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目