You need to enable JavaScript to run this app.
导航

无法查询 kube_namespace_label 指标

最近更新时间2024.04.07 16:03:06

首次发布时间2024.04.07 16:03:06

问题现象

将集群中的 prometheus-agent 组件升级至 v2.5.0-vke.1.24 及以后版本,无法再查询到 kube-state-metrics 中的kube_namespace_label指标。

alt

原因分析

prometheus-agent 组件升级至 v2.5.0-vke.1.24 及以后版本时,其中的 kube-state-metrics 插件也同步升级为新版本。在 kube-state-metrics 插件的新版本中,存在以下几点变化:

  • kube_*_annotationskube_*_labels相关指标由旧版本中的默认对外暴露,变更为新版本中的默认不对外暴露,因此升级后,无法查询到对应的指标。但同时,kube_pod_labels指标例外,依然可以查询。
  • kube_verticalpodautoscaler_.*相关指标被废弃。

说明

  • 上文指标中的*表示通配符。例如kube_*_annotations代表kube_namespace_annotationskube_pod_annotations等指标。
  • kube-state-metrics 插件修改的详细解释,请参见 社区说明
  • 该问题仅涉及 prometheus-agent 组件的 v2.5.0-vke.1.24 及以后版本,与 v2.5.0-vke.1.20 及以后版本无关。详情请参见 组件发布记录

解决方案

如果您正在使用kube_*_annotationskube_*_labels相关指标,例如使用上述指标构建了大盘。可以遵循以下解决方案:

  • kube_*_annotationskube_*_labels相关指标,修改为kube_*_created 或者 kube_*_info指标。例如在本例中,将kube_namespace_label指标修改为kube_namespace_created指标。
  • 使用最新的 官方看板,重新构建监控大盘。