本篇文章1684字,读完约4分钟

码头工人群是码头工人的集群管理工具。它将码头工人主机池转换为单个虚拟码头工人主机。Docker swarm提供了一个标准的Docker api,任何与docker守护程序通信的工具都可以通过swarm轻松扩展到多个主机。

如下图所示,集群由一个管理节点和一个工作节点组成。

集群管理员:负责整个集群的管理,包括集群配置、服务管理等集群相关工作。

工作节点:图中的可用节点,主要负责运行相应的服务来执行任务。

下面的例子介绍了docker machine和virtualbox,并确保您的主机安装了virtualbox。

为了创建集群管理节点(管理器),我们首先创建一个码头工人机器:

$ docker-machine create-d virtual box swarm-manager

初始化集群,初始化集群的机器就是集群的管理节点。

$ docker-机器ssh群管理器

这里的ip是机器创建时分配的ip。

需要复制以下行,这将在添加工作节点时使用:

docker swarm join-token swm tkn-1-4 ogo 9 qziq 768 DMA 0 uh 3j 0 z0 M5 twwlm 10 iynvz 7ixza 96k 6jh 9p-ajkb6 w 7q d 06 y1e 33 yrgko64 sk 192 . 168 . 99 . 107:2377

然后我们直接创建两台机器,群工作1和群工作2。

分别输入两台机器,并指定添加到上一步创建的集群中。此处将使用上一步中复制的内容。

上面的数据输出表明已经成功添加。

进入管理节点,执行:docker信息,查看当前集群的信息。

$ docker-机器ssh群管理器

$ docker信息

在工作节点上创建名为helloworld的服务,该服务随机分配给一个工作节点:

与群集管理相关的任何操作都在管理节点上执行。

docker @ swarm-manager:~ $ docker service create-replications 1-name hello world alpine ping docker

查看helloworld服务运行的节点,您可以看到它当前位于群工作1节点:

docker @ swarm-manager:~ $ docker service PS hello world

检查helloworld部署的具体信息:

docker @ swarm-manager:~ $ docker service inspect-漂亮的helloworld

我们将上述helloworld服务扩展到两个节点。

docker @ swarm-manager:~ $ docker service scale hello world = 2

您可以看到它已经从一个节点扩展到两个节点。

删除服务

docker @ swarm-manager:~ $ docker service scale hello world = 2

使用以下滚动升级服务的例子,我们将介绍如何将redis版本升级到更高的版本。

首先创建3.0.6版本的redis。

docker @ swarm-manager:~ $ docker service create-replications 1-name redis-update-delay 10s redis:3 . 0 . 6

滚动以升级redis。

docker@swarm-manager:~$ docker服务更新- image redis:3.0.7 redis

停止节点接收新任务:

docker@swarm-manager:$ docker节点更新-可用性流失swarm-worker1

群体工作者1状态变为耗尽。它不会影响集群的服务,除了群工作1节点不再接收新任务,并且集群的负载能力降低。

您可以使用以下命令重新激活节点:

docker@swarm-manager:~$ docker节点更新-可用性活动swarm-worker1

来源:搜狐微门户

标题:云计算核心技术Docker教程: Docker Swarm 使用

地址:http://www.shwmhw.com/shxw/11941.html