运维编排(OOS) 简介
什么是OOS
Operation Orchestration Service,简称OOS,是全面、免费的云上自动化运维平台,提供运维任务的管理和执行。典型使用场景包括:事件驱动运维,批量操作运维,定时运维任务,跨地域运维等,OOS为重要运维场景提供审批,通知等功能。OOS帮您实现标准化运维任务,从而实践运维即代码(Operations as Code)的先进理念。关于OOS更详细的介绍请查阅 运维编排服务。
场景介绍
在自动化运维的一些场景中,有些特殊的操作需要被资源的管理者特殊关注,例如删除重要资源,或使用费用较高的实例等。这个时候运维执行的审批功能就能够发挥作用,既保证运维模版执行的灵活性,也使得这些特殊操作被资源管理者知悉并同意。
之前,弹性计算OOS审批流程自动化运维一文中介绍了基于RAM权限配置的一种审批实践。
但随着审批场景的多样化,这种实践方案的不足也逐渐显现。
- 用户需配置复杂的RAM审批权限,且无法将审批权限精确的控制到执行Execution层面。
- 只支持单个用户审批,不支持至少N人审批通过才执行的复杂场景。
解决方案
基于前述的各种问题,OOS扩展了审批动作 ACS::Approve 的相关功能。
- 可以在模版中指定审批者的列表,使得每次执行可以灵活指定不同的审批者。
- 可以在模版中指定至少N人审批通过才执行,适合较为复杂的多人审批场景。
审批逻辑
操作步骤
- 首先登录到运维编排控制台。
- 创建自己的审批操作模版,其中包含 ACS::Approve 审批任务 (参考文档)。
- 执行模版并指定审批者列表,和审批通过的最少人数。
- 被指定的审批者通过通知中的链接,进入审批详情页进行审批操作。
操作示例
下面以公共模版 ACS-ECS-ApproveBulkyRunCommand 为例,为大家展示一下审批功能的执行。
创建执行
- 像普通RunCommand模版一样,选择执行命令的实例,并输入命令。
- 设置审批相关的配置
- 审批通知钉钉群的 WebHookUrl
- 审批通知需要@钉钉用户的手机号码
- 审批者列表
- 审批通过的最少人数
- 收到钉钉通知,点击其中的执行详情链接
- 在执行详情页,点击 审批步骤 按钮,选择同意或拒绝,并确认。
- 如果审批通过,模版任务被执行
- 如果审批拒绝,模版任务将不会被执行。而且执行者可以通过审批任务的信息得知拒绝者,并进一步沟通。
附录
如何获取钉钉WebHook
参见 OOS任务的审批的使用 附录2