领事馆成员失败



我正在尝试做这个教程-->教程Consul

当我运行时:

   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接口,即出现在Node(name)中的IP

可能是什么?

非常感谢。

两个不同的节点不能具有相同的地址。这将混淆Consul,因为Consul将使用此地址连接到节点。

使用bind_addr配置选项可确保consul使用正确的接口,并且每台机器上的IP地址consul不会自动选择正确的地址。默认情况下,Consul会选择它找到的"第一个"私人地址,这可能在您的设置中不起作用。

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

最新更新