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
将容器设置为特权模式:

2. 测试
主从都开启 NodePort 访问

测试主库的写入操作会自动同步到从库。
主库连接: 192.168.168.207:32621,
从库连接: 192.168.168.207:32125,

3. 行业包上使用
查看redis 主服务相关信息:

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

重启对应的行业包后端服务, 查看启动日志,看是否连接上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

4. 行业包上使用
查看redis 哨兵相关信息:

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

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 机器心跳失败的处理:
删掉原来的心跳检测, 然后手工加入:

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 访问

测试主库的写入操作会自动同步到从库。
主库连接: 192.168.168.207:30804,
从库连接: 192.168.168.207:31863,

3. 行业包上使用
查看redis 主服务相关信息:

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

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