前言
在安装完KubSphere后可能会遇到监控体系无效的情况,如下图
原因
遇到这种情况先查看KubeSphere内置的监控组件prometheus-k8s
是否正常,在集群的左侧菜单栏里有系统组件一项,查看系统组件的菜单是否正常
里面的KubeSphere
和Kubernetes
都是正常的,监控组件里有四个异常,这四个异常都是监控跟监控系统ui展示类相关的组件,列出来
prometheus-k8s
:提供节点、工作负载、 API 对象的相关监控数据。prometheus-operated
:所有 Prometheus 实例对应的服务,供 Prometheus Operator 内部使用。alertmanager-operated
:Alertmanager 服务,用于集成 Prometheus 和 Alertmanager。alertmanager-main
:Alertmanager Web UI 服务。
Prometheus负责对监控数据的采集,Alertmanager则集成了Prometheus将监控数据渲染到UI页面上让我们可以可视化的查看集群的负载情况。
解决方案
异常状态
目前集群的组件状态是异常状态,我们查看prometheus
组件的事件进行异常排查,点击异常容器组的名称进入详情页,以prometheus-k8s
容器组为例
点击上图中的prometheus-k8s-0
这个名称进入详情页面
在这个页面可以看容器的yaml配置文件
及各容器的标签
及对外端口
等信息,我们排查问题的话就需要在监控
跟事件
两个tab里追踪问题。
监控项因为异常的是监控本身所以没有数据,剩下的就是查看事件信息
事件里的消息告知了异常产生的原因,cpu不足无法启动
,这种情况就需要调整调度给prometheus-k8s
足够的资源来进行启动,如果是单机的情况下最好是4C8G
的配置。
关闭状态
如果是关闭状态的情况下可以重新调度启动一下组件。
执行以下命令扩展部署:
kubectl scale -n kubesphere-monitoring-system –replicas=1 sts prometheus-k8s
如果是使用k8s在线安装KubeSphere造成的监控无效的情况先查看监控里的prometheus
等组件是否正常,如果正常的情况下查看prometheus的配置yaml
查看yaml是否配置了对外暴露
上图的配置就是没有对外暴露的配置,按以下代码进行修改:
代码语言:javascript复制spec:
clusterIP: None
ports:
- name: https-main
port: 8443
protocol: TCP
targetPort: https-main
- name: https-self
port: 9443
protocol: TCP
targetPort: https-self