Docker 在Kubernetes上设置Redis群集时ip错误”;正在等待群集加入…”;
我正试图在azure上用kubernetes构建一个redis集群。当运行不同的样本时,我面临着完全相同的问题:或者 在我尝试使用Docker 在Kubernetes上设置Redis群集时ip错误”;正在等待群集加入…”;,docker,redis,kubernetes,redis-cluster,Docker,Redis,Kubernetes,Redis Cluster,我正试图在azure上用kubernetes构建一个redis集群。当运行不同的样本时,我面临着完全相同的问题:或者 在我尝试使用redis-trib命令让不同的节点加入集群之前,一切都进展顺利。 那时,我面临着臭名昭著的无限期“等待集群加入…”“消息 为了查看发生了什么,我将redis吊舱的日志级别设置为debug级别。然后我注意到,在一起通信时,POD似乎并没有宣布它们的正确ip。 事实上,ip的最后一个字节似乎被零所取代。假设pod1的ip地址为10.1.34。9,我将在pod2日志中看到
redis-trib
命令让不同的节点加入集群之前,一切都进展顺利。
那时,我面临着臭名昭著的无限期“等待集群加入…”“消息
为了查看发生了什么,我将redis吊舱的日志级别设置为debug
级别。然后我注意到,在一起通信时,POD似乎并没有宣布它们的正确ip。
事实上,ip的最后一个字节似乎被零所取代。假设pod1的ip地址为10.1.34。9,我将在pod2日志中看到:
已接受的clusternode 10.1.34.0:someport
因此,POD似乎无法进行通信,加入集群的过程永远不会结束
现在,如果在运行redis trib之前,我通过在每个pod上运行来强制实施集群公告ip:
redis-cli -h mypod-ip config set cluster-announce-ip mypod-ip
然后redis trib命令成功完成,集群启动并运行
但这不是一个可行的解决方案,因为如果一个pod掉下来又回来了,它可能已经改变了ip,当它尝试加入集群时,我将面临同样的问题
请注意,使用minikube运行示例时,我没有遇到任何问题
我在用法兰绒做kubernetes的网络。问题是否可能来自法兰绒的不正确配置?有人遇到过同样的问题吗?您可以使用它来部署副本,因此您的pod将始终具有唯一的名称
此外,您将能够使用服务
DNS名称作为主机。看这个官方文件
您共享的第二个示例还有另一部分。试试看。我已经试过statefulset示例了。这没有任何区别,因为redis集群的内部机制是关于IP,而不是名称。