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