2016-05-31 62 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

相關問題