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


    扩(缩)容服务

    • 扩容服务

    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

  • 相关阅读:
    30分钟掌握ES6/ES2015核心内容(下)
    30分钟掌握ES6/ES2015核心内容(上)
    域名、主机名与URL
    localstorage sessionstorage cookie的区别
    http中post 和 get 请求方法区别
    leetcode33. 搜索旋转排序数组
    leetcode 56. 合并区间
    MySQL EXPLAIN
    array 数组
    判断一个字符串的所有字符是否都在另一个字符串中
  • 原文地址:https://www.cnblogs.com/caoweixiong/p/12431520.html
Copyright © 2020-2023  润新知