当 Ansible 渲染 Jinja 模板时,可能会出现缩进问题。主要原因是 Jinja 会根据缩进来判断代码块的开始和结束,而 Ansible 默认使用两个空格作为缩进,而不是四个空格,从而导致无法正确渲染模板。
要解决这个问题,可以通过在 Ansible 配置文件中设置 jinja2_indenting
参数为 true,来使 Jinja 识别四个空格作为缩进。示例代码如下所示:
- name: Render Jinja template
template:
src: template.j2
dest: /etc/myconfig.conf
vars:
myvar: myval
options:
jinja2_indenting: true
这样,Ansible 就能正确识别缩进,并成功渲染 Jinja 模板了。
下一篇:Ansible循环