Prometheus采集k8s组件信息报错排除
某生产环境集群采用高可用部署,部署Prometheus对k8s组件状态进行监控,但是Prometheus界面显示采集不到kuber-apiserver组件信息。错误1.Prometheus监控界面显示apiserver数量为1;错误2.界面显示apiserver的ready数量为0(即,apiserver服务挂了)如果不解决会导致告警短信不断告警。无法跟租户展示k8s组件状态信息。开始排查:正常集
某生产环境集群采用高可用部署,部署Prometheus对k8s组件状态进行监控,但是Prometheus界面显示采集不到kuber-apiserver组件信息。
错误1.Prometheus监控界面显示apiserver数量为1;
错误2.界面显示apiserver的ready数量为0
开始排查:
正常集群k get ep信息,3台master即显示3个endpoint
问题集群:k get endpoints只显示1个master,可以正常轮询到master节点,证明haproxy没问题。
通过学习了解apiserver 配置参数,了解到 :
–apiserver-count 用于设置集群中运行的kube-apiserver组建数量,该参数必须为证书,当使用–endpoint-reconciler-type参数时开启默认为1
–endpoint-reconciler-type 用于设置kube-APIserver组建高可用功能,默认使用endpoint资源锁机制进行领导选举 默认为lease
解决如下:
–apiserver-count=1改为–apiserver-count=3,重启kube-apiserver即可 #生产环境必须等vip飘走后重启组件避免影响集群正常使用。
endpoints 恢复后重建Prometheus,查看prometheus可以监控到kube-apiserver,数量正确,状态正确,问题解决。
更多推荐
所有评论(0)