文章转载自: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 文件即可。等待一会后,对应服务会自动重启

四、结果图

最新文章

  1. 如何使用dos命令查看MySQL当前使用的数据库?
  2. mono for android 获取手机照片或拍照并裁剪保存
  3. 面试时被问到js的绑定事件,我居然不知道怎么回答。回来查了下,做个笔记
  4. C#时间操作
  5. CsvHelper
  6. 玩转Android Camera开发(一):Surfaceview预览Camera,基础拍照功能完整demo
  7. 博客引索 - imsoft.cnblogs
  8. ecshop---京东手机模板js的eval产生冲突的解决方法。
  9. windows bat命令编写大全
  10. BZOJ 1854: [Scoi2010]游戏( 二分图最大匹配 )
  11. Oracle连接池
  12. 打开地图文件和shape文件代码加载Mxd文档
  13. Azure ARM (21) Azure订阅的两种管理模式
  14. 怎么看 EOS 的代码最爽?
  15. redis锁处理并发问题
  16. 开启CSP网页安全政策防止XSS攻击
  17. vc++基础班[22]---文件的基本操作2
  18. SystemParametersinfo 用法
  19. .netcore-FreeSql的使用-搭建context
  20. 解决python2和python3的pip冲突

热门文章

  1. Zabbix 5.0:通过LLD方式自动化监控阿里云RDS
  2. vim插件的社区活跃度怎么样
  3. centos7 yum error yum doesn't have enough cached data
  4. 手机APP无法抓包HTTPS解决方案
  5. skip-host-cache skip-name-resolve
  6. 年中盘点 | 2022年,PaaS 再升级
  7. Stream流中的常用方法foeEach和Stream流中的常用方法filter
  8. SQL 注入复习总结
  9. Chapter 02 - Let's Get Started(C#篇)
  10. Sphere类定义