您可以利用弹性伸缩的滚动升级功能,一键为伸缩组内的ECS实例更新镜像和执行脚本,提高管理伸缩组内ECS实例的效率。
前提条件
使用本教程进行操作前,请确保您已经注册了阿里云账号。如还未注册,请先完成账号注册。
操作步骤
假设一个伸缩组现状如下:
- 位于华东1(杭州)地域。
- 伸缩组中生效的伸缩配置使用公共镜像CentOS 6.4 64位。
- 伸缩组中已基于生效的伸缩配置扩容出100台ECS实例,且ECS实例都处于服务中状态。
- 伸缩组中不存在执行中的伸缩活动。
本教程介绍如何将伸缩组内ECS实例的镜像更新为阿里云Alibaba Cloud Linux 2镜像,并在更新镜像后安装Apache。步骤如下:
步骤一:准备自定义镜像
- 登录ECS管理控制台。
- 在左侧导航栏,选择。
- 在顶部菜单栏左上角处,选择地域。
- 创建一台ECS实例。
- 在实例列表页面左上角,单击创建实例。
- 完成实例启动配置。
本教程中使用的示例配置如下表所示,请按需完成其他配置,和伸缩组生效中的伸缩配置保持一致即可。
配置页面 | 配置项 | 示例 |
---|
基础配置 | 付费模式 | 按量付费 |
地域及可用区 | |
镜像 | - 类型:公共镜像
- 版本:Alibaba Cloud Linux 2.1903 LTS 64位
|
系统配置 | 实例名称 | Instance-ForCustomImage |
- 单击下一步:确认订单。
- 选中《云服务器ECS服务条款》,然后单击确认下单。
- 确认ECS实例的费用,并按界面提示完成支付。
实例创建完成后,前往实例列表页面查看创建进度,当实例状态进入
运行中时表示已成功创建。
说明 在创建自定义镜像前,您可以根据需要配置创建好的ECS实例Instance-ForCustomImage,例如部署应用、拷贝数据等,减少统一更新镜像后的维护操作。
- 准备更新用的自定义镜像。
- 找到ECS实例Instance-ForCustomImage,在操作区域,单击。
- 完成自定义镜像配置。
本教程中使用的示例配置如下表所示,请按需完成其他配置。
配置项 | 示例 |
---|
自定义镜像名称 | Image-AliyunLinux |
自定义镜像描述 | 用于滚动升级伸缩组内ECS实例的镜像。 |
- 单击创建。
- 准备回滚用的自定义镜像。
- 找到一台属于伸缩组的ECS实例,在操作区域,单击。
- 完成自定义镜像配置。
本教程中使用的示例配置如下表所示,请按需完成其他配置。
配置项 | 示例 |
---|
自定义镜像名称 | Image-CentOSBck |
自定义镜像描述 | 用于在滚动升级出现问题时,回滚伸缩组内ECS实例的镜像。 |
- 单击创建。
- 在左侧导航栏中,单击,前往镜像页面查看Image-AliyunLinux和Image-CentOSBck的创建进度。
进度为100%时表示已成功创建。
步骤二:更新镜像并执行脚本
- 登录弹性伸缩控制台。
- 在左侧导航栏中,单击伸缩组管理。
- 在顶部菜单栏处,选择地域。
- 找到待操作的伸缩组,选择任一种方式打开伸缩组详情页面。
- 在伸缩组名称/ID列,单击伸缩组ID。
- 在操作列,单击查看详情。
- 在页面上方,单击滚动升级页签。
- 创建并执行一个镜像更新任务。
- 单击创建执行任务。
- 完成镜像更新任务配置。
本教程中使用的示例配置如下表所示,请按需完成其他配置。
配置项 | 示例 |
---|
任务描述 | 将镜像从CentOS 6.4 64位批量更新为Alibaba Cloud Linux 2.1903 LTS 64位。 |
任务类型 | 镜像更新 |
用于更新的镜像 | Image-AliyunLinux |
用于回滚的镜像 | Image-CentOSBck |
执行批次 | 10 |
暂停策略 | 不暂停 |
- 单击创建任务。
- 阅读滚动升级任务的影响,如无疑问,单击确定。
确定后滚动升级任务会自动执行。
任务完成后,伸缩组内100台ECS实例的镜像更新为Alibaba Cloud Linux 2.1903 LTS 64位。
- 创建并执行一个脚本执行任务。
- 单击创建执行任务。
- 完成脚本执行任务配置。
本教程中使用的示例配置如下表所示,请按需完成其他配置。
配置项 | 示例 |
---|
任务描述 | 安装Apache服务并查看Apache服务状态。 |
任务类型 | 脚本执行 |
用于执行的脚本 | # 安装Apache服务。
yum install -y httpd
# 启动Apache服务。
systemctl start httpd
# 设置Apache服务开机启动。
systemctl enable httpd
# 查看Apache服务状态。
systemctl status httpd
|
用于回滚的脚本 | # 查看Apache服务状态。
systemctl status httpd
|
执行批次 | 10 |
暂停策略 | 不暂停 |
- 单击创建任务。
- 阅读滚动升级任务的影响,如无疑问,单击确定。
确定后滚动升级任务会自动执行。
任务完成后,伸缩组内的100台ECS实例安装了Apache服务,且Apache服务状态为active。
