zoukankan      html  css  js  c++  java
  • 在阿里云上进行Docker集群的自动弹性伸缩

    摘要: 在刚刚结束的云栖大会上,阿里云容器服务演示了容器的自动弹性伸缩,能够从容应对互联网应用的峰值流量。阿里云容器服务不仅支持容器级别的自动弹性伸缩,也支持集群节点级别的自动弹性伸缩。从而真正做到从容应对高峰流量的场景,提高自动化运维水平及系统可用性。

    简介

    在刚刚结束的云栖大会上,阿里云容器服务演示了容器的自动弹性伸缩,能够从容应对互联网应用的峰值流量。关于阿里云上容器的自动弹性伸缩,可以参考文章在阿里云上进行Docker应用的自动弹性伸缩
    同时在流量变大的时候自动进行容器的弹性伸缩,要求容器集群有很好的容量规划,必须有多余的集群资源以支持弹性扩容。但问题是当流量变大,容器扩容导致集群资源不够的时候怎么办呢,是否需要手工进行容器集群的扩容?实际阿里云容器服务不仅支持容器级别的自动弹性伸缩,也支持集群节点级别的自动弹性伸缩。从而真正做到从容应对高峰流量的场景,提高自动化运维水平,降低响应时间,提高系统可用性。下面介绍怎样进行集群节点的自动弹性伸缩。

    自动伸缩策略

    节点伸缩采取的策略:

    当监测指标值超过所设定的扩容条件,以用户设定的扩容步长增加节点数量。
    当监测指标值低于所设定的缩容条件,以系统默认步长1减少节点数量。
    自动伸缩的监测指标:

    • 集群CPU平均使用量。
    • 集群内存平均使用量。

    节点缩容只会对通过节点扩容创建出来的节点进行,用户手工创建或者添加的节点不受影响。如果想让这些手工添加的节点可以自动缩容,需要为这些节点加上标签:

    "aliyun.reschedule==true"

    节点缩容的时候,系统会删除集群里的ECS,用户需要提前做好数据备份。请不要调度有状态服务到可缩容节点上。可以参考Docker Compose的constraint。

    设置

    • 在 集群列表 页面,选择要设置的集群,点击 管理,进入集群管理页面。
    • 点击左侧导航栏中的 节点伸缩,点击 请新建自动伸缩规则。
      screenshot

    • 配置伸缩策略
      约束规则:

      • 扩容条件 的可选范围是 50%~100%,缩容条件 的可选范围是 0%~50%。
      • 扩容条件 和 缩容条件 的差值不能小于30%。
      • 扩容步长的可选范围是 1~5, 缩容步长目前默认是1,不支持配置。
      • 设置好集群最小节点数及集群最大节点数。缩容的时候当节点数<=集群最小节点数的时候,不会进行缩容操作;扩容的时候当节点数>=集群最大节点数的时候,不会进行扩容操作。
      • 最好不要设置复合伸缩策略
      • 请谨慎设置伸缩条件,在设置伸缩的时候,伸缩条件就满足且伸缩不能将伸缩条件变成不满足的情况下,监控会不断触发伸缩。 screenshot
    • 点击 下一步,选择实例规格,配置扩容节点配置:
      screenshot

    查看监控指标

    • 在 集群列表 页面,选择要设置的集群,点击 监控 screenshot
    • 查看弹性伸缩设置的报警规则,点击云监控控制台左边的 容器服务 , screenshot
    • 点击下面的 **查看全部规则“,可以看到弹性伸缩自动设置的报警规则: screenshot
    • 选中一个报警规则可以修改报警条件及通知人(支持短信,邮件等通知方式),也可以禁用报警规则。 screenshot

    自动扩容集群

    上面我们设置CPU>70进行集群扩容,当集群CPU超过这个设置的时候:
    screenshot

    集群开始进行自动扩容:
    screenshot

    screenshot

    在云监控报警规则上可以看到报警历史:
    screenshot

    更多关于阿里云容器服务的信息,请访问:

  • 相关阅读:
    linux系统rewrite重定向及搭建discuz
    nginx客户端请求分类
    linux系统nginx动静分离
    RDB与AOF
    AOF持久化
    redis持久化(RDB)
    redis操作
    redis搭建
    Redis简介
    小技巧从此拒绝$?
  • 原文地址:https://www.cnblogs.com/onetwo/p/5993168.html
Copyright © 2011-2022 走看看