本篇文章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