task:
任务:使用各模块所执行的特性操作任务,比如:-m user -a 'name= password='
Variables:
变量:
Templates:
模板
在定义模板后可以实现各节点对应的变量来取代,表达式自身会根据当前节点所赋值做运算,之后生成的值则赋予这个参数,用于生产不同配置的配置文件,所以模板主要实现配置不同场景文本文件
而且这种使用模板语言来定义
模板语言中可以根据定义替换成特定主机的某些值
handlers:
处理器:
如果某一次操作配置文件发生改变的话,远程和本地配置文件不一致,那么肯定是将其配置文件需要进行覆盖,这样需要在配置文件发送改变的话需要触动某些机制进行操作
说白了就是事先可以在某些条件下,比如配置发生改变)被触发的操作
Rolse:
角色:层次型组织playbooks以及其所依赖的各种资源的一种机制;其角色可以单独被调用
彼此之间的server服务器的配置肯定是完全不一样的,如果对于这些节点同时配置并提供同样的playbooks 是不可能的,所以将其每个server分成组
之间有些角色或者功能是相同的,那么比如web server 之间可能有同步时间等,某些服务是通用的,因此有了这些机制之后能够实现按需要将某个类特定服务器相同操作定义基础配置,将特定功能定义成一类操作
playbook是基于YAML语言所定义的声明试配置文件
数据结构包括:
每个横线所表示引导一个列表中的一向,通过缩进所表示具有相同缩进的元素是同一个列表的元素
如下所示,定义playbook的结构化部分:
name : deploy web server #定义一个任务模块,跟上这个名称
user : foouser #使用user模块定义其使用的用户是foouer
sodu : True #是否允许sudo权限
hosts : all #对所有的主机模块生效
tasks: #将一个任务定义应用某一个具体操作
name : install apache #定义名称为install apache
apt : pkg=apache2-mpm-prefork state=latest #使用apt模块进行安装 状态为latest