全部产品

通过OOS在实例内运行Ansible Playbook

更新时间:2020-07-23 10:42:59

准备工作

在OSS(对象存储)准备一个需要运行的playbook,内容(在实例中安装nginx)如下:

---
- hosts: local
  connection: local
  become: yes
  become_user: root
  tasks:
   - name: Install Nginx
     yum:
       name: nginx
       state: installed
       update_cache: true

场景一:运行通过https方式存储的Ansible Playbook

前提条件:

实例必须能访问公网。

操作指引:

1.登陆对象存储控制台,找到存储Playbook的bucket。

image.png

2.单击文件名,复制文件URL。

image.png

3.登录到运维编排控制台,选择公共模板,搜索ACS-ECS-ApplyAnsiblePlayBook。点击

创建执行。

image.png

4.点击下一步:设置参数。

image.png

5.存储类型选择https,存储URL贴入从OSS中得到的URL,其它参数用法参考下文模板参数介绍

image.png

6.执行模式选择分批执行,详细用法参考模板参数介绍中ratecontrol介绍。

image.png

7.确认参数输入无误后,点击创建

image.png

8.在执行详情中找到子执行,可以看到在分批执行中。

0910

9.点击详情查看子执行的执行情况,执行palybook的结果会显示在输出参数中。

11

场景二:运行通过OSS方式存储的Ansible Playbook

前提条件:

所选实例必须配置实例角色,并且实例角色中包含OSS读权限,详情参考批量下载文件到实例中角色配置和授予部分。

操作指引:

1.存储类型选择oss,存储路径为文件在oss中的存储路径(oss://bucket/filename)。其他步骤参考场景一。

image.png

模板参数介绍:

  • sourceType: playbook存储的类型。

  • sourcePath: 存储playbook的URL。

  • playbookFile: 执行的playbook名称,例如: example.yml。

  • tokenInfo: 指定令牌以下载playbook,只有从GitHub上下载palybook时需要填。

  • hosts:用于执行palybook的hosts。

  • installDependencies: 如果设置为True,则OOS从PyPI存储库中安装Ansible及其依赖项,包括Python。如果设置为False,则需要验证目标实例上是否安装了Ansible及其依赖项。

  • workingDir: 执行playbook的目录。

  • check: 使用check参数运行Ansible执行检查。

  • extraVariables: 其他变量在运行时传递给Ansible。 输入以空格分隔的键/值对列表。 例如:color=red flavour=lime

  • verbose: 设置用于记录Playbook执行情况的详细程度。 指定-v表示低级别,-vv或–vvv表示中等级别,-vvvv表示调试级别。

  • ratecontrol:任务执行的并发比率。
    • 并发控制
      • 并发速率:指定一个数值或者百分比来控制并发速率,如1表示每次执行1台实例。
      • 最大错误数: 指定任务在停止前的最大错误次数,可以是数值或者百分比,默认值是0,表示最多错误个数为1。

image.png

    • 批次控制
      • 批次速率数组:把一个执行明确地分成多个批次,然后一个批次运行完,再运行下一个批次,上一个批次不全部完成的情况下,下一个批次不会开始,批次值可以是数值或者百分比,如[1, 5%, 10%] 表示第一个批次是1,第二个批次是总量的5%,第三个以后批次为10%。

image.png