运维编排场景系列---一键更新伸缩配置镜像并替换伸缩组实例的系统盘

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 场景介绍 把新代码部署到ECS实例后,需要创建一个新的ECS镜像并且修改指定伸缩组伸缩配置的镜像,之后还需要把伸缩组中已存在的实例的镜像一并修改。本文介绍如何通过OOS一键自动化实现以上流程。 解决方案 如下图所示,伸缩配置中的源镜像和伸缩组中实例的镜像都为:aliyun_2_1903_64_20G_alibase_20190829.vhd登录OOS控制台。

场景介绍

把新代码部署到ECS实例后,需要创建一个新的ECS镜像并且修改指定伸缩组伸缩配置的镜像,之后还需要把伸缩组中已存在的实例的镜像一并修改。本文介绍如何通过OOS一键自动化实现以上流程。

解决方案

如下图所示,伸缩配置中的源镜像和伸缩组中实例的镜像都为:aliyun_2_1903_64_20G_alibase_20190829.vhd
z1

登录OOS控制台。如果您之前从未开通过OOS服务,请点击“立即开通”按钮,即可一键开通。OOS运维编排是安全免费的服务,请放心开通。
z2

开通后进入运维编排界面,点击自定义模板,点击创建模板
z3

点击空白模板,点击选取。
z4

在创建模板页面Yaml栏中粘贴以下模板。

FormatVersion: OOS-2019-06-01
Description:
  en: Creates an ECS image and modify scaling configuration.
  zh-cn: 创建一个ECS镜像后更新伸缩组配置镜像。
Parameters:
  instanceId:
    Description:
      en: The ID of ECS instance.
      zh-cn: ECS实例ID。
    Type: String
  scalingConfigurationId:
    Description:
      en: The ID of the scaling configuration to be modified.
      zh-cn: 待修改伸缩配置的ID。
    Type: String
  scalingGroupId:
    Description:
      en: The unique id of the scaling group.
      zh-cn: 伸缩组ID。
    Type: String
  rateControl:
    Description:
      en: Concurrency ratio of task execution.
      zh-cn: 任务执行的并发比率。
    Type: Json
    AssociationProperty: RateControl
  OOSAssumeRole:
    Description:
      en: The RAM role to be assumed by OOS.
      zh-cn: OOS扮演的RAM角色。
    Type: String
    Default: OOSServiceRole
RamRole: '{{ OOSAssumeRole }}'
Tasks:
  - Name: createImage
    Action: 'ACS::ECS::CreateImage'
    Description:
      en: Create new image with the specified image name and instance ID.
      zh-cn: 通过指定实例ID和镜像名称创建新的镜像。
    Properties:
      imageName: 'm-{{ACS::ExecutionId}}'
      instanceId: '{{ instanceId }}'
    Outputs:
      imageId:
        ValueSelector: imageId
        Type: String
  - Name: modifyScalingConfiguration
    Action: 'ACS::ExecuteAPI'
    Description:
      en: Modify scaling configuration.
      zh-cn: 修改伸缩配置。
    Properties:
      Service: ESS
      API: ModifyScalingConfiguration
      Parameters:
        ScalingConfigurationId: '{{ scalingConfigurationId }}'
        ImageId: '{{ createImage.imageId }}'
  - Name: getInstance
    Description:
      en: Views the ECS instances.
      zh-cn: 获取ECS实例。
    Action: 'ACS::ExecuteApi'
    Properties:
      Service: ECS
      API: DescribeInstances
      Parameters:
        Status: Running
        Tags:
          - Key: 'acs:autoscaling:scalingGroupId'
            Value: '{{ scalingGroupId }}'
    Outputs:
      instanceIds:
        Type: List
        ValueSelector: 'Instances.Instance[].InstanceId'
  - Name: replaceSystemDisk
    Description:
      en: replaces system disk.
      zh-cn: 更换系统盘。
    Action: 'ACS::ECS::ReplaceSystemDisk'
    Properties:
      instanceId: '{{ ACS::TaskLoopItem }}'
      imageId: '{{ createImage.imageId }}'
    Loop:
      RateControl: '{{ rateControl }}'
      Items: '{{ getInstance.instanceIds }}'
Outputs:
  imageId:
    Type: String
    Value: '{{ createImage.imageId }}'

输入模板名称,点击创建模板
z5

在自定义模板页面找到刚创建的模板,点击创建执行。
z6
选择自动执行,点击下一步:设置参数
z7

参数设置页面需要输入以下参数:
z8

确认参数无误后点击创建执行。在执行详情页面可以看到模板执行的详细过程。
z9

执行成功后,伸缩配置镜像已更换为新创建的镜像。
z10

伸缩组中实例的镜像已更换为新创建的镜像。
z11

欢迎使用OOS

OOS客户支持钉钉群:23330931
OOS管理控制台的链接
OOS帮助文档的链接

系列文章

主题文章

阿里云重磅发布云上自动化利器——运维编排OOS

最佳实践

玩转运维编排服务的权限:Assume Role+Pass Role
阿里云运维编排新功能:一键批量克隆ECS

场景系列

运维编排场景系列----更新ECS镜像
运维编排场景系列----运行远端shell脚本
运维编排场景系列----给ECS实例自动打TAG
运维编排场景系列----从实例中拷贝文件到OSS
运维编排场景系列----给实例加到SLS机器组
运维编排场景系列----检测MFA功能状态
运维编排场景系列----每日统计多Region实例的运行状态
运维编排场景系列----如何使用jq
运维编排场景系列----分批到机器上运行命令
运维编排场景系列----更新镜像后自动更新伸缩配置镜像
运维编排场景系列----向Linux实例上传文件
运维编排场景系列----在ECS实例上运行Ansible-playbook
运维编排场景系列----下载JVM堆栈到OSS
运维编排系列场景----将实例的固定公网IP转换为其它新EIP
运维编排场景系列----自动定时升级临时带宽
运维编排场景系列----ECS实例系统快照下载到本地
运维编排场景系列----批量开启存储空间访问日志
运维编排系列场景----快速生成模版shell命令
运维编排系列场景----批量释放实例

相关文章
|
5天前
|
存储 运维 NoSQL
通过OOS实现定时备份Redis实例转储到OSS
基于阿里云 Redis 备份功能,现结合 OOS 推出自动转储至 OSS 的新方案,解决了数据安全风险、运维繁琐、成本增加和效率低下等问题。新方案亮点包括: 1. 数据安全性提高:备份文件自动上传至OSS,利用OSS的数据冗余存储,保证数据在硬件故障时的持久性和可用性。 2. 完全自动化:设置好定时规则后,备份和转储过程无需人工干预。 3. 多实例多地域集中管理:支持一次选择多个实例和跨区域备份,简化管理。 4. 灵活的备份策略和成本控制:自定义备份频率,并通过OSS生命周期管理策略控制成本。 5. 监控和告警:集成OSS和云监控,实时掌握备份状态,及时处理异常。
38 0
|
5月前
|
存储 运维 数据中心
TStack运维笔记(06)- 迁移镜像库
TStack运维笔记(06)- 迁移镜像库
17 0
|
6月前
|
运维 安全 数据库
渗透攻击实例-系统/服务运维配置不当
渗透攻击实例-系统/服务运维配置不当
|
7月前
|
弹性计算 运维 jenkins
使用云助手自动化运维云服务器ECS实例
本文为您介绍如何通过阿里云控制台,使用云助手自动化运维云服务器ECS实例。
161 0
|
8月前
|
运维 Linux Windows
【运维杂谈】如何将iso镜像挂载到Linux系统中?
【运维杂谈】如何将iso镜像挂载到Linux系统中?
216 0
|
9月前
|
运维 Windows
【运维】安装Ghost镜像系统步骤
【运维】安装Ghost镜像系统步骤
【运维】安装Ghost镜像系统步骤
|
10月前
|
弹性计算 负载均衡 测试技术
运维编排系列场景--跨可用区批量克隆ECS实例
背景可用区(Availability Zone,简称 AZ)是指在同一地域内,电力和网络互相独立的物理区域。例如,华北1(青岛)地域支持2个可用区,包括青岛 可用区B和青岛 可用区C。同一可用区内实例之间的网络延时更小,其用户访问速度更快。将应用部署在多个可用区可以提高应用的可用性,降低故障风险。然而,在实际应用中,有时需要将实例从一个可用区迁移到另一个可用区,以实现故障切换、负载均衡、数据备份与
559 0
运维编排系列场景--跨可用区批量克隆ECS实例
|
10月前
|
弹性计算 运维 数据中心
运维编排系列场景--跨账号跨地域实例操作系统补丁修复
运维编排(OOS) 简介什么是OOSOperation Orchestration Service,简称OOS,是全面、免费的云上自动化运维平台,提供运维任务的管理和执行。典型使用场景包括:事件驱动运维,批量操作运维,定时运维任务,跨地域运维等,OOS为重要运维场景提供审批,通知等功能。OOS帮您实现标准化运维任务,从而实践运维即代码(Operations as Code)的先进理念。关于OOS更
394 0
|
10月前
|
弹性计算 运维 监控
运维编排系列场景--通过告警触发自动重启CPU使用率高的ECS实例
运维编排(OOS) 简介什么是OOSOperation Orchestration Service,简称OOS,是全面、免费的云上自动化运维平台,提供运维任务的管理和执行。典型使用场景包括:事件驱动运维,批量操作运维,定时运维任务,跨地域运维等,OOS为重要运维场景提供审批,通知等功能。OOS帮您实现标准化运维任务,从而实践运维即代码(Operations as Code)的先进理念。关于OOS更
184 0
|
11月前
|
Web App开发 弹性计算 运维
《企业运维之弹性计算原理与实践》——ECS 进阶概念-运维——第三章(中)实验 1:使用云助手自动化运维云服务器 ECS 实例(1)
《企业运维之弹性计算原理与实践》——ECS 进阶概念-运维——第三章(中)实验 1:使用云助手自动化运维云服务器 ECS 实例(1)
358 0
《企业运维之弹性计算原理与实践》——ECS 进阶概念-运维——第三章(中)实验 1:使用云助手自动化运维云服务器 ECS 实例(1)