?
本文檔使用 PHP中文網手冊 發(fā)布
當你第一次創(chuàng)建 swarm 時,你將一個 Docker Engine(引擎)放入 swarm 模式。要充分利用群模式,您可以向群添加節(jié)點:
添加工作節(jié)點會增加容量。將服務部署到群集時,引擎會調度可用節(jié)點上的任務,無論它們是工作節(jié)點還是管理節(jié)點。當您將工人添加到群體中時,您可以增加群體的規(guī)模以處理任務,而不會影響經理人團隊的一致性。
管理器節(jié)點增加了容錯能力。Manager 節(jié)點為群體執(zhí)行編排和群集管理功能。在管理器節(jié)點中,單個領導者節(jié)點執(zhí)行編排任務。如果一個領導者節(jié)點出現(xiàn)故障,其余的管理者節(jié)點會選舉一個新的領導者并恢復協(xié)調和維護群體狀態(tài)。默認情況下,管理節(jié)點也運行任務。
在將節(jié)點添加到群集之前,必須在主機上安裝 Docker Engine 1.12或更高版本。
Docker 引擎根據(jù)您提供給docker swarm join
命令的連接令牌加入群集。該節(jié)點僅在連接時使用該令牌。如果隨后旋轉該標記,則不會影響現(xiàn)有的群集節(jié)點。請參考以群集模式運行 Docker Engine。
要檢索包含工作節(jié)點的連接令牌的連接命令,請在管理器節(jié)點上運行以下命令:
$ docker swarm join-token worker To add a worker to this swarm, run the following command: docker swarm join \ --token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \ 192.168.99.100:2377
從 worker 上的輸出運行命令加入群集:
$ docker swarm join \ --token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \ 192.168.99.100:2377This node joined a swarm as a worker.
docker swarm join
命令執(zhí)行以下操作:
將當前節(jié)點上的 Docker 引擎切換到群集模式。
向經理(manager)申請 TLS 證書。
用機器主機名命名節(jié)點
基于群集令牌將當前節(jié)點加入管理器監(jiān)聽地址處的群集。
將當前節(jié)點設置為Active
可用性,這意味著它可以從調度程序接收任務。
將ingress
覆蓋網絡擴展到當前節(jié)點。
當您運行docker swarm join
并傳遞管理器令牌時,Docker 引擎將切換到群集模式,與工作人員相同。經理節(jié)點也參與木筏共識。新的節(jié)點應該是Reachable
,但現(xiàn)有的經理將仍然是群體Leader
。
Docker 為每個集群推薦三個或五個管理器節(jié)點來實現(xiàn)高可用性。由于群模式管理器節(jié)點使用 Raft 共享數(shù)據(jù),因此必須有奇數(shù)個管理器。只要超過一半的管理器節(jié)點的法定數(shù)量可用,群集可以繼續(xù)運行。
有關群體管理員和管理群體的更多詳細信息,請參閱管理和維護一群 Docker 引擎。
要檢索包含管理器節(jié)點的連接令牌的連接命令,請在管理器節(jié)點上運行以下命令:
$ docker swarm join-token manager To add a manager to this swarm, run the following command: docker swarm join \ --token SWMTKN-1-61ztec5kyafptydic6jfc1i33t37flcl4nuipzcusor96k7kby-5vy9t8u35tuqm7vh67lrz9xp6 \ 192.168.99.100:2377
從管理器的輸出中運行命令以加入群集:
$ docker swarm join \ --token SWMTKN-1-61ztec5kyafptydic6jfc1i33t37flcl4nuipzcusor96k7kby-5vy9t8u35tuqm7vh67lrz9xp6 \ 192.168.99.100:2377This node joined a swarm as a manager.
swarm join
命令行參考
Swarm 模式教程