K8s 1.24 已从 cAdvisor 中删除了 Docker 插件。虽然可以使用 cri-dockerd(Docker by Mirantis)来调整容器运行时,但 kubelet 无法再通过 cAdvisor 检索 Docker 容器信息,例如镜像、pod、容器标签等,导致kubesphere的pod监控页面监控信息缺失。
kubesphere版本:v3.3.2
k8s版本:v1.27.4
pod监控没有数据:
![](/2024/1153ecdc40/image-20250122175920121.png)
应用资源,用量排行也没有数据:
![](/2024/1153ecdc40/image-20250122175942554.png)
标签缺失:
![](/2024/1153ecdc40/image-20250122180015582.png)
原因:高版本 Kubernetes (v1.24及以上)使用 docker 运行时存在指标缺少关键标签问题, 可以切换运行时,或者额外部署一个cadvisor 负载。
cAdvisor standalone & ServiceMonitor yaml:
1 | apiVersion: v1 |
部署完成后监控恢复正常:
![](/2024/1153ecdc40/image-20250122180521910.png)
![=](/2024/1153ecdc40/image-20250122180453515.png)