在阿里云上进行Docker集群的自动弹性伸缩

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 在刚刚结束的云栖大会上,阿里云容器服务演示了容器的自动弹性伸缩,能够从容应对互联网应用的峰值流量。阿里云容器服务不仅支持容器级别的自动弹性伸缩,也支持集群节点级别的自动弹性伸缩。从而真正做到从容应对高峰流量的场景,提高自动化运维水平及系统可用性。

简介

在刚刚结束的云栖大会上,阿里云容器服务演示了容器的自动弹性伸缩,能够从容应对互联网应用的峰值流量。关于阿里云上容器的自动弹性伸缩,可以参考文章在阿里云上进行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

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

相关文章
|
2月前
|
SQL 分布式计算 关系型数据库
阿里云E-MapReduce Trino专属集群外连引擎及权限控制踩坑实践
本文以云厂商售后技术支持的角度,从客户的需求出发,对于阿里云EMR-Trino集群的选型,外连多引擎的场景、Ldap以及Kerberos鉴权等问题进行了简要的实践和记录,模拟客户已有的业务场景,满足客户需求的同时对过程中的问题点进行解决、记录和分析,包括但不限于Mysql、ODPS、Hive connector的配置,Hive、Delta及Hudi等不同表格式读取的兼容,aws s3、阿里云 oss协议访问异常的解决等。
|
2月前
|
弹性计算 关系型数据库 MySQL
阿里云ECS使用docker搭建mysql服务
阿里云ECS使用docker搭建mysql服务
158 1
|
5天前
|
Java Linux 数据安全/隐私保护
Docker自定义JDK镜像并拉取至阿里云镜像仓库全攻略
Docker自定义JDK镜像并拉取至阿里云镜像仓库全攻略
|
6天前
|
监控 Docker 容器
【Docker 专栏】Docker Swarm 集群的扩展与缩容策略
【5月更文挑战第8天】本文探讨了Docker Swarm集群的扩展与缩容策略。集群扩展可提高性能、增强可用性和适应业务发展,可通过手动或自动方式实现。缩容则需考虑业务需求、资源利用率和节点状态,可手动或按策略执行。关键步骤包括添加/移除节点及任务迁移。注意数据同步、监控评估和测试验证。案例分析和总结强调了灵活管理对保持集群最佳状态的重要性。
【Docker 专栏】Docker Swarm 集群的扩展与缩容策略
|
15天前
|
缓存 运维 Serverless
Serverless 应用引擎产品使用之在阿里云函数计算中使用Docker进行部署函数如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
28 0
|
18天前
|
算法 Nacos Docker
docker部署nacos集群
docker部署nacos集群
28 0
|
18天前
|
NoSQL Redis Docker
使用Docker搭建Redis主从集群
使用Docker搭建Redis主从集群
32 1
|
25天前
|
存储 Kubernetes Docker
构建高效稳定的Docker容器集群:从原理到实践
【4月更文挑战第19天】 在当今微服务架构盛行的时代,容器化技术已经成为了软件开发和部署的标准实践。本文深入探讨了如何利用Docker容器技术,结合Kubernetes集群管理工具,构建一个高效、稳定且可扩展的容器化环境。文章首先简述了Docker的核心原理及其优势,接着详细阐述了Kubernetes的基本概念与组件,最后通过一个实际案例来指导读者如何从零开始搭建并优化一个基于Docker和Kubernetes的容器集群系统。
23 1
|
1月前
|
Linux Docker 容器
阿里云安装docker教程
阿里云安装docker教程
65 0
|
1月前
|
消息中间件 Kubernetes Kafka
Terraform阿里云创建资源1分钟创建集群一键发布应用Terraform 创建 Kubernetes 集群
Terraform阿里云创建资源1分钟创建集群一键发布应用Terraform 创建 Kubernetes 集群
30 0