需求:需要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:不推荐,把变量写在模板更加清晰