叙述
参考链接
docs.docker.com/engine/swar…
docs.docker.com/engine/swar…
部署
集群规划
版本: CentOS7.9 Docker20.10.12 服务器时间一致
192.168.4.174 manager174
192.168.4.175 worker175
192.168.4.176 worker176
环境配置
cat >> /etc/hosts<<EOF
192.168.4.174 manager174
192.168.4.175 worker175
192.168.4.176 worker176
EOF
查看3台 Swarm状态
[root@manager174 ~]# docker info | grep 'Swarm'
Client:
......
Server:
......
Swarm: inactive # 状态都是未运行的
manager节点操作
初始化swarm集群
docker swarm init --availability=drain --default-addr-pool 10.10.0.0/16 --advertise-addr 192.168.4.174
--advertise-addr: 指定管理节点ip, 命令的输出包含了其它节点如何加入集群的命令, 根据--token 标志的值,节点将作为管理者或工作者加入
--default-addr-pool: 指定自定义默认地址池, 默认overlay网络使用:10.0.0.0/8; 可能会出现多次,每个选项都为 docker 提供用于覆盖子网的额外地址
--default-addr-pool-mask-len: 指定子网掩码, 默认24
Swarm 开启成功
[root@manager174 ~]# docker info
Client:
......
Server:
......
Swarm: active
......
Node Address: 192.168.4.174
Manager Addresses:
192.168.4.174:2377
[root@manager174 ~]# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
k40yohgg4424fqklskofy9mdc * manager174 Ready Active Leader 20.10.12
node节点操作
更多节点操作参考文档: 节点操作 添加节点主机到Swarm集群
[root@worker175 ~]# docker swarm join --token SWMTKN-1-64kompwz4kfcfsxlez3hlwf24hwjwy9e7ko7n5istcoez1dok7-e463ua5tggwzzp9d3tqdwfrte 192.168.4.174:2377
[root@worker175 ~]# docker info
Client:
.....
Server:
.....
Swarm: active
NodeID: gy9xdhvll84q23mk7xd5pniim
Is Manager: false
Node Address: 192.168.4.175
Manager Addresses:
192.168.4.174:2377 # 加入了174 集群
manager节点 查看节点状态
[root@manager174 ~]# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
k40yohgg4424fqklskofy9mdc * manager174 Ready Active Leader(管理节点角色) 20.10.12
gy9xdhvll84q23mk7xd5pniim worker175 Ready Active (空值为工作节点) 20.10.12