您现在的位置是:首页 > 文章详情

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

日期:2019-10-10点击:340

场景介绍

把新代码部署到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命令
运维编排系列场景----批量释放实例

原文链接:https://yq.aliyun.com/articles/720502
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章