kube-state-metrics 是 Kubernetes 生态中一款轻量但核心的指标收集工具,专注于从集群 API 服务器提取各类 Kubernetes 对象的状态信息,而非节点或 Pod 的实时资源使用率(后者通常由 metrics-server 负责)。它通过监听 Kubernetes API 的对象变更事件(如 Deployment、Pod、Service、ConfigMap 等),将这些对象的元数据和运行状态转化为符合 Prometheus 规范的指标,供监控系统进一步处理。
它覆盖的对象类型广泛,常见指标包括:
kube_pod_status_phase(运行/失败/ pending 等阶段)、kube_pod_container_restarts_total(容器重启次数);kube_deployment_status_replicas_ready(就绪副本数)、kube_deployment_spec_replicas(期望副本数),可直接反映扩缩容是否正常;kube_service_spec_type(服务类型,如 NodePort/ClusterIP)、kube_endpoint_address_available(可用端点数量),辅助判断服务可达性;kube_configmap_info(ConfigMap 元数据)、kube_secret_type(Secret 类型)等,便于追踪配置变更。kube_<对象类型>_<指标维度>),支持 Prometheus 直接抓取,易于集成到 Grafana 面板或告警规则中;kube_job_status_failed 可直接监控 Job 执行失败,通过 kube_statefulset_status_replicas_current 判断 StatefulSet 是否达到期望副本数,这些信息对集群稳定性监控至关重要。kube_pod_container_restarts_total 短时间内突增时触发告警,或 kube_deployment_status_replicas_unavailable 大于 0 时提示副本不足;需注意它与 metrics-server 的定位差异:metrics-server 主要提供 kubectl top 命令依赖的节点/Pod 资源指标(如 CPU 使用率),而 kube-state-metrics 则聚焦对象生命周期状态。两者配合使用,可形成“资源使用+对象状态”的完整监控视角。
目前,它已成为 Kubernetes 监控体系的标配组件,几乎所有基于 Prometheus 的集群监控方案(如 Prometheus Operator)都会默认集成,其轻量、高效的特性使其在大规模集群中也能稳定运行,是理解集群“健康度”的重要数据来源。
请登录使用轩辕镜像享受快速拉取体验,支持国内访问优化,速度提升
docker pull k8s.gcr.io/kube-state-metrics/kube-state-metrics:v2.2.4manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务