安装部署kube-prometheus

本文详细介绍了如何在Kubernetes环境中安装和配置kube-prometheus,包括替换国内镜像源、修改Service类型、安装组件、访问web页面、自定义报警规则、设置企业微信报警以及解决内置报警问题。同时,还展示了新增serviceMonitor监控ingress-nginx的步骤。
摘要由CSDN通过智能技术生成

prometheus-operator用于监控kubernetes集群

1.下载prometheus-operator文件包

https://github.com/prometheus-operator/kube-prometheus/archive/main.zip
下载完成后解压kube-prometheus-main.zip

# 解压
unzip kube-prometheus-main.zip

# 进入到manifests
cd kube-prometheus-main && cd manifests

在这里插入图片描述

2.准备工作替换国内镜像源

sed -i 's/quay.io/quay.mirrors.ustc.edu.cn/g' setup/prometheus-operator-deployment.yaml
sed -i 's/quay.io/quay.mirrors.ustc.edu.cn/g' prometheus-prometheus.yaml 
sed -i 's/quay.io/quay.mirrors.ustc.edu.cn/g' alertmanager-alertmanager.yaml
sed -i 's/quay.io/quay.mirrors.ustc.edu.cn/g' kube-state-metrics-deployment.yaml
sed -i 's/quay.io/quay.mirrors.ustc.edu.cn/g' node-exporter-daemonset.yaml
sed -i 's/quay.io/quay.mirrors.ustc.edu.cn/g' prometheus-adapter-deployment.yaml
sed -i 's/quay.io/quay.mirrors.ustc.edu.cn/g' blackbox-exporter-deployment.yaml
sed -i 's#k8s.gcr.io/kube-state-metrics/kube-state-metrics#bitnami/kube-state-metrics#g' kube-state-metrics-deployment.yaml

改完如下图,k8s.gcr.ioquay.io国内被墙,需要替代方案,
在这里插入图片描述
修改prometheus和grafana的持久化方式,默认持久化方式为emptyDir,最好修改为pvc,参考该作者博客

修改grafana-deployment.yamlgrafana-storage,创建一个pvc替换上去
在这里插入图片描述
修改prometheus-prometheus.yamlCRD添加PVC存储
在这里插入图片描述


3. 修改promethes,alertmanager,grafana的service类型为NodePort类型

prometheus-service.yaml

[root@master1 manifests]# cat prometheus-service.yaml 
apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/component: prometheus
    app.kubernetes.io/name: prometheus
    app.kubernetes.io/part-of: kube-prometheus
    app.kubernetes.io/version: 2.28.0
    prometheus: k8s
  name: prometheus-k8s
  namespace: monitoring
spec:
  type: NodePort #新增
  ports:
  - name: web
    port: 9090
    targetPort: web
  selector:
    app: prometheus
    app.kubernetes.io/component: prometheus
    app.kubernetes.io/name: prometheus
    app.kubernetes.io/part-of: kube-prometheus
    prometheus: k8s
  sessionAffinity: ClientIP

alertmanager-service.yaml

[root@master1 manifests]#  cat alertmanager-service.yaml 
apiVersion: v1
kind: Service
metadata:
  labels:
    alertmanager: main
    app.kubernetes.io/component: alert-router
    app.kubernetes.io/name: alertmanager
    app.kubernetes.io/part-of: kube-prometheus
    app.kubernetes.io/version: 0.22.2
  name: alertmanager-main
  namespace: monitoring
spec:
  type: NodePort #新增
  ports:
  - name: web
    port: 9093
    targetPort: web
  selector:
    alertmanager: main
    app: alertmanager
    app.kubernetes.io/component: alert-router
    app.kubernetes.io/name: alertmanager
    app.kubernetes.io/part-of: kube-prometheus
  sessionAffinity: ClientIP```

grafana-service.yaml

[root@master1 manifests]# cat grafana-service.yaml
apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/component: grafana
    app.kubernetes.io/name: grafana
    app.kubernetes.io/part-of: kube-prometheus
    app.kubernetes.io/version: 8.0.3
  name: grafana
  namespace: monitoring
spec:
  type: NodePort #新增
  ports:
  - name: http
    port: 3000
    targetPort: http
  selector:
    app.kubernetes.io/component: grafana
    app.kubernetes.io/name: grafana
    app.kubernetes.io/part-of: kube-prometheus

4. 安装kube-prometheus和CRD

安装prometheus-operator

kubectl apply -f setup/

查看状态,到Running再进行下一步

kubectl get pods -n monitoring

安装prometheus, alertmanager, grafana, kube-state-metrics, node-exporter等资源

kubectl apply -f . 

5.访问web页面

grafana 帐号密码 admin/admin

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值