Myluzh Blog

K8S 部署 Redis Exporter

发布时间: 2025-7-11 文章作者: myluzh 分类名称: Kubernetes 朗读文章


1、部署redis exporter
apiVersion: apps/v1
kind: Deployment
metadata:
  name: redis-exporter
  namespace: base
  labels:
    app: redis-exporter
spec:
  replicas: 1
  selector:
    matchLabels:
      app: redis-exporter
  template:
    metadata:
      labels:
        app: redis-exporter
    spec:
      containers:
        - name: redis-exporter
          image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io/oliver006/redis_exporter:v1.72.1
          args:
            - -redis.addr=redis://redis.base.svc.cluster.local:6379  # redis地址
            - -redis.password=w7dYHcf72s1j138XsG  # redis密码
          ports:
            - containerPort: 9121
              name: metrics
          resources:
            limits:
              cpu: 100m
              memory: 100Mi
            requests:
              cpu: 50m
              memory: 50Mi
          imagePullPolicy: IfNotPresent

---
apiVersion: v1
kind: Service
metadata:
  name: redis-exporter
  namespace: base
  labels:
    app: redis-exporter
spec:
  selector:
    app: redis-exporter
  ports:
    - protocol: TCP
      port: 9121
      targetPort: 9121
      name: metrics    

2、配置servermonitor
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: redis-monitor
  namespace: monitoring
  labels:
    app: redis-exporter
spec:
  jobLabel: redis
  endpoints:
    - port: metrics       # 对应 Service 中定义的端口名称
      interval: 15s
      scrapeTimeout: 10s
  selector:
    matchLabels:
      app: redis-exporter
  namespaceSelector:
    any: false
    matchNames:

3、配置prometheus权限,确保能访问到其他命名空间
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: prometheus-k8s-readonly
subjects:
  - kind: ServiceAccount
    name: prometheus-k8s
    namespace: monitoring  # 指定命名空间为 monitoring
roleRef:
  kind: ClusterRole
  name: prometheus-k8s-readonly  # 绑定的角色
  apiGroup: rbac.authorization.k8s.io
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: prometheus-k8s-readonly
rules:
  # 允许访问所有的 API Group 和资源
  - apiGroups: ["*"]
    resources: ["*"]
    verbs: ["get", "list", "watch"] 
4、grafana面板
https://github.com/oliver006/redis_exporter/blob/master/contrib/redis-mixin/dashboards/redis-overview.json


参考链接:https://github.com/oliver006/redis_exporter/

标签: k8s kubernetes redis exporter


正文到此结束
版权声明:若无特殊注明,本文皆为 原创,转载请保留文章出处。
文章内容:https://itho.cn/k8s/533.html
文章标题:《K8S 部署 Redis Exporter

发表评论