有关我的环境的一些背景:
我有在3个ubuntu 14.04流浪者盒子上运行的docker swarm。群主机在一台机器(带有领事)上运行,其他两台机器正在运行与该主机相连的群 worker 。我在文档页面https://docs.docker.com/swarm/install-manual/下设置环境。它工作正常,因此从我的主计算机运行的任何docker -H :4000 <some_docker_command>
都可以正常工作。当我在两个 worker 上运行 gliderlabs / registrator 容器时,服务发现处于 Activity 状态。
问题:
我的集群发生的任何更改(例如节点或容器故障以及通过swarm重新调度容器(使用标记-e "reschedule:on-node-failure"
创建的)重新安排容器的过程)的发生时间都在30到45秒左右。相比之下,当我在CoreOS系统上运行Fleet和etcd时,容器重新调度和节点故障的通知通常在5秒钟内发生。有什么方法可以更改领事和docker swarm中的某些设置,以将所有内容加速到类似于我在CoreOS上使用车队和etcd所经历的水平?如果是这样,我该怎么办?
tldr:我正在使用consul运行群集,重新安排容器的时间,并且对docker -H :4000 ps
输出的更改直到节点关闭后大约30-45秒才发生。如何缩短该时间段?
最佳答案
您可以尝试将TTL和retries设置为较低的值,以使群集管理器对故障采取更快的行动。
例如:
docker run swarm manage --engine-failure-retry=1 consul:x.y.z.a:8500
https://stackoverflow.com/questions/37556522/
相关文章:
visual-studio - 适用于Windows Beta的Docker +适用于Visual
docker - Ansible如何将本地镜像推送到私有(private)注册表
docker - 装入命名卷时,在什么条件下从容器复制数据?
elasticsearch - cadvisor, elasticsearch, docker :
jenkins - 使用 Cloudbees Docker 构建和发布插件时从 Jenkins 奴隶
docker - 当我尝试连接到 docker 镜像时,主机没有运行