参考资料
- 创建 swarm 集群管理节点
- 初始化 Swarm 集群配置实例说明
- Swarm集群工作节点配置实例说明
Swarm集群工作节点配置实例说明
基本配置要求
- 系统要求:
- 64位Linux操作系统
- 内核版本3.10或更高
- Docker Engine 17.06或更高版本
- 网络要求:
- 开放端口2377(TCP)、7946(TCP/UDP)、4789(UDP)
- 节点间网络延迟低(<5ms)
工作节点配置步骤
1. 安装Docker Engine
- # Ubuntu示例
- sudo apt-get update
- sudo apt-get install docker-ce docker-ce-cli containerd.io
2. 加入Swarm集群
- # 从管理节点获取加入命令
- docker swarm join-token worker
- # 在工作节点执行类似以下命令
- docker swarm join \
- --token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \
- 192.168.99.100:2377
3. 配置节点标签
- # 在管理节点上为工作节点添加标签
- docker node update --label-add type=worker node1
- docker node update --label-add disk=ssd node2
4. 配置资源限制(可选)
- # 限制工作节点资源
- docker node update --availability drain node1 # 停止调度新任务
- docker node update --availability active node1 # 恢复调度
完整配置示例
- 初始化Swarm集群(管理节点)
- docker swarm init --advertise-addr 192.168.1.100
- 工作节点加入集群
- # 在node1上执行
- docker swarm join --token <worker-token> 192.168.1.100:2377
- 验证节点状态
- # 在管理节点上查看
- docker node ls
- 配置节点属性
- # 设置节点角色(默认为worker)
- docker node promote node1 # 提升为管理节点
- docker node demote node1 # 降级为工作节点
- # 添加自定义标签
- docker node update --label-add region=east node1
实际应用案例
场景:部署一个web服务到特定类型的工作节点
- 标记有SSD磁盘的节点:
- docker node update --label-add disk=ssd node2
- 部署服务时使用约束:
- docker service create \
- --name webapp \
- --constraint 'node.labels.disk == ssd' \
- --replicas 3 \
- nginx:latest
故障排查
- 节点无法加入集群:
- 检查防火墙设置
- 验证token是否正确
- 确保所有必需端口已开放
- 节点显示为Down:
- 检查节点网络连接
- 验证Docker服务是否运行
- 检查节点与管理节点之间的连通性
本文参与
腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-07-10,如有侵权请联系
cloudcommunity@tencent.com 删除