[英]i/o timeout error using progrium/docker-consul
我试图建立在AWS上使用生产就绪的集群杰夫·林赛的 progrium/docker-consul
映像安装Consul
每台主机上,但不能得到二级和三级服务器-join
初始服务器。
我跟着跑在生产实际领事群指示,但我发现了一个i/o timeout
错误,当我consul2
和consul3
节点试图-join
的consul1
私有IP。
实例
我在AWS上启动了三个t2.micros
,并在我的VPC中分配了以下私有IP:
172.31.4.194 (Intended to be `consul1`, leader)
172.31.4.195 (Intended to be `consul2`)
172.31.4.193 (Intended to be `consul3`)
启动初始Consul服务器实例
我的consul1
节点启动并等待其他两个就好了:
sudo docker run -d -h consul1 --name consul1 -v /mnt:/data \
-p 172.31.4.194:8300:8300 \
-p 172.31.4.194:8301:8301 \
-p 172.31.4.194:8301:8301/udp \
-p 172.31.4.194:8302:8302 \
-p 172.31.4.194:8302:8302/udp \
-p 172.31.4.194:8400:8400 \
-p 172.31.4.194:8500:8500 \
-p 172.17.42.1:53:53/udp \
progrium/consul -server -advertise 172.31.4.194-bootstrap-expect 3
尝试run
第二个服务器实例
但是,当我尝试启动consul2
节点时,请使用以下命令:
sudo docker run -d -h consul2 --name consul2 -v /mnt:/data \
-p 172.31.4.195:8300:8300 \
-p 172.31.4.195:8301:8301 \
-p 172.31.4.195:8301:8301/udp \
-p 172.31.4.195:8302:8302 \
-p 172.31.4.195:8302:8302/udp \
-p 172.31.4.195:8400:8400 \
-p 172.31.4.195:8500:8500 \
-p 172.17.42.1:53:53/udp \
progrium/consul -server -advertise 172.31.4.195 -join 172.31.4.194
错误
这是我得到的错误:
==> WARNING: It is highly recommended to set GOMAXPROCS higher than 1
==> Starting raft data migration...
==> Starting Consul agent...
==> Starting Consul agent RPC...
==> Joining cluster...
==> dial tcp 172.31.4.194:8301: i/o timeout
知道是什么原因造成的吗? 我已经尝试了九次,但仍然没有运气。 它的确激发了我对网络的更多了解(这是一个广泛,深入,有趣的主题),但我不知道配置中是否存在问题,或者这是否是实际的错误。
在此先感谢您的帮助。
问题解决了!
原来,我忘记了打开Consul
需要在管理对实例的访问的安全组中使用的端口。
开辟了8300
, 8301
, 8302
, 8400
,以及8500
和所有已安装就好了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.