当前位置:   article > 正文

node-exporter,prometheus,grafana三者之间的联系_prometheus与node_exporter关系

prometheus与node_exporter关系

一、node-exporter与节点机

用于收集节点机器的数据信息,那么node-exporter与节点机器的连接在哪里?
node-exporter.yaml

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: node-exporter
  namespace: kube-system
  labels:
    k8s-app: node-exporter
spec:
  selector:
    matchLabels:
      k8s-app: node-exporter
  template:
    metadata:
      labels:
        k8s-app: node-exporter
    spec:
      containers:
      - image: prom/node-exporter
        name: node-exporter
        ports:
        - containerPort: 9100
          protocol: TCP
          name: http
      tolerations:
      - key: "node-role.kubernetes.io/master"
        operator: "Exists"
        effect: "NoSchedule"
---
apiVersion: v1
kind: Service
metadata:
  labels:
    k8s-app: node-exporter
  name: node-exporter
  namespace: kube-system
spec:
  ports:
  - name: http
    port: 9100
    nodePort: 31672
    protocol: TC
  type: NodePort
  selector:
    k8s-app: node-exporter
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44

我们可以看到node-exporter的kind: DaemonSet
DaemonSet确保全部(或者一些)Node上运行一个Pod的副本。当有Node加入集群时,也会为他们新增一个Pod。当有Node从集群移除时,这些Pod也会被回收。也就是只要

kubectl create -f node-exporter.yaml
  • 1

node-exporter会自动加入到k8s管理下的每个Node。自动关联无需手动关联。

二、 node-exporter与prometheus

prometheus用于存储node-exporte收集的数据,他们之间的联系在哪里呢?
首先我们可以看到node-exporter开放了端口31672
在这里插入图片描述
所以prometheus监听node-exporter的时候也要监听31672这个端口
然后我们配置node-exporter的IP是在prometheus的configmap.yaml文件中。
在这里插入图片描述
这里用公网IP和内网IP都可以访问通。区别暂时还不知道。
注意:
如果修改了configmap.yaml文件,需要做以下几步,而不是仅仅apply configmap.yaml

kubectl delete -f prometheus.svc.yml
kubectl delete -f prometheus.deploy.yml
kubectl delete -f configmap.yaml
  • 1
  • 2
  • 3

验证prometheus服务是否已不存在

kubectl get po -A
  • 1

重新创建prometheus服务

kubectl create -f configmap.yaml
kubectl create -f prometheus.deploy.yml
kubectl create -f prometheus.svc.yml
kubectl get po -n kube-system
  • 1
  • 2
  • 3
  • 4

三、prometheus与Grafana

Grafana用来展示prometheus存储的数据。他们之间的联系简单明了。
在Grafana的Data Source页面配置好prometheus的IP(master公网ip)+端口。就可以读取到prometheus存储的数据,并且以图表形式展示数据了。
在这里插入图片描述
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/378691
推荐阅读
相关标签
  

闽ICP备14008679号