1. Docker Swarm简介
Docker Swarm是一个Docker集群调度管理工具。相比于Kubernetes,Swarm内置于Docker,更加轻量,更加简单方便;相应的,就没有Kubernetes那么多强大的特性。
本文搭建使用Swarm,主要参考Swarm mode overview 和 docker swarm(一) 入门 – 搭建一个简单的swarm集群。
已有两个安装好Docker的机器(swarm-manager和swarm-worker),IP分别为 192.168.56.104 和 192.168.56.105 ,两台主机的hosts都添加:
1 | 192.168.56.104 swarm-manager |
2. Swarm集群搭建
2.1. manager node
在swarm-manager节点:
1、创建swarm manager
1 | docker swarm init --advertise-addr 192.168.56.104 |
这一步会生成join命令,复制记录一下。
2、验证安装
1 | docker info |
3、关闭防火墙,方便其他主机加入成为worker
1 | systemctl stop firewalld |
2.2. worker node
在swarm-worker节点:
1、关闭防火墙,方便manager调用
1 | systemctl stop firewalld |
2、加入swarm成为worker
1 | docker swarm join --token SWMTKN-1-21v9lvwrzapfzdzhq4js6xbtyasak4hdcdhz9p13fch23zdbn9-bneduvi9fi4ba05eywhqbe94z 192.168.56.104:2377 |
PS:脱离swarmdocker swarm leave
2.3. 验证
docker node ls
,查看节点状态。
3. 使用Swarm
1、部署一个服务
1 | docker service create \ |
2、查看服务
1 | docker service ls |
3、访问服务
1 | curl 192.168.56.104 |
如果此时有一个ip是curl不通的,那么说明有问题,因为所有节点都应该添加端口映射关系。
4、服务扩容
1 | docker service scale vk-nginx=4 |
5、查看服务在节点的分布
1 | docker service ps vk-nginx |