Play-Book playbook的组成 play 角色(主机或者主机组) task 任务,演戏的动作 总结:playbook是有多个play组成,一个play有多个task;剧本由一个或者多个演员组成,一个演员得有多个台词或者动作。 playbook的语法格式:yaml 在Ansible中"剧本
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