我創建了一個碼頭管理器。創建一個服務並在同一臺服務器上擴展爲5個實例。Docker swarm - 添加新工人 - 重新縮放服務
我加了兩個工人。現在,我如何在3個節點上重新分配5個應用程序實例?
從一開始就有沒有做任何事情的選擇嗎?
docker service scale id=5
做到了。這是正確的方式嗎?我不想重新啓動已有的實例。它重新啓動在節點1
docker service update servicename
我通過docker swarm leave
從集羣中刪除一個節點。我更新了服務。我的所有實例都在其餘節點中複製。
很高興,Update按預期工作。但是,還有另一個轉折點。
我添加了節點。然後我更新了服務。現在,我的所有實例都像之前的情況一樣運行。它不使用新節點。
它是如何工作的?
感謝您的意見。請參閱編輯的問題。 –
最終說明,您指的是當前狀態和目標狀態?它與圖像或服務有關嗎? '它不會過早地殺死正在運行的容器,然後在新節點上重新安排,直到你執行上面的更新命令,這意味着如果我運行'--force update',它會殺死正在運行的容器並重新安排以確保HA。我對嗎? –
強制更新將執行服務的滾動更新,重新啓動容器並重新平衡它們。當前狀態是現在正在運行的任何東西,目標狀態是服務中的定義。 – BMitch