Jinja加载工具为jinja模板提供了一个更强大的后端
以配置apache的IP和端口为例来学习jinja
方法1:
1.在install.sls中添加port:80
[root@server1 ~]# cd /srv/salt/apache/
[root@server1 apache]# vim install.sls

2.修改apache服务配置文件httpd.conf
[root@server1 apache]# cd files/
[root@server1 files]# vim httpd.conf
42行 Listen {{ port }}
3.重新推送
[root@server1 apache]# salt server2 state.sls apache.service
方法2:将端口和ip定义成变量的形式
1.在install.sls添加IP
[root@server1 apache]# vim install.sls

2.修改apache服务配置文件httpd.conf
[root@server1 apache]# cd files/
[root@server1 files]# ls
httpd.conf
[root@server1 files]# vim httpd.conf
42行 Listen {{ host }}:{{ port }}
3.重新推送
[root@server1 apache]# salt server2 state.sls apache.service

方法3:静态变量的方式
1.用grains工具提取server2端IP地址
[root@server1 files]# salt server2 grains.item ipv4

2.修改httpd.conf配置文件
[root@server1 files]# vim httpd.conf
Listen {{ grains['ipv4'][1] }}:{{ port }}
3.重新推送
[root@server1 files]# salt server2 state.sls apache.service
方法4:可以选择只修改/srv/salt/apache/install.sls而不修改httpd.conf配置文件
1.修改install.sls文件
[root@server1 apache]# vim install.sls

2.httpd.conf改回原来的
[root@server1 apache]# cd files/
[root@server1 files]# vim httpd.conf
Listen {{ host }}:{{ port }}
3.重新推送
[root@server1 files]# salt server2 state.sls apache.service
方法5:使用pillar
1.编辑文件:vim /srv/pillar/web/vars.sls
{% if grains['fqdn'] == 'server2' %}
webserver: httpd
state: master
ip: 172.25.13.2
port: 8080
{% elif grains['fqdn'] == 'server3' %}
webserver: nginx
state: backup
ip: 172.25.13.3
port: 80
{% endif %}
2.编辑install.sls文件

3.重新推送
salt server2 state.sls apache.service
4.在server2上查看端口和ip的变化

本文介绍了使用Jinja模板工具来高效配置Apache服务的方法。通过五种不同方式,包括直接在配置文件中使用变量、从grains提取信息、以及利用pillar进行参数传递,展示了如何灵活地管理和更新Apache的IP地址和端口设置。
545

被折叠的 条评论
为什么被折叠?



