领事代理加入 - i/o 超时
consul agent join - i/o timeout
我在 AWS 中创建了 3 个 Consul 服务器。它们是使用 Terraform 创建的,并作为集群的一部分加入。
作为该 Terraform 的一部分创建了一个安全组,它允许在 8300、8301、8302、8400、8500 上入站 TCP/UDP。
我已经在新的 Ubuntu 16.04 实例上安装了领事代理。
我收集了其中一台 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
我看不出这里缺少什么阻止客户端加入。
问题中的数据不足。你收集的私有IP是什么意思,是子网分配的服务器私有IP,还是你列出的IP实际上是来自consul本身的"TaggedAddresses",如果你不是运行 主机网络上的领事。很明显,您也需要共享一些您的 consul 服务器配置。
其次,如果只是服务器的私有IP,请确保NACL或临时端口没有问题。您将从亚马逊的官方文档中找到有关以下 link 的更多信息:
http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html#VPC_ACLs_Ephemeral_Ports
我在 AWS 中创建了 3 个 Consul 服务器。它们是使用 Terraform 创建的,并作为集群的一部分加入。
作为该 Terraform 的一部分创建了一个安全组,它允许在 8300、8301、8302、8400、8500 上入站 TCP/UDP。
我已经在新的 Ubuntu 16.04 实例上安装了领事代理。
我收集了其中一台 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
我看不出这里缺少什么阻止客户端加入。
问题中的数据不足。你收集的私有IP是什么意思,是子网分配的服务器私有IP,还是你列出的IP实际上是来自consul本身的"TaggedAddresses",如果你不是运行 主机网络上的领事。很明显,您也需要共享一些您的 consul 服务器配置。
其次,如果只是服务器的私有IP,请确保NACL或临时端口没有问题。您将从亚马逊的官方文档中找到有关以下 link 的更多信息:
http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html#VPC_ACLs_Ephemeral_Ports