在kubernetes中创建redis pods时,redis从服务器能够使用上述地址连接到主服务器,但是在redis-master中,从节点的地址是错误的,始终是一个地址10.44.0.0,因此哨兵无法进行故障转移。有什么办法解决吗?
发布于 2022-04-11 15:42:30
Replica公司正在宣布其内部的吊舱网络IP,这是其他豆荚(如主荚)无法访问的。您需要使用“可达”的ips在redis.conf中配置这两个参数。
sentinel announce-ip <ip>
sentinel announce-port <port>当您在kubernetes中时,您不知道您的副本将使用哪个ip/端口,因此您可以使用status.podIP变量并使用环境变量传递它。您可以看到一个示例在k8s文档中
这可能是解决你问题的草稿。
containers:
- name: redis
image: redis
env:
- name: REPLICA_ANNOUNCE_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
command:
- redis-server
args:
- --replica-announce-ip $(REPLICA_ANNOUNCE_IP)还有其他选项,例如我们公开副本,以获得固定的ip clusterIP服务。但IMHO,这更简单。
更多信息请访问红色哨兵文件
https://stackoverflow.com/questions/71828549
复制相似问题