- 作者:老汪软件技巧
- 发表时间:2024-10-11 10:02
- 浏览量:
在 Kubernetes 的管理与监控中,Lens 提供了一个强大且直观的图形界面工具。它不仅使得集群的监控简单直观,同时还支持集成 Prometheus 用以获取更多的监控数据。然而,在实际操作中,有时我们可能会遇到一些挑战。例如,在使用 Lens 通过 K3s 管理你的集群,并尝试获取 metrics(监控数据)时,可能会遇到在获取 agent 节点数据时的连接中断。这篇文章将总结我最近遇到的一个 bug,以及解决该问题的过程。
在管理 K3s 集群时,使用 Lens 来监控集群的各个指标(metrics)。通常情况下,我们会集成 Prometheus 以及与其相关的 kube-state-metrics 服务。然而,我在操作过程中遇到了如下问题:
原因分析
经过多次检查与尝试,找到了以下几个可能导致问题产生的原因:
端口冲突:系统中其他应用可能占用了 metrics 服务常用的 9090 端口,这会影响 Prometheus 或 kube-state-metrics 的正常启动与运作。
软件版本不兼容:可能是由于 Lens 的版本与 K3s 或相关的监控服务版本不匹配。
防火墙及权限设置:集群所在服务器的防火墙设置可能阻止了某些必要端口的通信。
经过一系列的尝试和调试,问题最终得以解决。总结的解决步骤如下:
更换监控服务端口:将冲突的 kube-state-metrics 服务端口由默认的 9090 改为 9091,避免了与其他服务的端口冲突。
升级/降级软件版本:更新了 Lens 的版本,很多时候这样可以解决,以确保其与 K3s 以及相关服务的兼容性。
服务器设置调整:
确保 Prometheus 单独运行:保持 Prometheus 运行,确保它能够单独获取到集群中的各项指标,从而确认问题不是由 Prometheus 本身引起的。KUBE STATE METRICS可能会有一些冲突。配置如下图。
5.最后我发现一个方法可以秒杀一切,参考了…我来展示一下配置:
还是不行就试试先改auto加载master图,再换pro加载所有图。
1.注意安全组规则,6443开着,然后代理这种要注意端口占用,还有就是不要图方便全开,开着代理又安全组全开,容易CPU爆炸(可能是某猫bug)。2.需要自己额外下组件。