我在AWS中创建了3个Consul服务器。它们是使用Terraform创建的,并作为群集的一部分加入。
有一个安全组作为该Terraform的一部分创建,允许在8300,8301,8302,8400,8500上进行入站TCP / UDP。
我在新的Ubuntu 16.04实例上安装了consul代理。
我收集其中一个Consul服务器的私有IP,并尝试从客户端加入它:
consul agent -join 172.1.1.1:8301 -data-dir /tmp/consul
结果:
==> Starting Consul agent...
==> Joining cluster...
==> 1 error(s) occurred:
* Failed to join 172.1.1.1: dial tcp 172.1.1.1:8301: i/o timeout
我无法看到这里缺少什么阻止客户加入。
答案 0 :(得分:0)
问题中的数据不足。你是什么意思收集了私有IP,它是由子网分配的服务器私有IP,还是你列出的IP实际上是来自consul本身的“TaggedAddresses”,如果你没有在主机网络上运行consul就会创建它。很明显,您也需要共享一些领事服务器配置。
其次,如果只是服务器的私有IP,请确保NACL或临时端口没有问题。您可以在以下链接中找到有关amazon官方文档的更多信息:
http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html#VPC_ACLs_Ephemeral_Ports