playbook简介

playbook是ansible用于配置,部署,和管理被控制节点的剧本。通过playbook的详细描述,执行其中的一系列tasks,可以让远端主机达到预期的状态。playbook就像ansible控制器给被控制节点列出的一系列to-do-list,而被控制节点别需要完成。
1.核心元素
Hosts:指定主机清单,或者主机组
Tasks:任务列表
Variables;设定或传递一些变量,四种方式
Templates;定制模板
Handlers:由特定条件触发的任务
2.打标签
给一部分的tasks打上标签,若调用标签,则只是运行标签下面的tasks,如下定义的标签,以及运行结果
运维自动化之ansible的playbook用法_第1张图片
运维自动化之ansible的playbook用法
3.handles用法
在特定条件下,执行的tasks
运维自动化之ansible的playbook用法_第2张图片
4.facts变量使用
如下的playbook可用来安装服务,在执行的时候指定安装的服务。
运维自动化之ansible的playbook用法_第3张图片
运维自动化之ansible的playbook用法
5.模板的制定
例如定义一个nginx的模板
A:将nginx.conf文件复制为nginx.conf.j2
运维自动化之ansible的playbook用法
B:修改模板配置文件,在yml文件中将copy改为templates,因为此时是推送的模板,而且要用里面的变量,这里将nginxport设置为了8888
运维自动化之ansible的playbook用法_第4张图片
C:指定标签reloadnignx,重启远程主机的nginx服务
运维自动化之ansible的playbook用法