1. 程式人生 > >生產環境swarm集群規劃和管理

生產環境swarm集群規劃和管理

單獨 code dock round 調度 目的 sans 創建 nod


swarm集群角色

swarm集群中有兩種角色,manager node和 worker ndoe。

manager的功能:

  • 維護集群狀態

  • 任務調度

  • 為swarm集群提供HTTP API

可以創建只有一個manager節點的swarm集群,但是swarm集群中如果一個manager節點都沒有,則不能擁有worker節點。默認情況下,所有manage都是worker



worker node的功能:

Worker節點也是Docker Engine的實例,其唯一目的是執行容器。工作節點不參與Raft分布狀態、做出調度決策或提供群模式HTTP API。


manager和worker角色轉換

將manager轉換成worker

docker node demote node_name


將worker轉換成manager

docker node promote node_name


高可用性High Availability(HA)

所有生產環境必須是高可用的,下面就討論一些技術和最佳實踐以保證彈性的高可用的swarm集群環境

1、swarm manager HA

生產環境中至少要有三臺swarm manager,這樣,當其中一個manager掛掉時,其他manager會頂替成為manager。

  • 一個三個manager節點的集群,允許最多掛掉一個manager

  • 一個五個manager節點的集群,允許最多掛掉2個manager

  • 一個N個manager節點的集群,允許最多掛掉 (N-1)/2

    個managers.

  • Docker官方建議一個swarm集群中最多不超過7個manager


2、單獨的生產環境

有些公司會在同一個swarm集群部署不同的環境,包括生產環境和 開發環境,但是這樣做是不被推薦的。 一般,獨立的生產環境需要單獨部署swarm 集群


3、跨雲部署

swarm 集群可以跨雲部署比如 AWS 和azure


4、要防止調度程序將任務放在多節點群集中的管理器節點上,請將管理器節點的可用性設置為Drain



生產環境swarm集群規劃和管理