互联网技术 / 互联网资讯 · 2024年3月7日

Docker Swarm 模式下将节点作为管理节点加入

首次创建集群时,通常只将一个 Docker 引擎置于群集模式。要充分发挥 Swarm 的能力,可以向群中添加节点:

添加工作节点可以提升容量。当服务部署到 Swarm 时,调度引擎会在可用节点上分配任务,无论这些节点是工作节点还是管理节点。增加工作节点不会影响管理器 Raft 共识,也不会改变群的当前管理结构。

管理节点提升容错能力。管理节点负责群的编排和集群管理工作。在管理节点中,通常存在一个领导节点来执行编排任务。若领导节点宕机,剩余的管理节点会选举新的领导并恢复集群状态及维护工作。默认情况下,管理节点也会运行任务。

要加入群,节点需要使用 join-token。节点只有在加入时才会使用令牌。如果之后轮换令牌,现有节点不会受影响。

以管理节点身份加入

当你运行 dockeR swarm join 并传递管理令牌时,节点将切换到 Swarm 模式并成为管理节点,参与 Raft 共识。新节点应是可达的,但现有的管理节点仍然保持领导地位。

为实现高可用性,建议在群中保留三个或五个管理节点。由于管理节点通过 Raft 共享数据,必须确保奇数个管理节点可用。只要超过一半的管理节点处于可用状态,群就可继续运行。

有关群管理和维护的更多详细信息,请参阅相关文档。

要检索包含管理节点的加入令牌,请在管理节点上执行以下命令:

$ docker swarm join-token Manager

要将管理节点加入群,执行下面的命令:

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

该节点已作为管理节点加入群。