开发者社区> 长海长歌> 正文

在阿里云上进行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

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Docker日志自动化: ElasticSearch、Logstash、Kibana以及Logspout
本文讲的是Docker日志自动化: ElasticSearch、Logstash、Kibana以及Logspout,【编者的话】本文主要介绍了如何使用ElasticSearch、Logstash、Kibana和Logspout技术栈来部署自动化的日志系统。
3039 0
ML之FE:基于load_mock_customer数据集(模拟客户)利用featuretools工具实现自动特征生成/特征衍生
ML之FE:基于load_mock_customer数据集(模拟客户)利用featuretools工具实现自动特征生成/特征衍生
59 0
阿里云容器服务新建集群优化方案
前言 选择阿里云的容器服务,主要原因是公司主要业务基本都运行在阿里云上。相较自建 kubernetes 集群,容器服务的优势在于部署相对简单,与阿里云 VPC 完美兼容,网络的配置相对简单,而如果使用 kubeadmin 安装部署 kubernetes 集群,除了众所周知的科学上网问题,还有一系列的问题,包括 etcd 、 scheduler 和 controller-manager 的高可用问题等。
1349 0
阿里云部署Hbase集群
安装环境 主机 ip 操作系统 master 10.30.45.239 centos7.4 slave1 10.31.155.33 centos7.4 slave2 10.81.233.67 centos7.4 阿里云3台ecs搭建一个小型的hbase分布式数据存储(这里的ip都是内网)。
1579 0
ubuntu启动时自动挂载windows分区
这是本人的/etc/fstab文件,其中设置的启动时自动挂载的windows分区,可用df命令查看挂载信息 开始还需要新建对应的文件夹,如 sudo mkdir /media/WINDOWS,sudo mkdir /media/PROGRAM等 # /etc/fstab: static file system information.
592 0
自动化是任何云计算的基础
本文讲的是自动化是任何云计算的基础,随着IT领域继续向面向服务的未来(云计算就是典型的例子)发展,焦点继续集中在虚拟化、计算和计费模式等方面。不过,这个组合中漏掉了自动化技术。
1136 0
ML之FE:基于load_mock_customer数据集(模拟客户,单个DataFrame)利用featuretools工具实现自动特征生成/特征衍生
ML之FE:基于load_mock_customer数据集(模拟客户,单个DataFrame)利用featuretools工具实现自动特征生成/特征衍生
42 0
《自己动手写docker》之namespace部门实验
动手写一遍,印象不一样! package main import ( "log" "os" "os/exec" "syscall" ) func main() { cmd := exec.
1163 0
扩容阿里云kubernetes集群,并升级节点内核
作为早期阿里云 kubernetes 的产品经理, 控制台方式实现节点上下线是我提出来的需求。
793 0
+关注
长海长歌
阿里巴巴云计算高级技术专家,现主要负责阿里云Docker容器服务产品的研发工作。有十几年的软件开发架构经验,在云计算,分布式系统,Docker, DevOps等领域有丰富的经验。在加入阿里巴巴之前,先后在用友,IBM任职。
7
文章
1
问答
来源圈子
更多
容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级 Kubernetes 容器化应用的全生命周期管理。容器服务 Kubernetes 版简化集群的搭建和扩容等工作,整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳的 Kubernetes 容器化应用运行环境。
+ 订阅
相关文档: 容器镜像服务 ACR 容器服务 ACK 服务网格 ASM
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载