一、环境准备
1、准备服务器如下:
172.19.230.69 node1
172.19.230.70 node2
172.19.230.64 node3
2、修改主机名:
hostnamectl set-hostname node1
3、关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
4、修改docker监听端口
vi /lib/systemd/system/docker.service
修改前,如下图
在ExecStart加入: -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock(注意空格,避免docker 无法启动)
修改后,如下图
5、重启docker服务
systemctl daemon-reload ##使配置文件生效
systemctl restart docker
二、Swarm安装和集群创建
1、Swarm镜像下载
分别在机器上安装swarm
docker pull swarm
2、初始化Swarm
docker swarm init --advertise-addr 172.19.230.69
上面命令执行后,该机器自动加入到swarm集群。这个会创建一个集群token,获取全球唯一的 token,作为集群唯一标识。后续将其他节点加入集群都会用到这个token值。
其中,--advertise-addr参数表示其它swarm中的worker节点使用此ip地址与manager联系。命令的输出包含了其它节点如何加入集群的命令。
3、添加集群节点
在node2 机器执行node1生成的token
docker swarm join \
--token SWMTKN-1-2yqqs7si5hpht6sk4y5xnxr18n81qsinh2wu3h09ayqpr7xfzz-9kbnqhbq54uev7sa1h5xha1gk \
172.19.230.69:2377
4、查看集群节点
docker node list
三、问题点
如果节点进行变化,强制移除执行命令: docker swarm leave --force
查看是否移除成功:docker node list
其他操作:
swarm join-token :可以查看或更换join token。
docker swarm join-token worker:查看加入woker的命令。
docker swarm join-token manager:查看加入manager的命令
docker swarm join-token --rotate worker:重置woker的Token。
docker swarm join-token -q worker:仅打印Token。