templates模块
jinja模板架构,通过模板可以实现向模板文件传参(python转义)把占位符参数传到配置文件中
生成一个目标文件,传递到需要配置文件当中(web开发)
httpd.conf.j2 在文件当中配置的是占位符(声明的变量)
/etc/ansible/hosts 配置了主机的占占位符名称和j2文件中的占位符一致(定义参数: 占位符的参数的参数声明)
playbook当中,template模块来把参数传给目标的主机的配置文件。
tags模块 ?标签模块
可以在与playbook当中为任务设定标签(tags),我们在运行playbook时可以通过指定任务标签,来实现只运行设定的标签任
- name:
tags:
debug
--tags debug
--start-at-task='wdf’
任务标签的种类
always: 不管你是否指定了运行标签,任务都会执行
never: 即使运行了指定标签,该任务也不会执行
debug: 调试任务
setup: 收集主机信息
自定义标签
per_tasks: 指定标签之前的任务
post_tasks: 运行指定标签之后的任务
rolse模块 ?角色模块
ansible层次化、结构化的组织playbook,使用了rolse(角色)的概念
可以根据层次的结构自动装载变量文件、task任务以及触发器(处理器)handlers等等
rolse模块分别把变量、文件、任务、模块以及处理器放在单独的目录当中,使用rolse模块来一键调用这些文件
rolse:
....web... ?总目录,角色
files ?存放copy和script模块调用文件
templates ?存放j2的模板文件
tasks ?包含任务的目录
-------main.yml ?角色运行的任务
handlers ?包含处理器的目录
--------main.yml
vars ?存放变量的目录
--------main.yml
defaults ?包含默认变量的目录
--------main.yml
meta ?包含元信息的目录
--------main.yml
site.yml ?统筹调用所有的配置文件