Prometheus Operator配置Consul服务自动发现 wang

# 1.在monitoring名称空间部署consul服务
cat > consul.yaml << EOF
apiVersion: apps/v1
kind: Deployment
metadata:
  name: consul
  namespace: monitoring
  labels:
    app: consul
spec:
  selector:
    matchLabels:
      app: consul
  replicas: 1
  template:
    metadata:
      name: consul
      labels:
        app: consul
    spec:
      containers:
        - name: consul
          image: consul:latest
          ports:
            - containerPort: 8500
              protocol: TCP
          imagePullPolicy: IfNotPresent
---
apiVersion: v1
kind: Service
metadata:
  name: consul
  namespace: monitoring
  labels:
    app: consul
spec:
  selector:
    app: consul
  ports:
    - name: consul
      protocol: TCP
      port: 8500
      targetPort: 8500
EOF
 
kubectl apply -f consul.yaml
 
# 2.编写prometheus-additional并在monitoring名称空间创建secret资源
cat > prometheus-additional.yaml << EOF
- job_name: consul
  consul_sd_configs:
    - server: consul.monitoring.svc:8500
  relabel_configs:
    - source_labels: [__meta_consul_tags]
      regex: .*,prome,.*
      action: keep
    - source_labels: [__meta_consul_service]
      target_label: job
EOF
 
kubectl create secret generic additional-configs --from-file=prometheus-additional.yaml -n monitoring
 
# 3.手动修改kube-prometheus/manifests中的prometheus-prometheus.yaml文件增加additionalScrapeConfigs配置段
vim kube-prometheus/manifests/prometheus-prometheus.yaml
 
  additionalScrapeConfigs:
    name: additional-configs
    key: prometheus-additional.yaml
     
# 并重新应用prometheus-prometheus.yaml文件
kubectl apply -f kube-prometheus/manifests/prometheus-prometheus.yaml

# 4.修改名为prometheus-k8s的ClusterRole权限,并更新资源
cat > prometheus-clusterRole.yaml << EOF
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: prometheus-k8s
rules:
- apiGroups:
  - ""
  resources:
  - nodes
  - services
  - endpoints
  - pods
  - nodes/proxy
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - ""
  resources:
  - configmaps
  - nodes/metrics
  verbs:
  - get
- nonResourceURLs:
  - /metrics
  verbs:
  - get
EOF

kubectl apply -f prometheus-clusterRole.yaml
原文地址:https://www.cnblogs.com/wang-hongwei/p/15694644.html