这一节我们介绍如何搭建一个三节点的swarm集群。安装docker的同时,swarm已经内置了。所以不需要额外安装
准备环境:
三台安装了docker的服务器。
swarm manager: 192.168.0.109
swarm worker1: 192.168.0.107
swarm worker2: 192.168.0.110
docker swarm init --advertise-addr 表示我们要初始化一个swarm就要宣告一个地址,因为他是一个cluster,必须有多个节点。如何让别的节点知道我们的存在呢?需要advertise-addr 我们本地的地址。
我们现在swarm manager上运行:
vincent@192:~$ docker swarm init --advertise-addr=192.168.0.109
Swarm initialized: current node (u6bj8diva2g7yn0y0x1h7lrff) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-0csi5bbc0dazkq3yrqrzv09aatddo5iq9e3dal5anzvbsv46r5-1eu8dt8ku0vp3dm0xv7evsfw6 192.168.0.109:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
swarm manage初始化完成,并且如果需要添加一个worker需要使用下面的命令到worker节点上。
docker swarm join --token SWMTKN-1-0csi5bbc0dazkq3yrqrzv09aatddo5iq9e3dal5anzvbsv46r5-1eu8dt8ku0vp3dm0xv7evsfw6 192.168.0.109:2377
在manage节点上使用命令:
docker swarm join-token worker
可以查看token
根据提示,我们在swarm worker1上运行命令:
docker swarm join --token SWMTKN-1-0csi5bbc0dazkq3yrqrzv09aatddo5iq9e3dal5anzvbsv46r5-1eu8dt8ku0vp3dm0xv7evsfw6 192.168.0.109:2377
This node joined a swarm as a worker.
添加成功了。
在swarm manager中查看:
docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
1jh4hysrh2ii5kuhk5p0whcm6 192 Ready Active
u6bj8diva2g7yn0y0x1h7lrff * 192 Ready Active Leader
可以查看到当前有两个节点。
在swarm work2上运行命令:
docker swarm join --token SWMTKN-1-0csi5bbc0dazkq3yrqrzv09aatddo5iq9e3dal5anzvbsv46r5-1eu8dt8ku0vp3dm0xv7evsfw6 192.168.0.109:2377
This node joined a swarm as a worker.
这时查看集群状态:
vincent@192:~$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
1jh4hysrh2ii5kuhk5p0whcm6 192 Ready Active
ozotrf7bt5aa3taxu5479ak0y 192 Ready Active
u6bj8diva2g7yn0y0x1h7lrff * 192 Ready Active Leader
这样三个节点的集群就配置成功了。
来源:oschina
链接:https://my.oschina.net/u/946962/blog/3070339