批量在多台ECS内执行命令的最佳实践

  • 时间:
  • 浏览:0

准备工作不到有另还还有一个简单步骤。

不可能 命令正在运行中,愿意看后例如如下的结果,Status是“running”。TotalTasks是总的命令数,SuccessTasks是不可能 执行成功的命令数。有另还还有一个数字的差,可是还待执行的命令数。

OOS管理控制台的链接:https://oos.console.aliyun.com

OOS帮助文档的链接 https://help.aliyun.com/product/119529.html

运维编排OOS是阿里云的运维自动化平台,适用于批量、定时、事件驱动、跨区域运维等场景,除了在ECS内执行命令外,须要完成ECS创建释放,启停,变配,网络时延升级,挂载云盘等等各种操作。

阿里云的客户远程在ECS内部管理执行命令是最常见的运维操作之一了,比如在ECS内安装卸载软件,启动停止某个多多线程 ,等等。可是请况下,还须要对有另还还有一个ECS列表中的多台ECS,统一的执行某个相同的命令并汇聚执行的结果。

不可能 用户使用的是Windows版本的ECS,随便说说须要利用PowerShell远程执行命令,愿意 配置和维护过程更加困难。

在里边的例子里,命令的参数有点过于多样化,随便说说我愿意自定义模板把参数固定下来,让执行的命令变得格外简单。

有另还还有一个可行的方案是利用SSH远程连接到ECS上执行命令,愿意 开放ECS的SSH端口给internet访问是危险的。客户须要通过自建跳板机来间接访问ECS以解决安全性的问题,愿意 这带来了多样化度和成本的上升。

屏幕快照 2019-10-14 下午7.25.60 .png

今后,你只须要执行如下命令就须要完成和前面一样的效果了

让当当我们 直接先看有另还还有一个例子,我愿意针对cn-beijing地域的["i-1234","i-5678"]这两台远程Linux ECS,执行“echo 123”这种shell命令,我只须要在我本地的shell终端里,输入命令:

首先,请访问运维编排OOS的控制台点一下“立即开通”按钮完成服务的开通。这是有另还还有一个免费服务,请放心开通。

此命令调用oos的StartExecution这种API,执行sample123这种自定义模板,不须要额外传入参数。

简单解释一下里边这种命令,它调用了oos的StartExecution的API,启动官方提供的公共模板ACS-ECS-BulkyRunCommand,传入带有了ECS实例列表(ResourceIds)和执行内容(commandContent)的参数。

请记录下ExecutionId,愿意 作为参数输入到下面的ListExecutions命令查询执行的过程和结果:

https://oos.console.aliyun.com/

在此,让当当我们 向让当当我们 推荐阿里云官方的批量在多台ECS内执行命令的最佳实践:运维编排服务OOS+云助手。云助手提供了在ECS内执行命令的原子能力,运维编排服务OOS则附加了更充裕的批量、定时、事件驱动、自定义模板等能力,两者结合,须要让ECS运维工作变得既安全又简单高效。

该命令会返回有另还还有一个json内部管理,不可能 你能找到"ExecutionId": "exec-xxxxx", 不到 恭喜你,你指定的命令不可能 结束在远程执行了。

https://oos.console.aliyun.com/

自定义模板的命令如下,愿意根据我本人的须要进行改写:

不可能 想了解更多,加入钉钉群“运维编排OOS支持群”,群号23360 931。让当当我们 会有值班人员在线支持。

Ansible是业界比较流行的开源的运维工具,愿意 其认证是独立于阿里云的账号体系之外的,无法通过阿里云的官方工具进行权限控制,其操作记录也无法在阿里云上进行审计。

开通过后 ,请确保您已安装和配置了阿里云命令行工具CLI,且版本号大于等于 3.0.19。该CLI在Github上的下载链接为:https://github.com/aliyun/aliyun-cli/releases

当然,前面用CLI所做的一切操作,须要在OOS控制台用白屏化的土辦法 执行,链接为:

愿意多次执行同样的ListExecutions命令进行查看,直到看后Outputs表示整个命令的结果,对于本例,为两台ECS上的标准输出: