1.24 中 cAdvisor 指标中缺少图像、名称和容器标签
由于 Kubernetes 1.24 已经从 cadvisor 中删除了 docker 插件,因此虽然可以使用 cri-dockerd 来适配容器运行时,但 cadvisor 无法获取有关图像标签等 docker 容器信息。进而导致 grafana 很多图像无数据。解决方法为对 prometheusrule 进行修改。 参考 https://github.com/kubernetes/kubernetes/issues/111077
解决
编辑 prometheusrule 资源
kubectl edit prometheusrule prometheus-kube-prometheus-k8s.rules
将查询语句中container=* 字样删除
缺少容器的网络指标
查看cadvisor中是有监控指标的,因此判定是 prometheus 配置导致的缺少容器网络指标。
kubectl get --raw /api/v1/nodes/m1/proxy/metrics/cadvisor | grep 'container_network'|head