码迷,mamicode.com
首页 > 其他好文 > 详细

Docker Swarm(七)Scale 扩(缩)容服务

时间:2020-03-06 23:49:38      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:update   swa   实例   lin   root   net   mamicode   通过   node   

 

扩(缩)容服务

  • 扩容服务

Service还提供了复制(类似kubernetes里的副本)功能。可以通过 docker service scale 命令来设置服务中容器的副本数:

docker service scale masl=4

技术图片

和创建服务一样,增加scale数之后,将会创建新的容器,这些新启动的容器也会经历从准备到运行的过程,过一分钟左右,服务应该就会启动完成,这时候可以再来看一下 masl 服务中的容器

技术图片

可以看到,之前masl容器在manager-node和node1节点上各有一个实例,而现在又增加了2个实例。

特别需要清楚的一点:
如果一个节点宕机了(即该节点就会从swarm集群中被踢出),则Docker应该会将在该节点运行的容器,调度到其他节点,以满足指定数量的副本保持运行状态。

比如:

将node1宕机后或将node1的docker服务关闭,那么它上面的task实例就会转移到别的节点上。当node1节点恢复后,它转移出去的task实例不会主动转移回来,
只能等别的节点出现故障后转移task实例到它的上面。使用命令"docker node ls",发现node1节点已不在swarm集群中了。

在 node1 节点上关闭docker服务:

systemctl stop docker

过1分钟左右后,在 manager-node 节点上查看服务:

技术图片

发现,node1节点关闭后,它上面之前的两个task任务已经转移到 manager-node 节点上了。

  • 缩容服务
docker service scale masl=2

技术图片

发现,有2个task已经关闭了.

除了上面使用scale进行容器的扩容或缩容之外,还可以使用docker service update 命令。 可对 服务的启动 参数 进行 更新/修改。
[root@manager-node ~]# docker service update --replicas 3 masl
masl
  • 删除服务

把所有节点上的所有容器(task任务实例)全部删除了

docker service rm masl

技术图片

 

Docker Swarm(七)Scale 扩(缩)容服务

标签:update   swa   实例   lin   root   net   mamicode   通过   node   

原文地址:https://www.cnblogs.com/caoweixiong/p/12431520.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!