Play-book格式写法

Play-Book

playbook的组成

  • play 角色(主机或者主机组)
  • task 任务,演戏的动作

总结:playbook是有多个play组成,一个play有多个task;剧本由一个或者多个演员组成,一个演员得有多个台词或者动作。

playbook的语法格式:yaml

Ansible中"剧本文件"是以yml结尾的文件。
SaltStack中"剧本文件"是以sls结尾的文件。
但是语法,使用的都是yaml语法

YAML语法

语法 描述
缩进 YAML使用固定的缩进风格表示层级结构,每个缩进由两个空格组成, 不能使用TAB
冒号 以冒号结尾的除外,其他所有冒号后面所有必须有空格
短横线 表示列表项,使用一个短横杠加一个空格,多个项使用同样的缩进级别作为同一列表
[root@m01 ~]# vi rsync.yaml
- hosts: web_group
  tasks:
    - name: install httpd server
      yum:
        name: httpd
        state: present
        
[root@m01 ~]# ansible-playbook rsync.yaml

[root@m01 ~]# vi rsync.yaml
- hosts: web_group
  tasks:
    - name: install httpd server
      yum:
        name: httpd
        state: present
        
# 按装并启动服务

# hosts 表示的是主机
# tasks 表示的是要执行的任务
# - name 任务的名称
# yum 对应的模块
# yum的下一级表示的是对应的参数。比如name=httpd,state=present
[root@m01 ~]# vi httpd.yml 
- hosts: web_group

  tasks:
    - name: install httpd server
      yum:
        name: httpd
        state: present

    - name: start httpd
      service:
        name: httpd
        state: started
        
# 只执行之前先测试,测试playbook
[root@m01 ~]# ansible-playbook -C install.yml 

# 直接运行playbook
[root@m01 ~]# ansible-playbook rsync.yaml

# 检测yml的语法
[root@m01 ~]# ansible-playbook --syntax-check rsync.yaml

原文地址:https://www.cnblogs.com/gshelldon/p/13375032.html