1.playbook简介
play是针对清单中选定的主机运行的一组有序任务。playbook是一个文本文件,其中包含由一个或多个按特定顺序运行的play组成的列表。
playbook配置文件使用YAML语法,具有简洁明了、结构清晰等特点。playbook配置文件类似于shell脚本,是一个YAML格式的文件, 用于保存针对特定需求的任务列表。 ansible的一些命令虽然可以完成各种任务,但是当配置一些复杂任务时,逐条输入就显得效率非常低下了。更有效的方案是在
playbook配置文件中放置所有的任务代码,利用ansible _playbook命令执行该文件, 可以实现自动化运维。YAML文件的扩展名通常为yaml或yml。
2.playbook格式
---
- name: Configure important user consistently #标记文件的开始
hosts: 172.16.103.129 #指定该playbook在哪个服务器上执行
task: #任务
- name: runtime exists with UID 4000 #指定该任务的名称。
user:
name: runtime
uid: 4000
state: present
--- #标记文件的开始
- hosts: webservers #指定该playbook在哪个服务器上执行
vars: #表示下面是定义的变量,
http_port: 80 #变量的形式,key: value,这里http_port是变量名,80是值
max_clients: 200
remote_user: root #指定远程的用户名,默认为root
tasks: #任务
- name: ensure apache is at the latest version #指定该任务的名称。
yum: pkg=httpd state=latest #yum说明要是用的模板名称,后面指定对应的参数,这两行结合起来就相当于一个shell命令。
- name: write the apache config file #每个task之间可以使用空行来做区