redis-exporter监控部署(k8s内)tensuns专用

本文详细介绍了如何在Kubernetes中创建和管理Redis-exporter服务,包括创建ConfigMap存储密码,Deployment定义副本集,以及Service配置NodePort。步骤包括编辑yaml文件,应用到Kubernetes集群,并检查Pod运行状态。

reidis-exporter服务需要用到configmap、service、deployment服务

创建存放yaml目录

mkdir /opt/redis-exporter && cd /opt/redis-exporter

编辑yaml配置文件

vi configmap.yaml

apiVersion: v1
kind: ConfigMap
metadata:
  name: redis-conf
  namespace: monitor
  labels:
    app: redis-exporter
data:
  redis_passwd.json: |-                  #填写各redis节点地址端口和密码
    {
      "redis://10.1.60.17:6379":"12345678",
      "redis://10.1.60.18:6379":"12345678",
      "redis://10.1.60.19:6379":"12345678"
    }

vi deployment.yaml

kind: Deployment
apiVersion: apps/v1
metadata:
  labels:
    app: redis-exporter
  name: redis-exporter
  namespace: monitor
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: redis-exporter
  template:
    metadata:
      labels:
        app: redis-exporter
    spec:
      containers:
        - name: redis-exporter
          image: oliver006/redis_exporter
          imagePullPolicy: IfNotPresent
          args:
            - --redis.password-file=/redis_passwd.json
          volumeMounts:
            - mountPath: /etc/localtime
              name: tz-config
            - mountPath: /redis_passwd.json
              name: redis-conf-volume
              subPath: redis_passwd.json   #使用subPath方式挂载配置文件
          ports:
            - containerPort: 9121
              protocol: TCP
      volumes:
        - name: tz-config   #挂载时间配置,与宿主机配置时间同步
          hostPath:
            path: /usr/share/zoneinfo/PRC
        - name: redis-conf-volume     #通过configmap挂载prometheus配置
          configMap:
            name: redis-conf

vi service.yaml

apiVersion: v1
kind: Service
metadata:
  labels:
    app: redis-exporter
  name: redis-exporter
  namespace: monitor
spec:
  type: NodePort
  ports:
  - name: http
    port: 9121
    targetPort: 9121
    nodePort: 30012
  selector:
    app: redis-exporter

创建各yaml服务

kubectl apply -f configmap.yaml

kubectl apply -f deployment.yaml

kubectl apply -f service.yaml

查看redis-exporter pod是否正常运行

kubectl get pod -n monitor

### 使用 Docker 部署 Redis-Exporter 的方法 #### 方法一:通过 `docker run` 命令部署 可以使用以下命令来运行 Redis-Exporter 容器,指定所需的参数以连接到目标 Redis 实例[^2]。 ```bash docker run -d \ --name redis_exporter \ -p 9121:9121 \ quay.io/oliver006/redis_exporter:v1.55.0-alpine \ --redis.addr=redis://<REDIS_HOST>:<REDIS_PORT> \ --redis.password="<REDIS_PASSWORD>" ``` 在此命令中: - `-p 9121:9121` 将容器内的端口映射到主机的 9121 端口。 - `--redis.addr` 参数指定了 Redis 实例的地址和端口号。 - `--redis.password` 是可选参数,用于提供访问 Redis 所需的密码。 如果不需要密码认证,则可以直接省略 `--redis.password` 参数。 --- #### 方法二:通过 `docker-compose.yml` 文件部署 可以通过编写 `docker-compose.yml` 文件实现更灵活的配置。以下是基于官方文档的一个典型示例[^3]: ```yaml version: '3' services: redis_exporter: image: quay.io/oliver006/redis_exporter:v1.55.0-alpine container_name: redis_exporter hostname: redis_exporter_04 restart: always environment: - REDIS_PASSWORD_FILE=/pwd/pwd-file.json - REDIS_ADDR=redis://<REDIS_HOST>:<REDIS_PORT> volumes: - ./pwd/pwd-file.json:/pwd/pwd-file.json ports: - "9121:9121" ``` 在这个配置文件中: - `image` 字段定义了使用的镜像版本。 - `environment` 中设置了环境变量 `REDIS_PASSWORD_FILE` 和 `REDIS_ADDR` 来替代命令行参数。 - `volumes` 提供了一个挂载路径,允许将本地 JSON 密码文件传递给容器- `ports` 映射了容器内部的 9121 端口至宿主机上的相同端口。 执行以下命令即可启动服务: ```bash docker-compose up -d ``` --- #### 方法三:简化版 `docker-compose.yml` 配置 对于简单的场景,也可以采用如下精简配置[^4]: ```yaml version: '3.1' services: redis-exporter: image: bitnami/redis-exporter:latest container_name: redis-exporter ports: - 9121:9121 environment: TZ: Asia/Shanghai command: - '--redis.addr=redis://<REDIS_HOST>:<REDIS_PORT>' labels: org.label-schema.group: "master" restart: always ``` 此配置的特点在于: - 使用 Bitnami 提供的镜像作为基础。 - 设置了时区为亚洲上海时间 (`TZ`)- 通过 `command` 覆盖默认启动命令并传入自定义参数。 同样地,保存上述内容为 `docker-compose.yml` 并运行以下命令完成部署: ```bash docker-compose up -d ``` --- ### 总结 以上三种方式均能成功部署 Redis-Exporter,具体选择取决于实际需求和个人偏好。推荐优先考虑 **方法二** 或 **方法三**,因为它们利用了 `docker-compose` 工具的优势,在管理复杂的服务组合时更加高效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值