概述

        当你需要反复执行或要执行多个task时,可以将这些task编写入playbook,然后用playbook推送给在inventory中定义好的一组服务器执行。

        playbook以YAML格式表示。一个playbook由一个或多个play组成,一个play中包含一个或多个task,一个task对应一个module。

        playbook按从上到下的顺序运行。在每个play中,tasks也按从上到下的顺序运行。

示例

playbook:manage-base-env.yml

---
- name: manager instance base env
  hosts: liqitest2
  vars:
    name1: tree
  tasks:
  - name: install lrzsz
    command: yum install -y lrzsz
  - name: install tree
    command: yum install -y {{ name1 }}

name          play的名称

hosts          inventory中定义的主机组

vars            定义变量

tasks          任务list

执行playbook

ansible-playbook manage-base-env.yml

验证playbook

ansible -playbook命令提供了多个验证选项,包括--check、--diff、--list-hosts、--list-tasks和--syntax-check。

-C, --check               不做任何改变;相反,试着预测可能发生的一些变化

-D, --diff                    更改(小)文件和模板时,显示这些文件中的差异;

--list-hosts                输出匹配主机的列表;不执行任何其他操作

--list-tasks                列出将要执行的所有任务

--syntax-check         对playbook执行语法检查,但不要执行

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐