【问题标题】:i/o timeout error using progrium/docker-consul使用 progrium/docker-consul 的 i/o 超时错误
【发布时间】:2015-06-19 20:44:10
【问题描述】:

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

我已经按照Running a real consul cluster in production 的说明进行操作,但是当我的consul2consul3 节点尝试-join consul1 私有IP 时,我收到了i/o timeout 错误。

实例

我在 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



知道是什么原因造成的吗?我已经重新尝试了大约九次,但仍然没有运气。它确实促使我对网络做更多的学习(这是一个广泛、深入、引人入胜的主题),但我不知道我的配置中是否存在问题,或者这是否是一个实际的错误。

提前感谢您的帮助。

【问题讨论】:

    标签: amazon-web-services docker consul


    【解决方案1】:

    问题解决了!

    原来我忘记在管理实例访问的安全组中打开Consul 需要使用的端口。

    打开了8300,8301,8302,8400, 和8500,都安装好了。

    【讨论】:

    • 另一种设置(recommended)是使用 docker 主机网络(--net=host);这样你就不需要做 docker 容器端口映射,它应该移动得更快。当然,您仍然需要防火墙来打开端口。
    猜你喜欢
    • 2018-06-11
    • 2023-04-06
    • 2015-05-11
    • 2021-09-11
    • 1970-01-01
    • 1970-01-01
    • 2014-10-26
    • 2014-08-30
    • 2013-01-30
    相关资源
    最近更新 更多