前言

kubernetes集群安装完毕之后需要接入监控,本篇博客是介绍helm安装prometheus的,希望可以对大家有所帮助

一、部署

1、配置helm仓库

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update

在这里插入图片描述

2、安装prometheus

helm -n prometheus-stack install  kube-prometheus-stack prometheus-community/kube-prometheus-stac

在这里插入图片描述

3、查看prometheus版本

kubectl get prometheuses -n prometheus-stack

在这里插入图片描述

4、查看安装pod

kubectl get pods -n prometheus-stack

在这里插入图片描述

二、配置prometheus

1、配置自动发现规则

(1)编写自动发现配置

cat prometheus-additional.yaml
- job_name: 'kubernetes-endpoints'
  kubernetes_sd_configs:
    - role: endpoints
  relabel_configs:
    - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape]
      action: keep
      regex: true
    - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme]
      action: replace
      target_label: __scheme__
      regex: (https?)
    - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path]
      action: replace
      target_label: __metrics_path__
      regex: (.+)
    - source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port]
      action: replace
      target_label: __address__
      regex: ([^:]+)(?::\d+)?;(\d+)
      replacement: $1:$2
    - action: labelmap
      regex: __meta_kubernetes_service_label_(.+)
    - source_labels: [__meta_kubernetes_namespace]
      action: replace
      target_label: kubernetes_namespace
    - source_labels: [__meta_kubernetes_service_name]
      action: replace
      target_label: kubernetes_name
    - source_labels: [__meta_kubernetes_pod_name]
      action: replace
      target_label: kubernetes_pod_name

(2)存入集群的secret

kubectl create secret generic additional-configs --from-file=prometheus-additional.yaml -n  prometheus-stack

(3)注入prometheus

kubectl edit prometheuses -n prometheus-stack

在这里插入图片描述

2、配置RBAC

kubectl apply -f prometheus-rbac.yml
#cat prometheus-rbac.yml
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

3、登录prometheus网页查看

#使用port-forward映射端口
kubectl port-forward -n prometheus-stack  --address 0.0.0.0 svc/kube-prometheus-stack-prometheus 9090:9090

在这里插入图片描述
在这里插入图片描述

4、应用配置服务发现自动接入prometheus

在这里插入图片描述

只需要添加这两行即可。

三、配置grafana

1、登录grafana

#grafana默认会安装好,映射端口登录
kubectl port-forward -n prometheus-stack  --address 0.0.0.0 svc/kube-prometheus-stack-grafana 3000:80

在这里插入图片描述

2、导入监控模板

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Logo

开源、云原生的融合云平台

更多推荐