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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 简介 上次介绍了通过监控集成实现容器的自定义弹性伸缩。最近阿里云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
AI 代码解读

然后进行应用部署。

报警规则及通知变更

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

自动扩缩容

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

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

目录
打赏
0
0
0
3
78316
分享
相关文章
《docker基础篇:2.Docker安装》包括前提说明、Docker的基本组成、Docker平台架构图解(架构版)、安装步骤、阿里云镜像加速、永远的HelloWorld、底层原理
《docker基础篇:2.Docker安装》包括前提说明、Docker的基本组成、Docker平台架构图解(架构版)、安装步骤、阿里云镜像加速、永远的HelloWorld、底层原理
543 90
docker快速部署OS web中间件 数据库 编程应用
通过Docker,可以轻松地部署操作系统、Web中间件、数据库和编程应用。本文详细介绍了使用Docker部署这些组件的基本步骤和命令,展示了如何通过Docker Compose编排多容器应用。希望本文能帮助开发者更高效地使用Docker进行应用部署和管理。
61 19
课时5:阿里云容器服务:最原生的集成Docker和云服务
阿里云容器服务以服务化形式构建容器基础设施,大幅提升开发效率,简化应用部署流程。通过Docker容器和DevOps工具(如Jenkins),实现自动化部署与迭代,优化企业内部复杂部署问题。该服务支持GPU调度、混合云架构无缝迁移,并与阿里云产品体系无缝集成,提供安全防护、网络负载均衡等多重功能支持。凭借微服务架构,帮助企业突破业务瓶颈,提高资源利用率,轻松应对海量流量。
课时5:阿里云容器服务:最原生的集成Docker和云服务
docker运维查看指定应用log文件位置和名称
通过本文的方法,您可以更高效地管理和查看Docker容器中的日志文件,确保应用运行状态可控和可监测。
173 28
Docker技术背景与应用:解决现代开发中的关键问题
Docker作为一种革命性的容器化技术,极大地改变了现代软件开发的方式。通过解决环境一致性、依赖管理、部署复杂性和资源利用率等问题,Docker为开发者提供了高效、灵活的开发和部署环境。尽管面临着一些挑战,但随着技术的发展和完善,Docker将继续在现代软件开发中发挥重要作用。作为全栈工程师,掌握并善用Docker技术,将为我们的开发工作带来更多便利和可能性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
阿里云 EMR 发布托管弹性伸缩功能,支持自动调整集群大小,最高降本60%
阿里云开源大数据平台 E-MapReduce 重磅推出托管弹性伸缩功能,基于 EMR 托管弹性伸缩功能,您可以指定集群的最小和最大计算限制,EMR 会持续对与集群上运行的工作负载相关的关键指标进行采样,自动调整集群大小,以获得最佳性能和资源利用率。
171 15
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
144 5
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。本文探讨了 Docker 在多平台应用构建与部署中的作用,包括环境一致性、依赖管理、快速构建等优势,以及部署流程和注意事项,展示了 Docker 如何简化开发与部署过程,提高效率和可移植性。
111 4
Docker镜像采用分层存储,每层代表镜像的一部分,如基础组件或应用依赖,多层叠加构成完整镜像
Docker镜像采用分层存储,每层代表镜像的一部分,如基础组件或应用依赖,多层叠加构成完整镜像。此机制减少存储占用,提高构建和传输效率。Docker还通过缓存机制提升构建和运行效率,减少重复工作。文章深入解析了Docker镜像分层存储与缓存机制,包括具体实现、管理优化及实际应用案例,帮助读者全面理解其优势与挑战。
134 4
深入探索容器化技术——Docker 的实战应用
深入探索容器化技术——Docker 的实战应用
181 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等