Docker Swarm 环境搭建

时间:2021-11-30 20:15:05

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 主机名称