wordpress 公司网站 模板 下载,哪个专业学习网站建设,网站被黑是怎么回事,一般网站字体Swarm 集群管理 简介
Docker Swarm 是 Docker 的集群管理工具。它将 Docker 主机池转变为单个虚拟 Docker 主机。 Docker Swarm 提供了标准的 Docker API#xff0c;所有任何已经与 Docker 守护程序通信的工具都可以使用 Swarm 轻松地扩展到多个主机。
支持的工具包括但不限… Swarm 集群管理 简介
Docker Swarm 是 Docker 的集群管理工具。它将 Docker 主机池转变为单个虚拟 Docker 主机。 Docker Swarm 提供了标准的 Docker API所有任何已经与 Docker 守护程序通信的工具都可以使用 Swarm 轻松地扩展到多个主机。
支持的工具包括但不限于以下各项
DokkuDocker ComposeDocker MachineJenkins
原理
如下图所示swarm 集群由管理节点manager和工作节点work node构成。
swarm mananger负责整个集群的管理工作包括集群配置、服务管理等所有跟集群有关的工作。work node即图中的 available node主要负责运行相应的服务来执行任务task。 使用
以下示例均以 Docker Machine 和 virtualbox 进行介绍确保你的主机已安装 virtualbox。
1、创建 swarm 集群管理节点manager
创建 docker 机器
$ docker-machine create -d virtualbox swarm-manager 初始化 swarm 集群进行初始化的这台机器就是集群的管理节点。
$ docker-machine ssh swarm-manager
$ docker swarm init --advertise-addr 192.168.99.107 #这里的 IP 为创建机器时分配的 ip。 以上输出证明已经初始化成功。需要把以下这行复制出来在增加工作节点时会用到
docker swarm join --token SWMTKN-1-4oogo9qziq768dma0uh3j0z0m5twlm10iynvz7ixza96k6jh9p-ajkb6w7qd06y1e33yrgko64sk 192.168.99.107:2377
2、创建 swarm 集群工作节点worker
这里直接创建好俩台机器swarm-worker1 和 swarm-worker2 。 分别进入两个机器里指定添加至上一步中创建的集群这里会用到上一步复制的内容。 以上数据输出说明已经添加成功。
上图中由于上一步复制的内容比较长会被自动截断实际上在图运行的命令如下
dockerswarm-worker1:~$ docker swarm join --token SWMTKN-1-4oogo9qziq768dma0uh3j0z0m5twlm10iynvz7ixza96k6jh9p-ajkb6w7qd06y1e33yrgko64sk 192.168.99.107:2377
3、查看集群信息
进入管理节点执行docker info 可以查看当前集群的信息。
$ docker info 通过画红圈的地方可以知道当前运行的集群中有三个节点其中有一个是管理节点。
4、部署服务到集群中
注意跟集群管理有关的任何操作都是在管理节点上操作的。
以下例子在一个工作节点上创建一个名为 helloworld 的服务这里是随机指派给一个工作节点
dockerswarm-manager:~$ docker service create --replicas 1 --name helloworld alpine ping docker.com 5、查看服务部署情况
查看 helloworld 服务运行在哪个节点上可以看到目前是在 swarm-worker1 节点
dockerswarm-manager:~$ docker service ps helloworld 查看 helloworld 部署的具体信息
dockerswarm-manager:~$ docker service inspect --pretty helloworld 6、扩展集群服务
我们将上述的 helloworld 服务扩展到俩个节点。
dockerswarm-manager:~$ docker service scale helloworld2 可以看到已经从一个节点扩展到两个节点。 7、删除服务
dockerswarm-manager:~$ docker service rm helloworld 查看是否已删除 8、滚动升级服务
以下实例我们将介绍 redis 版本如何滚动升级至更高版本。
创建一个 3.0.6 版本的 redis。
dockerswarm-manager:~$ docker service create --replicas 1 --name redis --update-delay 10s redis:3.0.6 滚动升级 redis 。
dockerswarm-manager:~$ docker service update --image redis:3.0.7 redis 看图可以知道 redis 的版本已经从 3.0.6 升级到了 3.0.7说明服务已经升级成功。
9、停止某个节点接收新的任务
查看所有的节点
dockerswarm-manager:~$ docker node ls 可以看到目前所有的节点都是 Active, 可以接收新的任务分配。
停止节点 swarm-worker1 注意swarm-worker1 状态变为 Drain。不会影响到集群的服务只是 swarm-worker1 节点不再接收新的任务集群的负载能力有所下降。
可以通过以下命令重新激活节点
dockerswarm-manager:~$ docker node update --availability active swarm-worker1