Debian Docker如何扩展集群
导读:Debian Docker 集群扩展指南 一、扩展思路与准备 明确扩展对象: 扩展“节点”:向 Swarm 增加新的 worker/manager,提升集群整体容量与容灾能力。 扩展“服务”:在现有集群上增加服务副本数(水平扩展),提升...
Debian Docker 集群扩展指南
一、扩展思路与准备
- 明确扩展对象:
- 扩展“节点”:向 Swarm 增加新的 worker/manager,提升集群整体容量与容灾能力。
- 扩展“服务”:在现有集群上增加服务副本数(水平扩展),提升吞吐与可用性。
- 基础准备(所有节点):
- 各节点安装 Docker,时间同步(如 chrony/ntp),并确保节点间网络互通。
- 规划并开放必要端口:2377/tcp(集群管理)、7946/tcp、7946/udp(节点通信)、4789/udp(overlay 网络)。如使用云主机,还需在安全组放行上述端口。
二、扩展节点
- 在管理节点查看或更新加入令牌(按需选择 worker 或 manager 角色):
- 查看 worker 令牌:
docker swarm join-token worker - 查看 manager 令牌:
docker swarm join-token manager - 说明:令牌默认有效期通常为 24 小时,过期可重新生成。
- 查看 worker 令牌:
- 在新节点加入集群(以 worker 为例,将命令中的 IP 与令牌替换为实际值):
docker swarm join --token < TOKEN> < MANAGER_IP> :2377
- 在管理节点核验节点列表与角色:
docker node ls
- 高可用建议:生产环境建议部署 3 个或更多 manager 节点,以避免单点故障。
三、扩展服务
- 快速扩展副本数(适用于已部署的服务):
- 命令:
docker service scale < 服务名> =< 副本数> - 示例:
docker service scale webserver=5
- 命令:
- 使用 Compose 文件部署或更新并扩展:
- 示例 compose 片段:
version: '3' services: web: image: nginx:latest ports: - "8080:80" deploy: replicas: 3 - 部署:
docker stack deploy -c docker-compose.yml myapp - 扩容:
docker service scale myapp_web=5(或在 compose 中调整 replicas 后再次docker stack deploy)
- 示例 compose 片段:
- 验证:
- 查看服务与任务分布:
docker service ls、docker service ps < 服务名>。
- 查看服务与任务分布:
四、网络与负载均衡要点
- 跨主机服务建议使用 overlay 网络,创建时可加
--attachable便于非 swarm 容器接入(如调试):- 创建:
docker network create -d overlay --attachable my_overlay - 使用:在
docker service create或 compose 的networks中指定该网络。
- 创建:
- Swarm 内置 Routing Mesh:发布端口(如
-p 8080:80)后,访问任意节点的 8080 端口都会被负载均衡到后端任务实例,适合无状态服务。
五、常见问题与排查
- 节点无法加入:
- 核对 IP/端口 可达性,确保 2377/tcp、7946/tcp、7946/udp、4789/udp 已放行;云环境检查安全组/防火墙规则。
- 令牌是否正确、是否过期(必要时
docker swarm join-token worker/manager重新生成)。
- 服务扩容后访问不均或异常:
- 确认服务使用 overlay 网络(如需跨主机通信),并检查端口发布是否正确;Swarm 的 ingress 网络会自动做四层负载均衡。
- 镜像不可达:
- 多机环境请使用可拉取的镜像(公共仓库或自建 私有 registry),并在所有节点可访问;必要时先
docker pull或在 compose 中指定完整仓库地址。
- 多机环境请使用可拉取的镜像(公共仓库或自建 私有 registry),并在所有节点可访问;必要时先
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian Docker如何扩展集群
本文地址: https://pptw.com/jishu/757556.html
