在阿里云上进行Docker应用的自动弹性伸缩

简介: 简介 上次介绍了通过监控集成实现容器的自定义弹性伸缩。最近阿里云Docker容器服务发布了自动弹性伸缩的支持,可以非常方便的支持容器的自动弹性伸缩,从而更好的支持应用的弹性管理。能够自动的监控容器应用的指标,并根据配置的自动弹性伸缩的规则进行扩缩容。在业务增长超过监控指标阀值的时候自动增加容器应用

简介

上次介绍了通过监控集成实现容器的自定义弹性伸缩。最近阿里云Docker容器服务发布了自动弹性伸缩的支持,可以非常方便的支持容器的自动弹性伸缩,从而更好的支持应用的弹性管理。能够自动的监控容器应用的指标,并根据配置的自动弹性伸缩的规则进行扩缩容。在业务增长超过监控指标阀值的时候自动增加容器应用的实例数目,并在业务下降的时候自动收缩容器数目。从而简化容器应用的管理,提高应用的可用性,提高资源的利益效率。

设置方法

使用镜像创建应用

  • 在创建应用时,选择“使用镜像创建”,这里我们部署一个Tomcat应用。
    screenshot
  • 在“更多设置”中,勾选“开启”自动伸缩,设置指标、下限、上限、步长、最大实例数目,最小实例数目即可。
    screenshot

使用模板创建应用

  • 使用编排模板创建应用时,点击“新增服务”
    screenshot
  • 在弹出的窗口中打开“更多设置”,勾选“开启”自动伸缩,设置指标、下限、上限、步长即可。同上。

手动设置

在编排模板的labels配置中,添加相应的标签:

  • 指定步长(默认值是1):aliyun.auto_scaling.step
  • 最大实例数量(默认值是10):aliyun.auto_scaling.max_instances
  • 以CPU使用量为指标

    • 指定上限: aliyun.auto_scaling.max_cpu
    • 指定下限:aliyun.auto_scaling.min_cpu
  • 以内存使用量为指标

    • 指定上限:aliyun.auto_scaling.max_memory
    • 指定下限:aliyun.auto_scaling.min_memory

示例(Wordpress):

web:
  image: registry.aliyuncs.com/acs-sample/wordpress:4.5
  ports:
    - '80'
  environment:
    WORDPRESS_AUTH_KEY: changeme
    WORDPRESS_SECURE_AUTH_KEY: changeme
    WORDPRESS_LOGGED_IN_KEY: changeme
    WORDPRESS_NONCE_KEY: changeme
    WORDPRESS_AUTH_SALT: changeme
    WORDPRESS_SECURE_AUTH_SALT: changeme
    WORDPRESS_LOGGED_IN_SALT: changeme
    WORDPRESS_NONCE_SALT: changeme
    WORDPRESS_NONCE_AA: changeme
  restart: always
  links:
    - 'db:mysql'
  labels:
    aliyun.logs: /var/log
    aliyun.probe.url: http://container/license.txt
    aliyun.probe.initial_delay_seconds: '10'
    aliyun.routing.port_80: http://wordpress
    aliyun.scale: '3'
    aliyun.auto_scaling.max_cpu: '70'
    aliyun.auto_scaling.step: '2'
    aliyun.max_instances:'10'
db:
  image: registry.aliyuncs.com/acs-sample/mysql:5.7
  environment:
    MYSQL_ROOT_PASSWORD: password
  restart: always
  labels:
    aliyun.logs: /var/log/mysql

然后进行应用部署。

报警规则及通知变更

应用部署后报警规则及通知可以在云监控上查看及修改。
screenshot

自动扩缩容

当设定的指标超过阀值后,容器会自动进行容器的扩缩容。这里容器从3个自动扩容到5个。
screenshot

更多关于阿里云容器服务的信息,请访问阿里云容器服务https://www.aliyun.com/product/containerservice

相关文章
|
弹性计算 人工智能 Serverless
阿里云ACK One:注册集群云上节点池(CPU/GPU)自动弹性伸缩,助力企业业务高效扩展
在当今数字化时代,企业业务的快速增长对IT基础设施提出了更高要求。然而,传统IDC数据中心却在业务存在扩容慢、缩容难等问题。为此,阿里云推出ACK One注册集群架构,通过云上节点池(CPU/GPU)自动弹性伸缩等特性,为企业带来全新突破。
|
9月前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
2381 10
|
Java Linux C语言
《docker基础篇:2.Docker安装》包括前提说明、Docker的基本组成、Docker平台架构图解(架构版)、安装步骤、阿里云镜像加速、永远的HelloWorld、底层原理
《docker基础篇:2.Docker安装》包括前提说明、Docker的基本组成、Docker平台架构图解(架构版)、安装步骤、阿里云镜像加速、永远的HelloWorld、底层原理
1152 90
|
安全 持续交付 云计算
课时5:阿里云容器服务:最原生的集成Docker和云服务
阿里云容器服务以服务化形式构建容器基础设施,大幅提升开发效率,简化应用部署流程。通过Docker容器和DevOps工具(如Jenkins),实现自动化部署与迭代,优化企业内部复杂部署问题。该服务支持GPU调度、混合云架构无缝迁移,并与阿里云产品体系无缝集成,提供安全防护、网络负载均衡等多重功能支持。凭借微服务架构,帮助企业突破业务瓶颈,提高资源利用率,轻松应对海量流量。
498 0
课时5:阿里云容器服务:最原生的集成Docker和云服务
|
SQL 弹性计算 分布式计算
阿里云 EMR 发布托管弹性伸缩功能,支持自动调整集群大小,最高降本60%
阿里云开源大数据平台 E-MapReduce 重磅推出托管弹性伸缩功能,基于 EMR 托管弹性伸缩功能,您可以指定集群的最小和最大计算限制,EMR 会持续对与集群上运行的工作负载相关的关键指标进行采样,自动调整集群大小,以获得最佳性能和资源利用率。
741 15
|
存储 Docker 容器
阿里云私有docker仓库构建海外镜像
【8月更文挑战第25天】
1137 3
|
关系型数据库 MySQL 应用服务中间件
配置docker阿里云镜像地址
配置docker阿里云镜像地址
|
弹性计算 缓存 运维
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(三)
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(三)
510 0
|
弹性计算 监控 开发工具
【阿里云弹性计算】实战教程:如何高效利用阿里云ECS弹性伸缩应对业务高峰
【5月更文挑战第20天】本文介绍了如何使用阿里云ECS弹性伸缩服务应对业务高峰。通过自动调整云资源规模,弹性伸缩在流量增加时扩展实例,流量减少时收缩实例,实现成本与性能的优化。步骤包括开通服务、创建伸缩组、设定规则和监控指标。文中还提供了一个Python脚本示例,并强调了优化策略,如应用无状态设计、考虑冷却时间和结合云监控。通过实践和调整,企业可以有效应对业务波动。
641 5