Salt Stack - Jinja模版
作者:互联网
Jinja模版
Jinja可以基于Grains和pillar动态生成配置文件。
Jinja简单示例
比如,在/srv/salt中定义test_jinja.sls:
{% set var= 'test jinja' %} #变量
test_var:
cmd.run:
- name: echo "my var is {{ var }}"
运行如下命令查看:
salt '*' state.sls test_jinja
输出结果为:
State: - cmd
Name: echo "my var is test jinja"
Function: run
Result: True
Comment: Command "echo "my var is test jinja"" run
Changes: pid: 12579
retcode: 0
stderr:
stdout: my var is test jinja
使用Jinja生成nginx页面
定义index.html 模版
定义模板templates/index.html
<!DOCTYPE html>
<html>
<body>
<span>{{pillar['content']}}</span>
</body>
</html>
在模板中使用pillar中定义的变量。
修改 /srv/salt/nginx.sls
nginx:
pkg.installed:
- name: nginx
service.running:
- enable: True
- reload: True
- watch:
- file: index.html
index.html:
file.managed:
- name: /usr/share/nginx/html/index.html
- source: salt://template/index.html
- user: root
- group: root
- mode: 755
- template: jinja
- require:
- pkg: nginx
其中:
- name:指定minion中的文件地址
- source:指定在base目录中的地址
- template:表明文件是jinja模板
- require:指定file模块依赖于nginx模块
运行salt ‘*’ state.highstate命令并查看nginx页面。
标签:index,jinja,test,nginx,html,var,Salt,Stack,Jinja 来源: https://blog.csdn.net/zhaoruda/article/details/89042873