当您第一次创建集群时,您将单个 Docker 引擎置于集群模式中。要充分利用群模式,您可以向群中添加节点:
添加工作节点会增加容量。当您将服务部署到 swarm 时,引擎会在可用节点上调度任务,无论它们是工作节点还是管理节点。当您向集群中添加工作人员时,您可以增加集群的规模以处理任务,而不会影响管理器 raft 共识。
管理器节点提高容错能力。管理器节点为群执行编排和集群管理功能。在管理节点中,单个领导节点执行编排任务。如果一个领导节点宕机,剩余的管理节点会选举一个新的领导并恢复集群状态的编排和维护。默认情况下,管理器节点也运行任务。
Docker 引擎根据您提供给命令的join-token加入 swarm docker swarm join。节点仅在加入时使用令牌。如果您随后轮换令牌,则不会影响现有的 swarm 节点。
作为工作节点加入
要检索包含工作节点的加入令牌的加入命令,请在管理器节点上运行以下命令:
$ 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 上运行输出中的命令以加入 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命令执行以下操作:
1.将当前节点上的 Docker 引擎切换到 swarm 模式。
2.向管理器请求 TLS 证书。
3.使用机器主机名命名节点
4.根据群令牌将当前节点加入到管理器监听地址的群中。
5.将当前节点设置为Active可用性,这意味着它可以从调度程序接收任务。
6.将ingress覆盖网络扩展到当前节点。