问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Docker Swarm集群搭建指南:5节点实战(3管理+2工作节点)

创作时间:
作者:
@小白创作中心

Docker Swarm集群搭建指南:5节点实战(3管理+2工作节点)

引用
CSDN
1.
https://blog.csdn.net/qq_40101521/article/details/146768180

本文将详细介绍如何搭建一个包含3个管理节点和2个工作节点的Docker Swarm集群。通过本文,你将了解Swarm的基本概念、集群搭建步骤、节点管理操作以及常见问题的解决方案。

一、Docker Swarm简介

Docker Swarm是Docker官方提供的容器集群管理工具,它允许用户将多个Docker主机组成一个虚拟的集群,统一管理容器服务。Swarm模式内置在Docker引擎中,无需额外安装。

Swarm架构设计

核心组件

  • 管理节点(Manager):负责集群状态维护、任务调度和服务管理(通常3-5个节点实现高可用)
  • 工作节点(Worker):执行容器任务,接收管理节点分配的工作负载
  • Raft共识协议:管理节点之间通过Raft保持状态一致性
  • 服务模型:声明式服务定义,支持滚动更新和回滚

二、5节点集群搭建实战

环境准备

  • 5台CentOS 7主机(3台作为管理节点,2台作为工作节点)
  • 已安装Docker 26.1.4版本
  • 节点间网络互通(建议关闭防火墙或配置放行规则)

1. 初始化Swarm集群(第一个管理节点)

在选定的第一个管理节点(如172.21.0.12)执行:

[root@VM-0-12-centos ~]# docker swarm init --advertise-addr 172.21.0.12

成功后会输出加入集群的token命令,注意保存worker和manager的两种token。

2. 添加其他管理节点

使用join-token manager获取管理节点加入命令:

[root@VM-0-12-centos ~]# docker swarm join-token manager

在其他两个管理节点上执行得到的加入命令:

docker swarm join --token SMMTKN-1-3ddv16c9... 172.21.0.12:2377

3. 添加工作节点

使用worker token让另外两台机器加入集群:

docker swarm join --token SMHTRN-1-3ddw16c9... 172.21.0.12:2377

4. 验证集群状态

在主管理节点查看节点列表:

[root@VM-0-12-centos ~]# docker node ls

查看详细集群信息:

docker info

三、节点管理操作

节点上线

  • 新节点加入:使用对应token执行docker swarm join
  • 已下线节点恢复:直接重启Docker服务即可自动重新加入

节点下线

安全下线管理节点

docker node update --availability drain <节点ID>  # 先排空任务
docker node demote <节点ID>  # 先降级为worker
docker swarm leave        # 在目标节点执行
docker node rm <节点ID>     # 再移除

下线工作节点

docker node update --availability drain <节点ID>  # 先排空任务
docker swarm leave        # 在目标节点执行
docker node rm <节点ID>   # 在管理节点执行移除

四、常见问题解决

  1. 网络连通性问题
  • 确保所有节点间的2377/tcp(管理端口)、7946/tcp+udp(节点通信)、4789/udp(覆盖网络)端口互通
  1. Token丢失
docker swarm join-token worker  # 重新获取worker token
docker swarm join-token manager # 重新获取manager token

五、最佳实践建议

  1. 生产环境建议至少3个管理节点实现高可用
  2. Manager节点应分散在不同物理机上
  3. 定期备份Swarm集群的Raft数据(位于/var/lib/docker/swarm
  4. 使用标签(label)对工作节点进行分类管理

通过以上步骤,您已成功搭建了一个包含3个管理节点和2个工作节点的Docker Swarm集群,可以开始部署分布式服务了!

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号