运维编排场景系列----Autoscaling 通过LifecycleHook在实例启动时安装软件
本文将为您介绍如何通过LifecycleHook实现弹性伸缩组中实例启动/释放时执行命令
相关介绍
lifecycleHook通过关联OOS模板的方式来实现到实例执行命令的工作,关于lifecycleHook与OOS如何协作,你可以查看兄弟文章AutoScaling 通过lifecycleHook自动添加Redis白名单。
关联模板
ACS-ESS-LifeCycleRunCommand模板负责执行命令的操作。
模板具有如下行为:
- 根据指定的实例ID列表并发到实例执行命令
该模板同时支持回调功能:
- 执行成功时,通过回调通知lifecycleHook继续执行挂起的伸缩活动;
- 执行失败时,通过回调通知lifecycleHook回滚挂起的伸缩活动;
- 当无回调时,lifecycleHook挂起的伸缩活动将在超时后,hook指定的策略。
参数指定
用户可以创建类型为OOS的lifecycleHook,并选择OOS系统模板ACS-ESS-LifeCycleRunCommand。在选择了指定的系统模板之后,你需要为模板运行配置合适的参数,例如命令的内容,命令的类型,lifecycleHook ID信息等。由于实例ID列表,lifecycleHook ID等信息只有在运行时才能获取到,你需要通过伪参数的提供占位符信息,支持的伪参数信息如下:
- ${scalingGroupId},当前伸缩活动所属的伸缩组id;
- ${instanceIds},当前伸缩活动关联的实例列表;
- ${regionId},当前伸缩活动执行的地域;
- ${lifecycleActionToken},伸缩活动的等待状态标识符,用于提前结束当前的挂起活动;
- ${lifecycleHookId},关联生命周期挂钩id。
注意事项
使用ACS-ESS-LifeCycleRunCommand模板时您需要注意:
当指定生命周期挂钩关联一个OOS模板时,用户需要通过生命周期挂钩的通知标识(NotificationMetadata,简称metadata)为创建OOS执行指定所需的参数。针对OOS模板的metadata,你需要注意:
- metadata必须为JSON字符串格式;
- metadata中的键,必须与OOS模板参数一一对应;
- OOS模板中不存在默认值的参数必须指定,存在默认值的参数可选择是否指定以覆盖默认值
角色配置
OOS服务使用OOSServiceRole做为默认角色,您需要创建并给该角色相应的权限以使OOS完成相应的操作
配置步骤如下:
1.在Ram控制台创建角色并指定受信服务为运维编排服务
2.为OOS配置相应的权限 这里需要ECS和ESS的Full权限
操作步骤
手动将实例扩容到4台 然后看看执行结果
执行后我们可以看到在OOS控制台有相应的一条执行并执行成功了,可以点详情看执行内容
总结
至此我们完成了在实例启动时到实例执行命令的整个操作,相应的,您还可以再移除实例之前到实例执行命令,借此您可以完成安装软件和优雅停机的整个过程。
系列文章
主题文章
最佳实践
玩转运维编排服务的权限:Assume Role+Pass Role
阿里云运维编排新功能:一键批量克隆ECS
批量在多台ECS内执行命令
场景系列
运维编排场景系列----更新ECS镜像
运维编排场景系列----给ECS实例自动打TAG
运维编排场景系列----从实例中拷贝文件到OSS
运维编排场景系列----给实例加到SLS机器组
运维编排场景系列----检测MFA功能状态
运维编排场景系列----每日统计多Region实例的运行状态
运维编排场景系列----如何使用jq
运维编排场景系列----分批到机器上运行命令
运维编排场景系列----更新镜像后自动更新伸缩配置镜像
运维编排场景系列----向Linux实例上传文件
运维编排场景系列----运行远端shell脚本
运维编排场景系列----在ECS实例上运行Ansible-playbook
运维编排场景系列----下载JVM堆栈到OSS
运维编排系列场景----将实例的固定公网IP转换为其它新EIP
运维编排场景系列----自动定时升级临时带宽
运维编排场景系列----批量更新云助手客户端
运维编排系列场景----批量释放实例
运维编排场景系列----ECS实例系统快照下载到本地
运维编排场景系列----批量更换系统盘
运维编排场景系列----基于镜像的日常发布
运维编排场景系列----自动创建多个区域同类型存储空间
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Gitee 通过 ISO27001 安全认证与 ISO9001 质量认证
最近,Gitee 正式通过了: IS0/IEC 27001:2013信息安全管理体系认证; ISO9001:2015质量管理体系认证。 ISO27001 是目前国际上最权威、最严格、也是全球应用最广泛与典型的信息安全管理体系标准,涵盖安全策略、资产管理、物理和环境安全、通信和操作管理、访问控制、系统采集开发和维护、信息安全事故管理、业务连续性管理、符合性等一系列内容,要求企业必须构筑高规格的信息安全体系,在实操过程中确保用户信息安全及运营系统的高稳定性。 通过 ISO/IEC27001 认证也再一次证明了码云 Gitee 对信息安全的重视程度以及完备的数据保护策略。代码是企业的核心资产,作为代码托管平台,码云一直竭力保护每一位用户的数据安全。详细内容可见码云如何保护你的数据 —— 系统和网络篇、码云如何保护你的数据——内部安全治理篇。 ISO9001 认证是国际公认的高标准的质量管理体系,通过 ISO9001 认证表明企业在各项管理系统整合上已达到了国际标准,并且能持续稳定地为用户提供预期和满意的合格产品。本次ISO 9001认证的通过,是对码云 Gitee 现有的内部管理体系和产品质...
- 下一篇
11月27日云栖号头条:2020,AI算法市场是否还能火起来;使用无人机送货,离我们还有多远?
今日最新云头条快讯:2020,AI算法市场能火起来吗?物流科技的发展先后经历了机械化、自动化阶段,目前已经发展到了智慧化阶段;没有哪种死法比车祸更荒谬,但这样的「随机性残忍」时有发生,一起来看最新的资讯: 2020,AI算法市场能火起来吗? 中国AI产业中的基础算法创新,框架、芯片,以及配套IT产业的进化,都让2019堪称饱满。AI算法市场,是一个产业智能兴起的必要不充分条件,也就是说有了兴旺的算法市场也不一定怎么样,但没有它一定称不上产业兴旺。2020,AI依旧在探索中等待,也在等待中探索。 无人机送货,离我们还有多远? 以前你在电商仓储中心看到的人头攒动、机器轰鸣的景象,正在被悄无声息、井然有序的场景所取代。未来的无人仓能够通过智慧化的手段把系统和设备协同起来,人将作为管理员的角色参与到仓库运营,监测仓库内机器与智慧化设备的正常运转。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- CentOS6,CentOS7官方镜像安装Oracle11G
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题