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

然后进行应用部署。

报警规则及通知变更

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

自动扩缩容

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

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

相关文章
|
3天前
|
存储 安全 数据安全/隐私保护
【Docker 专栏】Docker 容器化应用的备份与恢复策略
【5月更文挑战第9天】本文探讨了Docker容器化应用的备份与恢复策略,强调了备份在数据保护、业务连续性和合规要求中的关键作用。内容涵盖备份的重要性、内容及方法,推荐了Docker自带工具和第三方工具如Portainer、Velero。制定了备份策略,包括频率、存储位置和保留期限,并详细阐述了恢复流程及注意事项。文章还提及案例分析和未来发展趋势,强调了随着技术发展,备份与恢复策略将持续演进,以应对数字化时代的挑战。
【Docker 专栏】Docker 容器化应用的备份与恢复策略
|
3天前
|
监控 Kubernetes Docker
【Docker 专栏】Docker 容器内应用的健康检查与自动恢复
【5月更文挑战第9天】本文探讨了Docker容器中应用的健康检查与自动恢复,强调其对应用稳定性和系统性能的重要性。健康检查包括进程、端口和应用特定检查,而自动恢复则涉及重启容器和重新部署。Docker原生及第三方工具(如Kubernetes)提供了相关功能。配置检查需考虑检查频率、应用特性和监控告警。案例分析展示了实际操作,未来发展趋势将趋向更智能和高效的检查恢复机制。
【Docker 专栏】Docker 容器内应用的健康检查与自动恢复
|
11天前
|
关系型数据库 MySQL Shell
4.Docker 应用部署
4.Docker 应用部署
|
1天前
|
弹性计算 负载均衡 容灾
应用阿里云弹性计算:打造高可用性云服务器ECS架构
阿里云弹性计算助力构建高可用云服务器ECS架构,通过实例分布、负载均衡、弹性IP、数据备份及多可用区部署,确保业务连续稳定。自动容错和迁移功能进一步增强容灾能力,提供全方位高可用保障。
8 0
|
3天前
|
弹性计算 API Python
阿里云百炼应用之流程编排
阿里云通义百炼平台流程编排使用教程。
|
3天前
|
存储 安全 数据库
【Docker 专栏】Docker 容器内应用的状态持久化
【5月更文挑战第9天】本文探讨了Docker容器中应用状态持久化的重要性,包括数据保护、应用可用性和历史记录保存。主要持久化方法有数据卷、绑定挂载和外部存储服务。数据卷是推荐手段,可通过`docker volume create`命令创建并挂载。绑定挂载需注意权限和路径一致性。利用外部存储如数据库和云服务可应对复杂需求。最佳实践包括规划存储策略、定期备份和测试验证。随着技术发展,未来将有更智能的持久化解决方案。
【Docker 专栏】Docker 容器内应用的状态持久化
|
3天前
|
机器学习/深度学习 人工智能 异构计算
【Docker 专栏】Docker 与 GPU 加速应用的结合
【5月更文挑战第9天】GPU加速技术在处理大规模数据和复杂计算时展现强大性能,尤其在AI和深度学习领域。Docker作为轻量级容器化工具,提供隔离、可移植和高效的环境。结合GPU加速,关键在于容器访问GPU设备和安装相应驱动。NVIDIA提供了支持工具,允许Docker利用GPU。应用场景包括人工智能、科学计算和视频处理。优势包括资源利用率提升和部署灵活性,但面临驱动兼容性、资源管理和监控调试的挑战。未来,随着技术发展,Docker与GPU加速在边缘计算中的应用将有广阔前景。
【Docker 专栏】Docker 与 GPU 加速应用的结合
|
3天前
|
Java Linux 数据安全/隐私保护
Docker自定义JDK镜像并拉取至阿里云镜像仓库全攻略
Docker自定义JDK镜像并拉取至阿里云镜像仓库全攻略
|
4天前
|
存储 Prometheus 监控
【Docker 专栏】Docker 容器内应用的调试与故障排除
【5月更文挑战第8天】本文探讨了Docker容器内应用的调试与故障排除,强调其重要性。方法包括:通过日志排查、进入容器检查、使用监控工具及检查容器配置。常见问题涉及应用启动失败、性能问题、网络连接和数据存储。案例分析展示了实战场景,注意事项提醒避免不必要的容器修改、备份数据和理解应用架构。掌握这些技能能确保Docker应用的稳定运行和性能优化。
【Docker 专栏】Docker 容器内应用的调试与故障排除
|
4天前
|
开发框架 安全 网络安全
【Docker 专栏】Docker 多平台应用构建与部署
【5月更文挑战第8天】Docker作为一种关键的容器化技术,简化了多平台应用的构建与部署。它提供一致的运行环境,确保应用在不同平台无缝运行;通过分层构建机制加速镜像创建,提升开发效率。Docker的可移植性、高效部署及资源利用率是其主要优势。流程包括开发环境准备、构建镜像、测试验证及部署。然而,面临操作系统差异、网络安全和资源限制等挑战,需注意安全、版本管理和性能优化。Docker在多平台场景的应用将持续发挥价值。
【Docker 专栏】Docker 多平台应用构建与部署