我正在尝试做这个教程 - > 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
我可以看到成员活着,但如果我再次跑步,其中一些成员失败了,然后其他人活着并失败了..
我认为是领导者,删除成员以便他们失败,然后他们尝试连接但是他们会被删除。
我正在使用虚拟机机器,我看到consul占用了所有具有相同地址的机器,但是我已经配置consul使用eth1接口,即Node(名称)中出现的IP
它可能是什么?
非常感谢。
答案 0 :(得分:2)
两个不同的节点不能具有相同的地址。这将使Consul感到困惑,因为Consul将使用此地址连接到节点。
使用bind_addr
配置选项确保consul在每台计算机上使用正确的接口和IP地址,并且不会自动选择正确的地址。 By default Consul picks the "first" private address it finds这可能不适用于您的设置。
您正在运行的版本似乎很老(0.3.0)。目前的版本是0.6.0。