Docker Swarm 是 Docker 的集群管理工具。它将 Docker 主机池转变为单个虚拟 Docker 主机。 Docker Swarm 提供了标准的 Docker API,所有任何已经与 Docker 守护程序通信的工具都可以使用 Swarm 轻松地扩展到多个主机。
如下图所示,swarm 集群由管理节点(manager)和工作节点(work node)构成。
swarm mananger:负责整个集群的管理工作包括集群配置、服务管理等所有跟集群有关的工作。
work node:即图中的 available node,主要负责运行相应的服务来执行任务(task)。
以下示例,均以 Docker Machine 和 virtualbox 进行介绍,确保你的主机已安装 virtualbox。
创建 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
我们再直接创建好俩台机器,swarm-worker1 和 swarm-worker2 。
分别进入两个机器里,指定添加至上一步中创建的集群,这里会用到上一步复制的内容。
以上数据输出说明已经添加成功。
进入管理节点,执行:docker info 可以查看当前集群的信息。
$ docker-machine ssh swarm-manager
$ docker info
在一个工作节点上创建一个名为 helloworld 的服务,这里是随机指派给一个工作节点:
跟集群管理有关的任何操作,都是在管理节点上操作的。
docker@swarm-manager:~$ docker service create --replicas 1 --name helloworld alpine ping docker.com
查看 helloworld 服务运行在哪个节点上,可以看到目前是在 swarm-worker1 节点:
docker@swarm-manager:~$ docker service ps helloworld
查看 helloworld 部署的具体信息:
docker@swarm-manager:~$ docker service inspect --pretty helloworld
我们将上述的 helloworld 服务扩展到俩个节点。
docker@swarm-manager:~$ docker service scale helloworld=2
可以看到已经从一个节点,扩展到两个节点。
删除服务
docker@swarm-manager:~$ docker service scale helloworld=2
使用滚动升级服务以下实例,我们将介绍 redis 版本如何滚动升级至更高版本。
先创建一个 3.0.6 版本的 redis。
docker@swarm-manager:~$ docker service create --replicas 1 --name redis --update-delay 10s redis:3.0.6
滚动升级 redis 。
docker@swarm-manager:~$ docker service update --image redis:3.0.7 redis
停止某个节点接收新的任务:
docker@swarm-manager:$ docker node update --availability drain swarm-worker1
swarm-worker1 状态变为 Drain。不会影响到集群的服务,只是 swarm-worker1 节点不再接收新的任务,集群的负载能力有所下降。
可以通过以下命令重新激活节点:
docker@swarm-manager:~$ docker node update --availability active swarm-worker1
提供最后三公里配送服务的“小蛮驴”机器人(行情300024,诊股),可线上无限扩容升级的云电脑“无影”,在9月17日举行的2020年云栖大会现场,阿里云智能总裁、阿里巴巴达摩院院长张建锋发布了两款新产品。...
DoNews9月17日消息(记者 程梦玲)9月16日,京东家电冰洗行业峰会在京召开。国家信息中心资深产业专家蔡莹、中国质量认证中心副处长邓旭、京东零售集团家电事业部副总裁谢帆以及各大冰洗家电品牌代表受邀出席了本次行业峰...
天眼查数据显示,近日,漫语微视(北京)传媒科技有限公司发生工商变更,公司投资人新增安徽讯飞云创科技有限公司,后者由科大讯飞(行情002230,诊股)股份有限公司100%控股。 ...
据国外媒体报道,与那些研究历史和预测未来的事件相比,预测未来动物的模样似乎有些无关紧要。但是一些古生物学家对此充满兴趣,并认为这是一项具有重要意义的研究:能运用自己所知晓的生命状况,分析随时间变迁未来百万年后物...
本文“云计算核心技术Docker教程: Docker Swarm 使用”由FX112财经网
首发,欢迎转载,转载请带上本文链接。
免责声明:FX112财经网(https://www.942fx.com)发布的所有信息,并不代表本站赞同其观 点和对其真实性负责,投资者据此操作,风险请自担。部分内容文章及图 片来自互联网或自媒体,版权归属于原作者,不保证该信息(包括但不限 于文字、图片、图表及数据)的准确性、真实性、完整性、有效性、及时 性、原创性等,如无意侵犯媒体或个人知识产权,请联系我们或致函告之 ,本站将在第一时间处理。关注FX112财经网,获取最优质的财经报道!