当你首次创建一个swarm时,你就放置了一个Docker Engine到swarm中。为了充分利用swarm模式的优势,你可以添加节点到swarm:
在添加节点到swarm之前你必须安装Docker Engine 1.12或之后的版本。
添加worker节点
要获取添加worker到swarm的命令,在manager节点上执行:
- $ 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
在要添加到swarm的worker节点上执行如下命令来加入到swarm:
- $ docker swarm join
- –token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c
- 192.168.99.100:2377
- This node joined a swarm as a worker.
docker swarm join做了如下工作:
添加manager节点
当你执行docker swarm join并传递manager token,跟worker节点一样Docker Engine切换到swarm模式。新添加的manager节点也参与到raft一致性当中。新的节点应该是可访问的,但之前的leader节点仍然不变。
Docker推荐3个或5个manager节点的集群来实现高可用。因为swarm模式的manager节点使用Raft共享数据,必须是奇数的manager节点数。只要超过一半的manager节点可用,swarm就可以继续工作。
要获取添加manager到swarm的加入命令,执行:
- $ 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
在要添加到swarm的manager节点上执行:
- $ docker swarm join
- –token SWMTKN-1-61ztec5kyafptydic6jfc1i33t37flcl4nuipzcusor96k7kby-5vy9t8u35tuqm7vh67lrz9xp6
- 192.168.99.100:2377
- This node joined a swarm as a manager.