Template简介
Ansible的Template(模板)模块使用Jinja2模板引擎来创建和管理配置文件。Jinja2是一个流行的Python模板引擎,它提供了强大的模板语法和功能,使得在配置文件中进行动态内容替换变得非常灵活和可扩展。
Jinjia2的数据类型
- 字符串:使用单引号或双引号包含的字符序列。
- 数字:整数,浮点数。
- 列表:[item1, item2, ...]。
- 元组:(item1, item2, ...)。
- 字典:{key1:value1, key2:value2, ...}。
- 布尔型:true、false。
Jinjia2的运算符
- 算数运算符:+、-、*、/、//、%。
- 比较运算符:==、!=、>、>=、<、<=。
- 逻辑运算符:or、and、not。
- 布尔运算符:true、false。
Jinjia2的流程控制
- 分支结构:<%if 条件%>语句一<%else%>语句二<%endif%>
- 循环结构:<%for 变量 in 列表/字典%>语句<%endfor%>
Template示例
1、变量的使用。
1.1、主机清单中定义变量。

1.2、编辑Jinja2模板文件。模板文件以.j2结尾,并且位于templates目录下。

1.3、编辑playbook文件,在文件中使用关键字template引用模板。

1.4、执行剧本。

1.5、查看目标主机上的运行结果。
1.5.1、主机一上的执行结果。

1.5.2、主机二上的执行结果。

2、分支结构的使用。
2.1、主机清单中定义变量。

2.2、编辑Jinja2模板文件。

2.3、编辑playbook文件,在文件中使用关键字template引用模板。

2.4、执行剧本。

2.5、查看目标主机上的运行结果。
2.5.1、主机一上的执行结果。

2.5.2、主机二上的执行结果。

3、循环结构的使用。
3.1、主机清单中定义变量。

3.2、编辑Jinja2模板文件。

3.3、编辑playbook文件,在文件中使用关键字template引用模板。

3.4、执行剧本。

3.5、查看目标主机上的运行结果。
3.5.1、主机一上的执行结果。

3.5.2、主机二上的执行结果。
