您好,登錄后才能下訂單哦!
怎么理解Docker中的Swarm,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
Swarm是去中心化的,并集成進了Docker Engine,通過Docker CLI管理。
swarm
集群包含兩類節點
Manager Node
—— 負責調度Task(不推薦超過7個,其有兩種狀態:leader、reachable,集群操作需在管理節點)
Worker Node
—— 接受Manager Node調度并指派的Task
每個swarm node
的availability
包括:
Active:接受task
Pause:不接受task,已有task仍運轉
Drain:不接受task,已有task被交接
通過routing mesh策略(基于lvs),swarm集群所有節點都會監聽服務端口(沒有啟動服務的節點會自動將流量路由到服務駐留節點)
集群內服務開放到外部端口后,節點由preparing轉為running狀態
一個集群節點上可以駐留多個重復服務
Docker1.6引入Swarm
獨立于Docker engine
使用Docker CLI
Docker 1.12前幾周發布了Swarm Kit
使用自己的CLI(swarmd負責管理,swarmctl用于控制)
是Swarm mode的基礎
Docker 1.12發布了Swarm Mode(功能較完整的容器編排工具)
集成到了Docker engine中(docker swarm子命令)
使用Docker CLI,引入服務的概念
基于Swarmkit編寫
# 轉入SwarmMode(當前機即作為集群管理節點) docker swarm init --advertise-addr Manager節點ip:端口 # 新建token docker swarm join-token worker|manager # node加入集群成為一個工作副本 docker swarm join --token 令牌 Manager節點ip:端口 # 查看集群節點 docker node ls # 檢查指定節點 docker node inspect self|NODE # 節點狀態變更 docker node update --availability drain manager # 設置Manager Node只具有管理功能 # 節點打標簽 docker node update --label-add 鍵名稱=值 # 節點提權/降權 docker node promote 節點 # 升級為manager node docker node demote 節點 # 降級為worker node # 節點退出集群 docker swarm node leave [--force]
集群構建時,節點通信默認2377端口
集群負載均衡網絡的服務發現工作在端口:
7946 TCP/UDP:集群的服務發現
4789 UDP:集群服務的路由網絡
docker network create --driver overlay 網絡名 #創建網絡(網絡是隔離和安全加密的,同一網絡節點才能互訪) docker network ls #列表網絡 docker network inspect 網絡名 #監控網絡
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。