2016-05-31 60 views
2

有关我的环境的一些背景:如何使用Docker Swarm和Consul启用更快的容器重新安排?

我有3 Ubuntu的14.04流浪汉机器上运行码头工人群。 swarm master正在一台机器上运行(有领事),另外两台机器正在运行swarm worker并加入到master中。我按照文档页面https://docs.docker.com/swarm/install-manual/设置了环境。它工作正常,以便从我的主机上运行的任何docker -H :4000 <some_docker_command>都能正常工作。当我在两名工人身上运行gliderlabs/registrator容器时,服务发现功能处于活动状态。

问题:

任何更改到我的簇,诸如节点或容器失效和重新安排的容器的过程中由群(其与标签-e "reschedule:on-node-failure"创建)约30内出现 - 45秒。通过比较,当我在CoreOS系统上运行车队和etcd时,容器重新调度和节点故障通知通常在约5秒内发生。有什么方法可以改变consul和docker swarm中的一些设置,以便将所有事情加速到与我在CoreOS上使用的车队和etcd相似的级别?如果是这样,我需要做什么?

tldr:我正在与领事,容器reschedualing和变化大群的docker -H :4000 ps输出不发生,直到大约30 - 一个节点出现故障后45秒。我该如何缩短这段时间?

回答

0

您可以尝试将TTL和retries设置为较低的值以使swarm管理器在故障时更快地采取行动。

例如:

docker run swarm manage --engine-failure-retry=1 consul:x.y.z.a:8500 

documentation

相关问题