戴志强1
Published on 2025-08-12 / 33 Visits
0
0

redis 部署升级

redis 8.0 一主多从

1. helm安装redis 一主多从集群

编辑 cn_images.yml 内容, 填写镜像仓库IP, cat cn_images.yml:

global:
  defaultStorageClass: nfs-client
  redis:
    password: "Dme123456"

password: Dme123456
auth:
  enabled: true
  password: Dme123456


replica:
  replicaCount: 2

创建集群

helm install redis-8-master-2slaver redis-21.2.6.tgz  -f cn_images.yml   -n  common

将容器设置为特权模式:

image-pGrl.png

2. 测试

主从都开启 NodePort 访问

image-JUyi.png

测试主库的写入操作会自动同步到从库。

主库连接: 192.168.168.207:32621,

从库连接: 192.168.168.207:32125,

image-uUrA.png

3. 行业包上使用

查看redis 主服务相关信息:

image-cMJv.png

编辑 biz-conf 内的 common.yml 文件, 变更 redis 连接信息:

image-sSzd.png

重启对应的行业包后端服务, 查看启动日志,看是否连接上redis.

redis 8.0 哨兵升级

1. 导入相关的镜像

docker load -i redis_8.0.2-debian-12-r4.tar
docker load -i redis-sentinel_8.0.2-debian-12-r2.tar

2. helm安装哨兵

编辑 sentinel_cn_images内容, cat sentinel_cn_images.yml:

global:
  defaultStorageClass: nfs-client
  redis:
    password: Dme123456

architecture: replication

master:
  persistence:
    enabled: false

replica:
  persistence:
    enabled: false

password: Dme123456

auth:
  enabled: true
  password: Dme123456

redis:
  securityContext:
    capabilities:
      add:
        - SYS_ADMIN
        - IPC_LOCK
        - NET_BIND_SERVICE
      drop:
        - ALL
    privileged: true
    seLinuxOptions: {}
    runAsUser: 0
    runAsGroup: 0
    runAsNonRoot: false
    readOnlyRootFilesystem: false
    allowPrivilegeEscalation: true
    seccompProfile:
      type: RuntimeDefault

sentinel:
  enabled: true
  replicas: 3
  securityContext:
    capabilities:
      add:
        - SYS_ADMIN
        - IPC_LOCK
        - NET_BIND_SERVICE
      drop:
        - ALL
    privileged: true
    seLinuxOptions: {}
    runAsUser: 0
    runAsGroup: 0
    runAsNonRoot: false
    readOnlyRootFilesystem: false
    allowPrivilegeEscalation: true
    seccompProfile:
      type: RuntimeDefault
helm install sie-redis802-sentinel redis-21.2.6.tgz  -f sentinel_cn_images.yml   -n  common

3. 特权启动容器

设置 redis, sentinel 的 securityContext 片段, 将容器设置为特权访问.

securityContext:
            capabilities:
              drop:
                - ALL
            privileged: true
            seLinuxOptions: {}
            runAsUser: 1001
            runAsGroup: 1001
            runAsNonRoot: true
            readOnlyRootFilesystem: true
            allowPrivilegeEscalation: true
            seccompProfile:
              type: RuntimeDefault

image-fzWw.png

4. 行业包上使用

查看redis 哨兵相关信息:

image-QvQv.png

编辑 biz-conf 内的 common.yml 文件, 变更 redis 连接信息:

image-pJnk.png

redis:
    client-type: lettuce
    password: Dme123456
    database: 0
    sentinel:
      password: Dme123456   # 哨兵自身的密码
      master: mymaster  # 主节点名称,在 Redis Sentinel 配置中定义的主节点名
      nodes:
        - sie-redis802-sentinel.common:26379
    lettuce:
      pool:
        max-active: 8  # 最大活跃连接数
        max-idle: 8     # 最大空闲连接数
        min-idle: 2     # 最小空闲连接数

重启对应的行业包后端服务, 查看启动日志,看是否连接上redis哨兵.

PS:

node5 机器心跳失败的处理:

删掉原来的心跳检测, 然后手工加入:

image-ggSz.png

redis 7.0 一主多从

1. helm安装redis 一主多从集群

编辑 cn_images.yml 内容, 填写镜像仓库IP, cat cn_images.yml:

global:
  imageRegistry: <你的镜像仓库IP:5000>
  defaultStorageClass: nfs-client
  redis:
    password: "Dme123456"
usePassword: true
password: "Dme123456"

replica:
  replicaCount: 2

auth:
  enabled: true
  #enabled: false

image:
  registry: <你的镜像仓库IP:5000>
  repository: bitnami/redis
  tag: 7.0.10-debian-11-r0

sentinel:
  image:
    registry: <你的镜像仓库IP:5000>
    repository: bitnami/redis-sentinel
    tag: 7.0.10-debian-11-r0

metrics:
  image:
    registry: <你的镜像仓库IP:5000>
    repository: bitnami/redis-exporter
    tag: 1.62.0-debian-12-r2

volumePermissions:
  image:
    registry: <你的镜像仓库IP:5000>
    repository: bitnami/os-shell
    tag: 12-debian-12-r27

kubectl:
  image:
    registry: <你的镜像仓库IP:5000>
    repository: bitnami/kubectl
    tag: 1.30.3-debian-12-r4

创建集群

helm install redis-7-master-2slaver redis-19.6.4.tgz  -f cn_images.yml   -n  common

2. 测试

主从都开启 NodePort 访问

image-GfoI.png

测试主库的写入操作会自动同步到从库。

主库连接: 192.168.168.207:30804,

从库连接: 192.168.168.207:31863,

image-HOpu.png

3. 行业包上使用

查看redis 主服务相关信息:

image-fMJN.png

编辑 biz-conf 内的 common.yml 文件, 变更 redis 连接信息:

image-IGew.png

重启对应的行业包后端服务, 查看启动日志,看是否连接上redis.


Comment