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
assassinwardon 查看Targets kubesphere-monitoring-system/kube-scheduler/0发现状态为down。 通过查看服务本身端口发现启动方式是127.0.0.1 需要修改KubeControllerManager启动方式 在宿主机的/etc/kubernetes/manifests里找到配置文件 将address修改0.0.0.0之后自动会重载配置不需要重启。