将节点加入 swarm

首次创建 swarm 时,将单个 Docker Engine 放入 Swarm 模式。要充分利用 Swarm 模式,您可以向 Swarm 添加节点:

  • 添加 worker 节点会增加容量。当您将服务部署到 swarm 时, 引擎在可用节点上调度任务,无论它们是 Worker 节点还是 Manager 节点。当您将 worker 添加到 swarm 中时,您会增加 在不影响 Manager Raft 共识的情况下处理任务的 Swarm。
  • Manager 节点提高了容错能力。Manager 节点执行 集群的编排和集群管理功能。经理之间 节点,则单个领导节点执行编排任务。如果 leader 节点 关闭时,其余 Manager 节点将选举新的 leader 并继续执行 Swarm 状态的编排和维护。默认情况下,管理器节点 还要运行任务。

Docker Engine 根据您提供给 命令。节点仅在加入时使用令牌。如果 您随后轮换令牌,它不会影响现有的 Swarm 节点。指 以群模式运行 Docker Enginedocker swarm join

作为 worker 节点加入

要检索包含 worker 节点的 join 令牌的 join 命令,请运行 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

从 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

  • 将当前节点上的 Docker Engine 切换到 Swarm 模式。
  • 向 Manager 请求 TLS 证书。
  • 使用计算机主机名命名节点。
  • 根据 swarm 令牌,将当前节点加入位于 manager 侦听地址的 swarm。
  • 将当前节点设置为 availability,这意味着它可以接收任务 从调度程序。Active
  • 将覆盖网络扩展到当前节点。ingress

作为管理器节点加入

当您运行并传递 manager 令牌时,Docker Engine 切换到与 worker 相同的 Swarm 模式。管理器节点也参与其中 在 Raft 共识中。新节点应为 ,但现有的 Manager 仍然是 Swarm 。docker swarm joinReachableLeader

Docker 建议每个集群 3 或 5 个管理器节点以实现高 可用性。由于 Swarm 模式管理器节点使用 Raft 共享数据,因此存在 必须是奇数个 Manager。swarm 可以在 as 之后继续运行 只要超过一半的管理器节点的仲裁可用。

有关群管理器和管理群的更多详细信息,请参阅管理和维护 Docker 引擎群

要检索包含管理器节点的 join 令牌的 join 命令,请运行 Manager 节点上的以下命令:

$ 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:

$ docker swarm join \
  --token SWMTKN-1-61ztec5kyafptydic6jfc1i33t37flcl4nuipzcusor96k7kby-5vy9t8u35tuqm7vh67lrz9xp6 \
  192.168.99.100:2377

This node joined a swarm as a manager.

了解更多信息