使用docker swarm部署容器集群

环境准备

环境准备

准备4台centos服务器,生产环境建议用阿里云服务器,学习环境可以在本机用vmware创建4个centos虚拟机。

每台centos服务器上都要安装docker。

centos版本:8.5

docker版本:20.10.11

四台centos 服务器:192.168.1.200,  192.168.1.201,  192.168.1.202,  192.168.1.203  

 

四台机器为例,2 个 manager 2个 worker。 但建议是 3个manager 以上,这样容错率更高,2台 down 了其中一台集群就不行,多个worker 。

虚拟机 状态 备注
192.168.116.129 manager 用这台创建集群
192.168.116.130 manager 加入成manager
192.168.116.131 worker  
192.168.116.132 worker

docker swarm命令

 

docker swarm命令

创建集群:
docker swarm init --advertise-addr 虚拟机IP

查看增加 manager的授权命令:
docker swarm join-token manager

查看增加 worker 的授权命令:
docker swarm join-token worker

管理器节点离开 docker swarm 模式:
docker swarm leave --force

工作节点离开Docker Swarm模式
docker swarm leave

 

搭建docker集群

搭建swarm集群,swarm集群包含两个管理节点,两个工作节点。

 

【第1步】初始化管理节点

管理节点与工作节点可以使用内网地址与外网地址,将192.168.1.200这台服务器作为管理节点,切换到200这台服务器。

使用内网地址初始化节点:

docker swarm init --advertise-addr 192.168.1.200

使用docker swarm部署容器集群

 

输出文字的意思是此地址已经加入到了这个swarm,你可以使用 docker swarm join --token SWMTKN-1-0kuq2h72hmou0h1uz7ernfjwqctsu3ks4rr0ciu5kw36m0k8ns-21m5s191d4kb2s1suk77g0l56 192.168.1.200:2377 命令将其它节点加入到这个swarm中来成为工作节点,

如果想添加管理节点,使用 docker swarm join-token manager 命令来进行管理。

查看节点信息,这个命令只能在管理节点上使用。

docker node ls

使用docker swarm部署容器集群

 

 status为Ready表示节点准备就绪,manager为Leader表示管理节点,为空的表示工作节点。

将管理节点192.168.1.200的防火墙开放 2377 端口,允许工作节点与它通讯,开放端口工作节点才可以加入进来 。

firewall-cmd --zone=public --add-port=2377/tcp --permanent
firewall-cmd --reload 

 

【第2步】加入备用管理节点

理论上最好将三台机加入到管理节点。

但现在服务器不够,总共只有四台,所以只额外加 192.168.1.201 这台机加入到备用管理节点。

首先查看加入到管理节点的命令:

docker swarm join-token manager

使用docker swarm部署容器集群

 

将 docker swarm join --token SWMTKN-1-2zx3lwln85r7d11fsujuikureenw477zrd5g9ia2x6f8yyoxfs-2963xip9ysba5azcpsi1d4s2w 192.168.1.200:2377 这段命令复制出来,

在192.168.1.201这台机上执行:

docker swarm join --token SWMTKN-1-2zx3lwln85r7d11fsujuikureenw477zrd5g9ia2x6f8yyoxfs-2963xip9ysba5azcpsi1d4s2w 192.168.1.200:2377

 

 

【第3步】添加两台工作节点

将192.168.1.202与192.168.1.203两台机加入到刚刚创建的docker swarm集群。

分别切换到将192.168.1.201与192.168.1.202,分别执行命令:

docker swarm join --token SWMTKN-1-0kuq2h72hmou0h1uz7ernfjwqctsu3ks4rr0ciu5kw36m0k8ns-21m5s191d4kb2s1suk77g0l56 192.168.1.200:2377

使用docker swarm部署容器集群

 

上一篇:Docker Swarm


下一篇:容器化编排不舒服mall-swarm