领事成员失败

Consul members fail

我正在尝试完成本教程 --> tutorialConsul

当我运行:

   ikerlan@ikerlan-docker:~$ consul members

 Node            Address           Status  Type    Build  Protocol
  ikerlan-docker  172.16.8.37:8301  alive   client  0.3.0  2
  172.16.8.191    10.0.2.15:8301    alive   server  0.3.0  2
  172.16.8.192    10.0.2.15:8301    alive   server  0.3.0  2
  172.16.8.193    10.0.2.15:8301    alive   server  0.3.0  2

ikerlan@ikerlan-docker:~$ consul members

 Node            Address           Status  Type    Build  Protocol
    ikerlan-docker  172.16.8.37:8301  alive   client  0.3.0  2
    172.16.8.191    10.0.2.15:8301    failed  server  0.3.0  2
    172.16.8.192    10.0.2.15:8301    alive   server  0.3.0  2
    172.16.8.193    10.0.2.15:8301    failed  server  0.3.0  2

ikerlan@ikerlan-docker:~$ consul members

    Node            Address           Status  Type    Build  Protocol
    ikerlan-docker  172.16.8.37:8301  alive   client  0.3.0  2
    172.16.8.191    10.0.2.15:8301    failed  server  0.3.0  2
    172.16.8.192    10.0.2.15:8301    alive   server  0.3.0  2
    172.16.8.193    10.0.2.15:8301    alive   server  0.3.0  2

我可以看到成员还活着,但是如果我再次 运行 一些成员失败了,然后其他成员还活着并且失败了..

我认为领导者删除了成员,所以他们失败了,他们尝试连接但随后被删除。

我正在使用 virtualbox 机器,我看到 consul 使用相同地址的所有机器,但我已将 consul 配置为使用 eth1 接口,该接口是节点(名称)中出现的 IP

会是什么?

非常感谢。

两个不同的节点不能有相同的地址。这会使 Consul 感到困惑,因为 Consul 将使用此地址连接到节点。

使用bind_addr配置选项来确保consul在每台机器上使用正确的接口和IP地址consul不会自动选择正确的地址。 By default Consul picks the "first" private address it finds 这可能不适用于您的设置。

您 运行 的版本似乎很旧 (0.3.0)。当前版本为 0.6.0。