4

我是领事的新手,目前正在试验它。我根据这篇文章设置集群:https ://www.digitalocean.com/community/tutorials/an-introduction-to-using-consul-a-service-discovery-system-on-ubuntu-14-04 all代理处于“服务器”模式。然而,这个集群相当不稳定。当我在服务器上输入“exec consul members”命令时,我总是可以看到许多其他服务器处于“失败”状态(有时它们会恢复但很快又会再次失败)。我猜可能在编写配置文件时有一些技巧。

我使用 AWS EC2 实例来运行这些领事代理。

谢谢!约里克

4

1 回答 1

5

检查“失败”实例之一的领事代理日志。如果有类似[WARN] memberlist: Refuting a suspect messageor的重复条目[WARN] memberlist: Refuting a dead message,则表示:

  • 您的代理人能够与领事服务器通信,并自行注册;
  • 您的领事服务器无法与代理进行通信

您需要确保您的安全组允许所有端口上的代理和服务器之间的流量,如下所述:https ://www.consul.io/docs/agent/options.html#ports 。

作为参考,这是我的安全组的样子。你会注意到,领事代理被允许与领事服务器对话,领事服务器被允许在所有UDP和TCP端口上与领事代理进行对话(这太过分了,我计划将其限制为仅需要的端口)领事)。

领事代理人 领事服务器

您还需要确保使用内部 EC2 IP 地址在服务器和客户端之间进行通信。您不希望您的gossip流量传到 EC2 区域的边缘并返回,如果您使用公共 IP 地址会发生这种情况。

希望这可以帮助。

于 2015-07-15T23:16:25.683 回答