环境准备 |
环境准备
准备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
输出文字的意思是此地址已经加入到了这个swarm,你可以使用 docker swarm join --token SWMTKN-1-0kuq2h72hmou0h1uz7ernfjwqctsu3ks4rr0ciu5kw36m0k8ns-21m5s191d4kb2s1suk77g0l56 192.168.1.200:2377 命令将其它节点加入到这个swarm中来成为工作节点,
如果想添加管理节点,使用 docker swarm join-token manager 命令来进行管理。
查看节点信息,这个命令只能在管理节点上使用。
docker node ls
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 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