SaltStack配置管理-jinja模板

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

  

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

  saltstack默认的模板是jinjia模板

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

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

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

  apache.init.sls

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

修改为

  

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

 salt '*' grains.item fqdn_ip4

  修改对应sls配置

  配置文件files/httpd.conf

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

  jinja模板小结

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

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

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

  

  

原文地址:https://www.cnblogs.com/minseo/p/8832079.html