搭建redis6节点集群文档:
问题:
Kubernetes 重启服务经常会变更ip,节点变更ip后,redis可能发现不了集群节点ip
搭建文档中虽然在yaml文件添加了redis启动时要使用自己的ip,如下:

command:                                  #定义容器的启动命令和参数
          - "redis-server"
        args:
          - "/etc/redis/redis.conf"
          - "--cluster-announce-ip"                              #这个参数和下面的这个参数
          - "$(POD_IP)"                                                  #这个参数是为了解决pod重启ip变了之后,redis集群状态无法自动同步问题
        env:
        - name: POD_IP                                                   #POD_IP值引用自status.podIP
          valueFrom:
            fieldRef:
              fieldPath: status.podIP

但是只能适合至少有一个节点是正常的情况下,比如6个节点,有一个是正常的。

那如果出现6个节点都不好用的情况呢,如下:

127.0.0.1:6379> CLUSTER NODES
3910973a2e5db29fa48935b31278da715796524d 10.0.2.195:6379@16379 slave,fail? b7100bc8d40431761c2335969040145b1f5c5765 1718687954215 1718687951247 2 connected
58d7e37bd4a60293ec222321df79fe99db1b4d61 10.0.9.27:6379@16379 myself,master - 0 1718687951247 1 connected 0-5460
53eb07d167a254f255e4dd556516d5a9cc16e54e 10.0.11.25:6379@16379 slave,fail? 58d7e37bd4a60293ec222321df79fe99db1b4d61 1718687956220 1718687951247 1 connected
a58c48ff92578d66cd3a45b7323e7f8345e58a9a 10.0.14.93:6379@16379 slave,fail? af21d62f9b3984b8bf3deb9168cc8e3bae394dc6 1718687957222 1718687951247 7 connected
b7100bc8d40431761c2335969040145b1f5c5765 10.0.6.117:6379@16379 master,fail? - 1718687953207 1718687951247 2 connected 5461-10922
af21d62f9b3984b8bf3deb9168cc8e3bae394dc6 10.0.9.18:6379@16379 master,fail? - 1718687952205 1718687951247 7 connected 10923-16383

各个节点之间相互连接失败。

解决:
你可以使用redis-cli的cluster meet命令来让节点重新加入集群。例如:

redis-cli -p 6379 cluster meet <new_ip> <port>

这里<new_ip>是新节点的IP地址,是节点的端口。

如:

进入redis-sts-0 shell操作:

redis-cli -p 6379 -a 'IqMTrvN' cluster meet 10.0.2.195 6379

10.0.2.195 是要把那个节点加入到集群,这里是redis-sts-1的ip,以此类推,把剩余4个节点都加进来即可

再次看下redis集群节点情况,没有连接失败的情况,并且数据都在:

127.0.0.1:6379> CLUSTER NODES
3910973a2e5db29fa48935b31278da715796524d 10.0.2.196:6379@16379 slave b7100bc8d40431761c2335969040145b1f5c5765 0 1718688700254 2 connected
58d7e37bd4a60293ec222321df79fe99db1b4d61 10.0.9.27:6379@16379 myself,master - 0 1718688700000 1 connected 0-5460
53eb07d167a254f255e4dd556516d5a9cc16e54e 10.0.11.26:6379@16379 slave 58d7e37bd4a60293ec222321df79fe99db1b4d61 0 1718688700000 1 connected
a58c48ff92578d66cd3a45b7323e7f8345e58a9a 10.0.14.94:6379@16379 master - 0 1718688700000 8 connected 10923-16383
b7100bc8d40431761c2335969040145b1f5c5765 10.0.6.118:6379@16379 master - 0 1718688701255 2 connected 5461-10922
af21d62f9b3984b8bf3deb9168cc8e3bae394dc6 10.0.9.28:6379@16379 slave a58c48ff92578d66cd3a45b7323e7f8345e58a9a 0 1718688699000 8 connected