joey_chen hello,我也遇到了这个问题,我排查了下kube-schduler组件,发现并没有监听10251端口,我猜测是这个原因导致kube-schduler-svc服务无法获取kube-schduler的metrics,但是在我开启了10251端口后,ks console集群状态里,依然没有调度器数据,是否需要重启某个deployment之类的操作?huanggze mtcc
joey_chen 我的问题解决了,应该是触发了prometheus的bug,kubectl get ep发现kube-controller-manager与kube-scheduler没有endpoint,我将master中的kube-controller-manager与kube-scheduler端口打开后,手动修改ep,已经能够获取数据 huanggze mtcc
joey_chen benjaminhuo ks-installer里的prometheus role只有kube-scheduler-svc与kube-controller-manager-svc的service,我猜测是因为kubeadmin安装k8s时会安装kube-scheduler与kube-controller-manager pod,所以svc通过label可以关联到pod,但是我是自己搭的k8s,导致svc中没有endpoint,需要手动补上
benjaminhuo 需要给controller 和 scheduler 创建相应 svc, target 端口指向 pod, svc 暴露的端口被 Prometheus 抓取。不要单独创建 endpoint
mtcc benjaminhuo 二进制部署的 绑定地址原本是127.0.0.1,现在只能改成监听本机ip,暴露在外面了,安全性有一定风险,另外发kubesphere与集群之前部署的prometheus-Operation有冲突,kubesphere的监控一有变动,prometheus-operator里面的prometheus容器就自动被删掉了
joey_chen benjaminhuo 只能通过svc映射外部服务的方式来暴露kube-scheduler与kube-controller-manager的metrics给prometheus,所以必须只能单独创建ep