进阶之路:从零到一在k8s上部署高可用prometheus —— exporter

目录

  • 导航
  • 前言
  • 技术支持
  • 相关yaml文件
    • node-exporter.yaml
    • node-exporter-service.yaml
    • node-exporter-service-web.yaml
  • 部署
  • 验证

导航

进阶之路:从零到一在k8s上部署高可用prometheus —— 总览
进阶之路:从零到一在k8s上部署高可用prometheus —— 准备工作
进阶之路:从零到一在k8s上部署高可用prometheus —— exporter
进阶之路:从零到一在k8s上部署高可用prometheus —— consul
进阶之路:从零到一在k8s上部署高可用prometheus —— prometheus-operator
进阶之路:从零到一在k8s上部署高可用prometheus —— prometheus
进阶之路:从零到一在k8s上部署高可用prometheus —— alertmanager
进阶之路:从零到一在k8s上部署高可用prometheus —— minio
进阶之路:从零到一在k8s上部署高可用prometheus —— thanos receive、thanos query

前言

exporter种类繁多,有官方提供也有大佬贡献,在此不作赘述。本文选择部署node_exporter作为演示,其他exporter请按需修改。

技术支持

有的小伙伴在按照文章操作时遇到了各种各样奇奇怪怪的问题,私信上解决问题的效率又比较低。大家可以试试用AI解决自己的问题,既学到了新东西又解决了问题美滋滋~目前我用下来最好用的还是GPT,3.5模型足以解决各类编程问题了,但是使用有一定门槛(魔法上网+海外支付)。如果没有条件的小伙伴可以试试这个,送的100次对话足够解决问题了。

相关yaml文件

node-exporter.yaml

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: node-exporter
  labels:
    app: node-exporter
spec:
  serviceName: node-exporter
  replicas: 3
  selector:
    matchLabels:
      app: node-exporter
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: node-exporter
    spec:
      containers:
        - name: node-exporter
          image: 'quay.io/prometheus/node-exporter:latest'
          ports:
            - name: http-web
              containerPort: 9100
              protocol: TCP
          imagePullPolicy: IfNotPresent
      restartPolicy: Always

node-exporter-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: node-exporter
  labels:
    app: node-exporter
spec:
  ports:
    - name: http-web
      protocol: TCP
      port: 9100
      targetPort: 9100
  selector:
    app: node-exporter
  clusterIP: None
  type: ClusterIP
  sessionAffinity: None

node-exporter-service-web.yaml

apiVersion: v1
kind: Service
metadata:
  labels:
    app: node-exporter-web
  name: node-exporter-web
spec:
  sessionAffinity: None
  selector:
    app: node-exporter
  template:
    metadata:
      labels:
        app: node-exporter-web
  ports:
    - name: http-web
      protocol: TCP
      targetPort: 9100
      port: 9100
      nodePort: 30001
  type: NodePort

部署

# 将以上文件放在目录/yaml/exporter下
# 执行以下命令验证yaml文件正确性
kubectl apply -f /yaml/exporter -n prom-ha --dry-run=client

# 验证无误后执行以下命令创建相关k8s资源
kubectl apply -f /yaml/exporter -n prom-ha

验证

部署完成后http://192.168.25.80:30001/metrics,看到以下内容即证明部署成功。
进阶之路:从零到一在k8s上部署高可用prometheus —— exporter_第1张图片

你可能感兴趣的:(进阶之路,k8s,prometheus,高可用,分布式)