docker swarm介紹
阿新 • • 發佈:2021-10-28
1. docker swarm介紹
- Swarm是Docker公司自研發的容器叢集管理系統,Swarm在早期是作為一個獨立服務存在,在Docker Engine v1.12中集成了Swarm的叢集管理和編排功能。可以通過初始化Swarm或加入現有Swarm來啟用Docker引擎的Swarm模式。
- Docker Engine CLI和API包括了管理Swarm節點命令,比如新增、刪除節點,以及在Swarm中部署和編排服務。
- 也增加了服務棧(Stack)、服務(Service)、任務(Task)概念。
2. docker swarm架構圖講解
- Manager:接收客戶端服務定義,將任務傳送到worker節點;維護叢集期望狀態和叢集管理功能及Leader選舉。預設情況下manager節點也會執行任務,也可以配置只做管理任務。
- Worker:接收並執行從管理節點分配的任務,並報告任務當前狀態,以便管理節點維護每個服務期望狀態。
3. docker swarm特點介紹
-
Docker Engine整合叢集管理
使用Docker Engine CLI 建立一個Docker Engine的Swarm模式,在叢集中部署應用程式服務。
-
去中心化設計
Swarm角色分為Manager和Worker節點,Manager節點故障不影響應用使用。 -
擴容縮容
可以宣告每個服務執行的容器數量,通過新增或刪除容器數自動調整期望的狀態。 -
期望狀態協調
Swarm Manager節點不斷監視叢集狀態,並調整當前狀態與期望狀態之間的差異。 -
多主機網路
可以為服務指定overlay網路。當初始化或更新應用程式時,Swarm manager會自動為overlay網路上的容器分配IP地址。 -
服務發現
Swarm manager節點為叢集中的每個服務分配唯一的DNS記錄和負載均衡VIP。可以通過Swarm內建的DNS伺服器查詢叢集中每個執行的容器。 -
負載均衡
實現服務副本負載均衡,提供入口訪問。 -
安全傳輸
Swarm中的每個節點使用TLS相互驗證和加密,確保安全的其他節點通訊。 -
滾動更新
升級時,逐步將應用服務更新到節點,如果出現問題,可以將任務回滾到先前版本。