1. 程式人生 > 其它 >docker swarm 節點容器頻繁up down

docker swarm 節點容器頻繁up down

現象:

docker swarm叢集中節點的上的容器不斷的up down
檢視日誌,如下:

Feb 26 11:43:16 sz-drip dockerd[5065]: time="2020-02-26T11:43:16.124650220+08:00" level=error msg="heartbeat to manager { } failed" error="rpc error: code = NotFound desc = node not register
Feb 26 11:43:16 sz-drip dockerd[5065]: time="2020-02-26T11:43:16.124764380+08:00" level=error msg="agent: session failed" backoff=100ms error="node not registered" module=node/agent node.id=
Feb 26 11:43:16 sz-drip dockerd[5065]: time="2020-02-26T11:43:16.124803737+08:00" level=info msg="manager selected by agent for new session: { }" module=node/agent node.id=a5drrk7eo59x4m6itl
Feb 26 11:43:16 sz-drip dockerd[5065]: time="2020-02-26T11:43:16.124835689+08:00" level=info msg="waiting 47.652971ms before registering session" module=node/agent node.id=a5drrk7eo59x4m6itl
Feb 26 11:43:16 sz-drip dockerd[5065]: time="2020-02-26T11:43:16.278198549+08:00" level=info msg="worker a5drrk7eo59x4m6itlbsf28pq was successfully registered" method="(*Dispatcher).register

原因:

docker swarm 節點間通訊預設超時時間為 5s,在虛擬化環境下或者網路不太好的情況下有時候會超時,導致節點重啟。

方案:

調高swarm心跳檢測時間。

docker swarm update --dispatcher-heartbeat 60s  #設定docker swarm的心跳檢測時間為1分鐘,在manages節點執行