Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker 在Kubernetes上设置Redis群集时ip错误”;正在等待群集加入…”;_Docker_Redis_Kubernetes_Redis Cluster - Fatal编程技术网

Docker 在Kubernetes上设置Redis群集时ip错误”;正在等待群集加入…”;

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日志中看到

我正试图在azure上用kubernetes构建一个redis集群。当运行不同的样本时,我面临着完全相同的问题:或者

在我尝试使用
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,而不是名称。