我在三台机器上运行我的kubernetes集群。我创建了一个redis服务和rc,它运行一个pod创建三个复制。因此,两台机器上运行着三个容器。但是在单个节点中运行的redis slave无法连接到在另一个节点中运行的master。
node1 - >主人和奴隶1 node2 - > slave2
奴隶2只是这样抱怨:
无法在192.168.0.4:6379连接到Redis:连接被拒绝了 连接到主站失败。等待...
错误:由同行重置连接
无法连接到Redis 192.168.0.4:6379:连接被拒绝了 连接到主站失败。等待...
错误:由同行重置连接
无法连接到Redis 192.168.0.4:6379:连接被拒绝了 连接到主站失败。等待...
......(很多人......)
而另一个slave(slave1)在运行主服务器的节点中运行良好。
所以我不知道是什么问题。
为什么slave2尝试连接到这个ip'192.168.0.4'而不是127.0.0.1(据说pod中的容器使用相同的ip。)。
顺便说一句,容器中是否有自己的ip,以便它们可以相互通信并彼此分开。
答案 0 :(得分:0)
哦,我知道了。在pod中运行的容器不能分成不同的节点。
答案 1 :(得分:0)
您需要使用列出所有Redis节点(主服务器)的服务通过该服务连接到它们。您不能只使用IP,因为如果节点关闭并且pod在另一个节点上重新启动,则IP可能会发生变化。
此外,127.0.0.1是localhost,并且仅适用于同一pod中的容器。 (pod链接容器,并在节点上运行。在多个节点上部署/复制pod。)