Docker Swarm

Docker Swarm容器管理 規畫部署一次傾囊相授

2018-06-04
目前主要的容器管理技術是以Docker為主流,其中Google Kubernetes雖是最盛行的容器調度平台,但另一方面,Docker Swarm卻占有Docker原生與組態設定較為簡單的優勢,所以也受到不少使用者的支持。本文將介紹Docker Swarm容器調度管理平台的特色,並實際示範如何部署及設定。

首先,在Docker Swarm叢集運作架構中,因為擔任Manager角色的Docker Swarm節點主機,主要是透過Raft一致性演算法來管理Docker Swarm叢集運作狀態。因此,當新增的Docker Swarm節點主機加入Docker Swarm叢集,或是有Docker Swarm節點主機退出Docker Swarm叢集時,所有擔任Manager角色的Docker Swarm節點主機,便需要執行同步、確認、更新、複寫等等Docker Swarm叢集運作狀態的工作任務。

但是,當擔任Manager角色的Docker Swarm節點主機數量「過少」時,有可能因為Manager主機故障損壞,進而導致Docker Swarm叢集崩潰;反之,若Manager角色Docker Swarm節點主機數量「過多」,則會因為叢集維運工作任務的往返網路流量過大,導致同步和更新狀態的寫入效能降低。


簡單來說,在Docker官方的最佳建議做法當中,擔任Manager角色的Docker Swarm節點主機數量應為「奇數」,最主要是考量Docker Swarm叢集中的「仲裁」(Quorum)及「容錯」(Fault Tolerance)機制。

因此,整個Docker Swarm叢集的最佳建議做法中,最小規模應建置「3台」擔任Manager角色的Docker Swarm節點主機,此時可容許「1台」Manager角色主機發生故障損壞事件,並且不影響Docker Swarm叢集的運作,如圖4所示。


▲圖4 Docker Swarm叢集Manager角色節點主機數量建議表。(圖片來源:Docker Documentation - Administer and maintain a swarm of Docker Engines)

同理,倘若在Docker Swarm叢集中建置「5台」擔任Manager角色的Docker Swarm節點主機,將能容許「2台」Manager角色主機發生故障且不影響Docker Swarm叢集的運作。


實戰Docker Swarm on Windows

在本文實作環境中,將準備「3台」Windows Server 2016主機,先下載和安裝Docker容器環境,再建置Docker Swarm叢集環境,而這3台Windows Server 2016 Docker主機,將會「同時擔任」Docker Swarm叢集環境中的Manager和Worker角色,這3台主機的基礎設定資訊如表1所示。

表1 3台主機的基礎設定資訊

Windows Server 2016安裝Docker環境

管理人員只要透過OneGet Provider機制,即可輕鬆安裝PowerShell中的Docker模組,順利讓Windows Server 2016主機運作Docker容器環境。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!