安装kube-prometheus

安装kube-prometheus

   运维菜鸟     2021年7月24日 21:48     1436    

安装kube-prometheus

1、克隆代码

github上克隆代码,这里使用的版本是kube-prometheus0.7.0

k8s的版本是1.19.

cd ~

git clone https://github.com/coreos/kube-prometheus.git

 

2、安装Prometheus-operator

cd /root/kube-prometheus-0.7.0/manifests/setup

kubectl create -f .

 

3、安装PrometheusAlertManagerGrafana

cd /root/kube-prometheus-0.7.0/manifests

Kubectl create -f .

 

在安装完成Prometheus-operatorPrometheusAlertManagerGrafana之后,会自动创建一个monitoring的命名空间,所有的pod都在这个命名空间下。

图片1.png 

在安装过程中碰到了一个问题,在安装完成kube-prometheus之后。

Alertmanager-main-xprometheus-k8s-x这几个pod无论如何起不来,一直处于重启状态,并且没有任何报错。后来经过排查之后,才知道,安装完成rancher之后,启用了rancher的监控,在各个节点上产生了cattle-prometheus的命名空间,并且启动了几个相关的pod。所以造成了kube-prometheus一直有问题。关闭了rancher的监控之后便好了。

图片2.png 

 

4、映射端口

这里使用nodePort方式映射端口,一下两个文件已经存在,无需创建,只需要加上标红的字段就可以了。文件在kube-prometheus-0.7.0/manifests下。

1)映射grafana端口

修改grafana-service.yaml

apiVersion: v1

kind: Service

metadata:

  labels:

    app: grafana

  name: grafana

  namespace: monitoring

spec:

  type: NodePort

  ports:

  - name: http

    port: 3000

    targetPort: http

    nodePort: 30000

  selector:

app: grafana

 

(2)映射prometheus端口

修改prometheus-service.yaml

apiVersion: v1

kind: Service

metadata:

  labels:

    prometheus: k8s

  name: prometheus-k8s

  namespace: monitoring

spec:

  type: NodePort

  ports:

  - name: web

    port: 9090

    targetPort: web

    nodePort: 30002

  selector:

    app: prometheus

    prometheus: k8s

  sessionAffinity: ClientIP


生效两个文件

kubectl apply -f grafana-service.yaml

kubectl apply -f prometheus-service.yaml


以上将grafana端口映射为30000端口,Prometheus端口映射30002端口

进行访问

grafana: http://k8s-ip:30000

prometheus: http://k8s-ip:30002  


5、因为node_exporter端口被占用

因为这个nodeport使用的daemonset和hostnetwork的形式,所以,如果在node节点上有9100端口,就会导致node_exporter的pod无法启动,需要修改不同的端口。

node-exporter-service.yaml和node-exporter-daemonset.yaml

这两个文件中凡是带有9100端口的均改为其他端口,比如9101





文章评论

0

其他文章