Skip to content

如何规划 Docker Swarm 的节点

Posted on:2023-11-05 at 23:25

Docker Swarm 可以在最少一台机器上部署,但机器出现问题后整个集群都不再可用,那如何规划集群中的节点更加合理呢?

Docker Swarm 中的节点角色

Docker Swarm 集群中的主机称为节点,节点有两种角色,Manager 管理节点和 Worker 工作节点。

管理节点负责了以下工作:

  1. 维护集群状态
  2. 调度服务
  3. 提供 Swarm 相关的 HTTP API

Manager 节点维护整个 swarm 及其上运行的所有服务内部状态的一致性。如果只是为了测试,可以使用单个管理节点运行 swarm。在单管理节点群中,管理节点出现故障时服务并不会停止,但需要创建一个新集群才能恢复。

Worker 节点也是运行 Docker 的主机,它唯一的作用是执行容器。工作节点不参与集群状态管理,也不做出调度决策。集群可以只由一个 Manager 节点组成,但只有一个 Worker 节点是不行的。

Swarm 模式本身具有一定的容错性,Docker 官方建议在构建集群时部署奇数个节点。当一个集群中有多个管理节点时,它可以在不停机的情况下从故障中恢复。