【发布时间】:2016-05-31 22:15:42
【问题描述】:
关于我的环境的一些背景:
我在 3 个 ubuntu 14.04 vagrant box 上运行了 docker swarm。 swarm master 运行在 1 台机器上(带有 consul),另外 2 台机器正在运行加入 master 的 swarm worker。我按照文档页面https://docs.docker.com/swarm/install-manual/ 设置了环境。它工作正常,因此从我的主机运行的任何docker -H :4000 <some_docker_command> 都可以正常工作。当我在两个工作人员上运行 gliderlabs/registrator 容器时,服务发现处于活动状态。
问题:
集群的任何更改,例如节点或容器故障以及由 swarm 重新调度容器(使用标签 -e "reschedule:on-node-failure" 创建)的过程都会在大约 30 到 45 秒内发生。相比之下,当我在 CoreOS 系统上运行fleet 和 etcd 时,容器重新调度和节点故障通知通常发生在大约 5 秒内。有什么方法可以更改 consul 和 docker swarm 中的一些设置,以将一切加速到类似于我在 CoreOS 上使用舰队和 etcd 所经历的水平?如果是这样,我需要做什么?
tldr: 我正在使用 consul 运行 swarm,容器重新调度和更改docker -H :4000 ps 的输出直到节点关闭后大约 30 到 45 秒才会发生。如何缩短此时间段?
【问题讨论】:
标签: docker consul docker-swarm