docker swarm集群部署

195 阅读1分钟

叙述

参考链接

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