SaltStack配置管理-jinja模板

时间:2024-05-20 23:07:38

  上一篇:SaltStack配置管理-状态间关系

  

  需求:需要apache配置文件里面监听的端口是每个minion本地的地址

  saltstack默认的模板是jinjia模板

  参考文档:http://docs.jinkan.org/docs/jinja2/

  两种分隔符: {% ... %} 和 {{ ... }} 。前者用于执行诸如 for 循环 或赋值的语句,后者把表达式的结果打印到模板上。

  如何知道salt配置文件是一个模板 需要在sls配置文件里面定义

  apache.init.sls

SaltStack配置管理-jinja模板

  修改配置httpd配置文件files/httpd.conf

SaltStack配置管理-jinja模板

修改为

SaltStack配置管理-jinja模板

  

  加上每个minion的ip地址 ip地址可以通过命令获取

 salt '*' grains.item fqdn_ip4

  修改对应sls配置

SaltStack配置管理-jinja模板

  配置文件files/httpd.conf

SaltStack配置管理-jinja模板

  执行状态查看,这样使用模板的方式可以在所有minion的端口的http配置文件监听的端口改成本机

SaltStack配置管理-jinja模板

  jinja模板小结

- template: jinja  #声明这是一个模板
- defaults: #定义默认的变量
- PORT: 80 #定义变量值

  也可以直接在配置文件使用grains获取值

SaltStack配置管理-jinja模板

  PS:不推荐,把变量写在模板更加清晰