Kubernetes 组件 SLI 度量

用于衡量 Kubernetes 组件可靠性和性能的高层指标。
特性状态: Kubernetes v1.27 [beta] (默认启用:true)

默认情况下,Kubernetes 1.33 为每个 Kubernetes 组件二进制文件发布服务级别指标 (SLI)。此度量端点在每个组件的服务 HTTPS 端口上暴露,路径为 /metrics/slis。自 v1.27 起,对于每个 Kubernetes 组件,ComponentSLIs 特性门控 默认启用。

SLI 度量

启用 SLI 度量后,每个 Kubernetes 组件暴露两个度量,按健康检查标注

  • 一个 gauge(表示健康检查的当前状态)
  • 一个 counter(记录每个健康检查状态观察到的累计计数)

你可以使用度量信息来计算每个组件的可用性统计数据。例如,API 服务器检查 etcd 的健康状况。你可以计算并报告 etcd 的可用或不可用情况——由其客户端 API 服务器报告。

prometheus gauge 数据如下所示

# HELP kubernetes_healthcheck [ALPHA] This metric records the result of a single healthcheck.
# TYPE kubernetes_healthcheck gauge
kubernetes_healthcheck{name="autoregister-completion",type="healthz"} 1
kubernetes_healthcheck{name="autoregister-completion",type="readyz"} 1
kubernetes_healthcheck{name="etcd",type="healthz"} 1
kubernetes_healthcheck{name="etcd",type="readyz"} 1
kubernetes_healthcheck{name="etcd-readiness",type="readyz"} 1
kubernetes_healthcheck{name="informer-sync",type="readyz"} 1
kubernetes_healthcheck{name="log",type="healthz"} 1
kubernetes_healthcheck{name="log",type="readyz"} 1
kubernetes_healthcheck{name="ping",type="healthz"} 1
kubernetes_healthcheck{name="ping",type="readyz"} 1

而 counter 数据如下所示

# HELP kubernetes_healthchecks_total [ALPHA] This metric records the results of all healthcheck.
# TYPE kubernetes_healthchecks_total counter
kubernetes_healthchecks_total{name="autoregister-completion",status="error",type="readyz"} 1
kubernetes_healthchecks_total{name="autoregister-completion",status="success",type="healthz"} 15
kubernetes_healthchecks_total{name="autoregister-completion",status="success",type="readyz"} 14
kubernetes_healthchecks_total{name="etcd",status="success",type="healthz"} 15
kubernetes_healthchecks_total{name="etcd",status="success",type="readyz"} 15
kubernetes_healthchecks_total{name="etcd-readiness",status="success",type="readyz"} 15
kubernetes_healthchecks_total{name="informer-sync",status="error",type="readyz"} 1
kubernetes_healthchecks_total{name="informer-sync",status="success",type="readyz"} 14
kubernetes_healthchecks_total{name="log",status="success",type="healthz"} 15
kubernetes_healthchecks_total{name="log",status="success",type="readyz"} 15
kubernetes_healthchecks_total{name="ping",status="success",type="healthz"} 15
kubernetes_healthchecks_total{name="ping",status="success",type="readyz"} 15

使用这些数据

组件 SLIs 度量端点旨在以高频率被抓取。高频率抓取意味着你可以获得更精细的 gauge 信号粒度,然后可以用来计算 SLO。/metrics/slis 端点提供计算相应 Kubernetes 组件可用性 SLO 所需的原始数据。

上次修改时间:2025 年 01 月 07 日 太平洋标准时间 8:06 PM:添加 Kubernetes 组件 SLI 度量描述 (6c83f61fa5)