kubernetes中部署kube-prometheus项目解决ControllerManager与Scheduler无法监控问题
2024-10-20 03:53:16
文章转载自:https://www.kococ.cn/20210302/cid=697.html
一、问题描述
在部署 kube-prometheus 到 kubernetes 集群中总会遇到一个问题,当 pod 都正常运行的时候,却发现 kube-controller-manager 和 kube-scheduler 并没有正常被监控到,即使是新建了新的 SVC 与两个 Pod 进行绑定但还是不行。
原因如下
版本 1.18 + 现在使用更安全的 https 端口 10257,并默认禁用 http。不幸的是,kube-controller-manager 和 kube-scheduler 都使用了 --secure-port
绑定到 127.0.0.1 而不是 0.0.0.0
解决方法:
更新 /etc/kubernetes/manifests/ 中的清单以将 --bind-address=0.0.0.0
用于调度程序和控制器管理器,将使用正确的绑定地址重新启动 Pod,但是这些设置将无法生存 kubeadm 升级
二、新增、更改 KubeControllerManager 配置
新增 service.yaml
# vim prometheus-kubeControllerManagerService.yaml
apiVersion: v1
kind: Service
metadata:
namespace: kube-system
name: kube-controller-manager
labels:
k8s-app: kube-controller-manager # 这个需要跟对应的monitor里的信息保持一致,新版的是 app.kubernetes.io/name: kube-controller-manager
spec:
selector:
component: kube-controller-manager
ports:
- name: https-metrics
port: 10257 #端口要和你describe到的ControllerManager的Pod端口信息一致
vim /etc/kubernetes/manifests/kube-controller-manager.yaml
将--bind-address=127.0.0.1 改为 --bind-address=0.0.0.0
由于 kube-controller-manager 是以静态 Pod 运行在集群中的,所以只要修改静态 Pod 目录下对应的 yaml 文件即可。等待一会后,对应服务会自动重启
三、新增、更改 KubeScheduler 配置
新增 service.yaml
# vim kube-prometheus/manifests/prometheus-serviceMonitorKubeScheduler-service.yaml
apiVersion: v1
kind: Service
metadata:
namespace: kube-system
name: kube-scheduler
labels:
k8s-app: kube-scheduler # 这个需要跟对应的monitor里的信息保持一致,新版的是 app.kubernetes.io/name: kube-scheduler
spec:
selector:
component: kube-scheduler
ports:
- name: https-metrics
port: 10259 #端口要和你describe到的ControllerManager的Pod端口信息一致
vim /etc/kubernetes/manifests/kube-scheduler.yaml
将--bind-address=127.0.0.1 改为 --bind-address=0.0.0.0
由于 kube-scheduler 是以静态 Pod 运行在集群中的,所以只要修改静态 Pod 目录下对应的 yaml 文件即可。等待一会后,对应服务会自动重启
四、结果图
最新文章
- 如何使用dos命令查看MySQL当前使用的数据库?
- mono for android 获取手机照片或拍照并裁剪保存
- 面试时被问到js的绑定事件,我居然不知道怎么回答。回来查了下,做个笔记
- C#时间操作
- CsvHelper
- 玩转Android Camera开发(一):Surfaceview预览Camera,基础拍照功能完整demo
- 博客引索 - imsoft.cnblogs
- ecshop---京东手机模板js的eval产生冲突的解决方法。
- windows bat命令编写大全
- BZOJ 1854: [Scoi2010]游戏( 二分图最大匹配 )
- Oracle连接池
- 打开地图文件和shape文件代码加载Mxd文档
- Azure ARM (21) Azure订阅的两种管理模式
- 怎么看 EOS 的代码最爽?
- redis锁处理并发问题
- 开启CSP网页安全政策防止XSS攻击
- vc++基础班[22]---文件的基本操作2
- SystemParametersinfo 用法
- .netcore-FreeSql的使用-搭建context
- 解决python2和python3的pip冲突
热门文章
- Zabbix 5.0:通过LLD方式自动化监控阿里云RDS
- vim插件的社区活跃度怎么样
- centos7 yum error yum doesn't have enough cached data
- 手机APP无法抓包HTTPS解决方案
- skip-host-cache skip-name-resolve
- 年中盘点 | 2022年,PaaS 再升级
- Stream流中的常用方法foeEach和Stream流中的常用方法filter
- SQL 注入复习总结
- Chapter 02 - Let's Get Started(C#篇)
- Sphere类定义