Docker Swarm 环境搭建
swarm 使用前提
1、Docker版本1.12+
Docker升级教程:https://www.cnblogs.com/xiangsikai/p/9935894.html
2、集群节点之间保证如下端口通信:
TCP 2377(管理节点与集群模式的通信manager与worker)
TCP/UDP 7946(节点之前其他数据的传输)
UDP 4789(overlay网络通信)
节点规划
- 系统:Centos 7.4 x64
- 应用版本:Docker 18.09.0
- 管理节点:192.168.1.79
- 工作节点:192.168.1.78
- 工作节点:192.168.1.77
环境部署
1、管理节点:初始化swarm
docker swarm init --advertise-addr 192.168.1.79
2、管理节点:截取输出内容
Swarm initialized: current node (mcoe3f7kit5o60gp7v2f6wjc9) is now a manager.
To add a worker to this swarm, run the following command: # 如果要添加工作节点就复制下面命令到工作节点并执行
docker swarm join \
--token SWMTKN-1-5lfs200tcund6wwnewmwk4jc5wjqso4nj9zb7nykvrsmwy08me-atei4s350szwknfbbn7jzhrpm \
192.168.1.79:2377 To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
3、工作节点1与2:加入swarm
docker swarm join --token SWMTKN-15lfs200tcund6wwnewmwk4jc5wjqso4nj9zb7nykvrsmwy08me-atei4s350szwknfbbn7jzhrpm 192.168.1.79:2377
# 已加入到工作节点
This node joined a swarm as a worker.
输出
4、管理节点:查看集群中的节点(完成部署)
docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
bmlecoeitwsbf1r6skpmiq6m5 slave01 Ready Active
kqkwgx5d87nt2mo42263r0dkj slave02 Ready Active
mcoe3f7kit5o60gp7v2f6wjc9 * management Ready Active Leader
输出
5、管理节点:管理节点不作为工作节点使用。(根据需求配置)
docker node update --availability drain 主机名称