Docker SwarmScale 扩(缩)容服务

Posted caoweixiong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker SwarmScale 扩(缩)容服务相关的知识,希望对你有一定的参考价值。

 

扩(缩)容服务

  • 扩容服务

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 SwarmScale 扩(缩)容服务的主要内容,如果未能解决你的问题,请参考以下文章

Pod的扩缩容

01-Kubernetes介绍,基础组件,原理,架构。

TiDB Operator扩缩容和集群的管理

cluster(集群)模式-docker版 哈希槽分区进行亿级数据存储 3主3从redis集群扩缩容配置案例架构说明

CentOS部署k8s+docker分布式扩缩容系统

K8s自动扩缩容工具KEDA发布2.0版本,全面升级应用扩展能力