使用progrium / docker-consul的i / o超时错误

时间:2015-06-19 20:44:10

标签: amazon-web-services docker consul

我尝试在AWS上设置生产就绪群集,该群集使用Jeff Lindsay's progrium/docker-consul图片在每台主机上安装Consul但无法获得二级和三级服务器到-join初始服务器。

我已按照Running a real consul cluster in production说明操作,但当i/o timeoutconsul2个节点尝试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



有什么可能导致这种情况的想法?我重新尝试过九次但仍然没有运气。它确实促使我更多地学习网络(这是一个广泛,深入,引人入胜的主题),但我无法弄清楚我的配置中是否存在问题,或者这是否是一个真正的错误

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:4)

解决了问题!

事实证明,我忘记打开Consul需要在管理实例访问权限的安全组中使用的端口。

已打开83008301830284008500,所有安装都很好。