什么是Jinja2
1 | Jinja2 是一个 Python 的功能齐全的模板引擎。 |
salt使用Jinja2模板
1 | SaltStack 是使用YAML语言来将sls文件解释成它自己可以识别的内容,Jinja 是一种基于Python的模板引擎, |
salt使用jinja2模板的三步骤
1 | 1. 告诉file模块,要使用jinja |
Jinja2模板的基本使用
1 | 1. 首先修改源文件中需要引用变量的内容。 |
Jinja2模板的高级使用–监听 “IP:端口” 形式
1 | 在基本使用中由于修改的是端口,端口信息一般是固定的,如果想要修改的信息是每个 minion 自身的 IP 就没办法设置一个通用的信息了, 这个时候需要通过其他方法来获取 minion 相关信息,这里可以使用 Grains 、Pillar 和执行模块三个方法来获取。 |
- 用Grains举例
1 | 1. 首先修改源文件中需要引用变量的内容。 |
1 | 上面的例子中: IPADDR: {{ grains['fqdn_ip4'][0] }} |
附录:在master上查看minion的grains值
1 | salt \* grains.ls #列出grains的所有key |
- 本文作者: GaryWu
- 本文链接: https://garywu520.github.io/2017/10/19/saltstack-jinja2模板-进阶3/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!