在了解了Docker Swarm的体系架构以后,基于已经部署好三台虚拟主机便可以非常容易地构建Swarm集群。下表列出了这三台虚拟机的相关信息。其中:master主机将作为Swarm Manager运行;而node1和node2将作为Swarm Node运行。
视频讲解如下:
下面的步骤将演示如何以master、node1和node2三个节点来构建一个Docker Swarm集群。
(1)在master节点上执行命令初始化集群。
docker swarm init \ --listen-addr 192.168.79.11:8888 \ --advertise-addr 192.168.79.11
其中的参数:
- --listen-addr:指定集群暴露给外界调用的HTTP API的socket地址。该参数可以省略。
- --advertise-addr:当宿主机有多张网卡时,该参数用于指定绑定的网卡地址。该参数可以省略。
(2)初始化命令执行成功后,会输出以下的信息:
Swarm initialized: current node (rzmqa9903qxt1k06lul8bggig) is now a manager. To add a worker to this swarm, run the following command: docker swarm join \ --token SWMTKN-1-16akjyb4q5aqcss3c68rie38fhzogg7g76fge8sus6u4p6j26k-118e95tjq9rdoourp8tk5u922 \ 192.168.79.11:8888 To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
提示:如果不小心忘了这个命令那么可以在master上运行下面的命令,随时调取出这部分的信息。
docker swarm join-token manager
(3)在node1和node2节点上执行命令将其作为worker,加入Swarm集群。
docker swarm join \ --token SWMTKN-1-16akjyb4q5aqcss3c68rie38fhzogg7g76fge8sus6u4p6j26k-118e95tjq9rdoourp8tk5u922 \ 192.168.79.11:8888
(4)在master上查看集群的节点信息,如下图所示。
提示:节点id后的星号表示的是当前连接着的节点。从图中可以看出,在这个集群中有一个master节点和三个worker节点。因为master本身也是作为worker加入集群。