为什么我在运行在不同节点但在一个容器内的容器中获得了不同的IP

我在三台机器上运行我的kubernetes集群。 我创build了一个redis服务和rc,运行一个pod创build三个重复。 所以有三个容器在两台机器上运行。 但是运行在单个节点上的redis slave却无法与在另一个节点上运行的master连接。

node1 – > master和slave1
node2 – > slave2

奴隶2只是这样抱怨:

无法连接到Redis在192.168.0.4:6379:连接被拒绝
连接到主控失败。 等候…
错误:由对等重置连接
无法连接到Redis在192.168.0.4:6379:连接被拒绝
连接到主控失败。 等候…
错误:由对等重置连接
无法连接到Redis在192.168.0.4:6379:连接被拒绝
连接到主控失败。 等候…
…(很多人…)

而另一个从机(从机1)在运行主机的节点上运行良好。 所以我不知道是什么问题。
为什么slave2试图连接到这个IP'192.168.0.4'而不是127.0.0.1(据说容器中的容器采取相同的IP)。

顺便说一下,容器在一个容器中有自己的ip,这样它们就可以相互通信并彼此分离。

哦,我知道了。 运行在容器中的容器不能分为不同的节点。

您需要使用列出所有Redis节点(主服务器)的服务通过服务连接到它们。 您不能只使用IP,因为如果节点发生故障并且吊舱在另一个节点上重新启动,则IP可能会更改。

此外,127.0.0.1是localhost,只适用于同一个容器内的容器。 (一个容器连接容器,并运行在一个节点上,在多个节点上部署/复制容器)。