k8s之 kube-prometheus监控

打印 上一主题 下一主题

主题 1611|帖子 1611|积分 4833

        Kubernetes 中的 kube-prometheus 是一个基于 Prometheus Operator 的完整监控办理方案,它集成了 Prometheus、Alertmanager、Grafana 以及一系列预界说的监控规则和仪表盘,专为 Kubernetes 集群设计。
一、核心组件先容



  • Prometheus Operator :用于自动化管理 Prometheus 及其相关资源(如 ServiceMonitor、PodMonitor、PrometheusRule)
  • Prometheus:负责指标采集、存储和告警规则的评估
  • Alertmanager:处理 Prometheus 发送的告警,进行分组、去重、静默和关照(如邮件)
  • Grafana:提供预配置的监控仪表盘,可视化集群和应用指标
  • 预界说监控规则:包罗 Kubernetes 核心组件(API Server、kubelet、etcd 等)的告警规则和仪表盘配置
二、NFS存储摆设

1.下载安装nfs和rpcbind

  1. [root@master-2 ~]#  yum -y install nfs-utils
  2. [root@master-2 ~]# mkdir -p /ifs/kubernetes
  3. [root@master-2 ~]# chmod -R 777 /ifs/kubernetes
  4. [root@master-2 ~]# vim /etc/exports
  5. /ifs/kubernetes *(rw,no_root_squash,sync)
  6. #作为NFS的依赖服务,协调客户端与服务器端的通信
  7. [root@master-3 ~]# yum -y install rpcbind
复制代码
2.启动

  1. [root@master-2 ~]# systemctl enable --now rpcbind
  2. [root@master-2 ~]# systemctl enable --now nfs
复制代码
3.测试nfs

  1. #使配置生效
  2. [root@master-2 ~]# exportfs -f
  3. [root@master-2 ~]# showmount -e 192.168.91.19
  4. Export list for 192.168.91.19:
  5. /ifs/kubernetes *
  6. #所有node查看nfs是否可以看到
  7. [root@node-1 ~]# showmount -e 192.168.91.19
  8. Export list for 192.168.91.19:
  9. /ifs/kubernetes *
复制代码
4.摆设动态存储

  1. #下载相关安装包
  2. https://pan.baidu.com/s/1gZ3CCKadSyH80ZKxM30smg?pwd=2ayp
  3. #导入镜像
  4. [root@node-2 ~]# docker load -i nfs-client-provisioner.tar.gz
  5. #部署存储
  6. [root@master-1 nfs]# unzip nfs.zip
  7. Archive:  nfs.zip
  8.   inflating: pvc.yaml               
  9.   inflating: nfs-class.yaml         
  10.   inflating: nfs-deployment.yaml     
  11.   inflating: nfs-rabc.yaml
  12. [root@master-1 nfs]# ll
  13. total 45024
  14. -rw-r--r-- 1 root root      225 Nov 20  2019 nfs-class.yaml
  15. -rw-r--r-- 1 root root     1032 Mar 20 21:40 nfs-deployment.yaml
  16. -rw-r--r-- 1 root root     1526 Nov 20  2019 nfs-rabc.yaml
  17. -rw-r--r-- 1 root root      223 Mar 31  2024 pvc.yaml
  18. #修改nfs的ip地址为自己的nfs地址额
  19. [root@master-1 nfs]# sed -i 's/192.168.91.18/192.168.91.19/g' nfs-deployment.yaml
  20. [root@master-1 nfs]# kubectl apply -f .
  21. [root@master-1 nfs]# kubectl get sc
  22. NAME    PROVISIONER      RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
  23. managed-nfs-storage   fuseim.pri/ifs   Delete          Immediate           false                  5s
复制代码
三、摆设监控体系

1.下载镜像和yaml文件

  1. #1.下载
  2. https://pan.baidu.com/s/1wTyT8DqH7_tS6wEWYFxVng?pwd=r6a5
  3. #2.解压
  4. [root@master-1 ~]# tar xf monitor.1.23.tar.gz
  5. [root@master-1 ~]# cd monitor/serviceMonitor
  6. #3.查看k8s组件ip是否正确,根据情况修改
  7. [root@master-1 serviceMonitor]# ls | xargs grep 192.168.91
  8. prometheus-EtcdService.yaml:  - ip: 192.168.91.18
  9. prometheus-EtcdService.yaml:  - ip: 192.168.91.19
  10. prometheus-EtcdService.yaml:  - ip: 192.168.91.20
  11. prometheus-kubeControllerManagerService.yaml:  - ip: 192.168.91.18
  12. prometheus-kubeControllerManagerService.yaml:  - ip: 192.168.91.19
  13. prometheus-kubeControllerManagerService.yaml:  - ip: 192.168.91.20
  14. prometheus-KubeProxyService.yaml:  - ip: 192.168.91.21
  15. prometheus-KubeProxyService.yaml:  - ip: 192.168.91.22
  16. prometheus-kubeSchedulerService.yaml:  - ip: 192.168.91.18
  17. prometheus-kubeSchedulerService.yaml:  - ip: 192.168.91.19
  18. prometheus-kubeSchedulerService.yaml:  - ip: 192.168.91.20
复制代码
2. 创建资源

  1. #crd资源对象   prometheus-operator
  2. [root@master-1 monitor]#  kubectl create -f setup/
  3. #监控
  4. [root@master-1 monitor]#  kubectl apply -f alertmanager/
  5. #节点的资源
  6. [root@master-1 monitor]#  kubectl apply -f node-exporter/
  7. #容器的资源使用率
  8. [root@master-1 monitor]#  kubectl apply -f kube-state-metrics/
  9. #可视化界面
  10. [root@master-1 monitor]#  kubectl apply -f granfa/
  11. #
  12. [root@master-1 monitor]#  kubectl apply -f prometheus/
  13. [root@master-1 monitor]#  kubectl apply -f serviceMonitor/
  14. [root@master-1 nfs]# kubectl get pods -n monitoring
  15. NAME                                  READY   STATUS    RESTARTS   AGE
  16. alertmanager-main-0                   2/2     Running   0          39m
  17. alertmanager-main-1                   2/2     Running   0          39m
  18. alertmanager-main-2                   2/2     Running   0          39m
  19. grafana-f44f5bd49-9zxtg               1/1     Running   0          38m
  20. kube-state-metrics-6c8846558c-5ljt7   3/3     Running   0          38m
  21. node-exporter-jcpmw                   2/2     Running   0          39m
  22. node-exporter-jkmdt                   2/2     Running   0          39m
  23. prometheus-k8s-0                      2/2     Running   0          38m
  24. prometheus-k8s-1                      2/2     Running   0          38m
  25. prometheus-operator-f59c8b954-vqbwg   2/2     Running   0          39m
复制代码
3.办理pvc绑定问题

  1. [root@master-1 nfs]# vim /etc/kubernetes/cfg/kube-apiserver.cfg
  2. 添加添加- --feature-gates=RemoveSelfLink=false
  3. [root@master-1 nfs]# systemctl restart kube-apiserver
复制代码
5.查察地址并访问

  1. #grafana
  2. [root@master-1 nfs]# kubectl get pod -A -o wide| grep grafana
  3. monitoring    grafana-f44f5bd49-9zxtg                   1/1     Running   0             39m   172.17.14.8     node-2   <none>           <none>
  4. [root@master-1 nfs]# kubectl get svc -A | grep grafana
  5. monitoring    grafana                   NodePort    10.0.0.36    <none>        3000:38801/TCP          40m
  6. #页面访问并导入etcd和node-exporter模板
  7. http://192.168.91.22:38801/
  8. 用户与密码: admin/admin
  9. #访问prometheus
  10. [root@master-1 nfs]# kubectl get svc -A  | grep prometheus-k8s
  11. monitoring    prometheus-k8s            NodePort    10.0.0.166   <none>        9090:49004/TCP,8080:34712/TCP               69m
复制代码
6.监控部分截图

点击general查察监控

监控项

监控etcd


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

十念

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表