salt-JINJA模块的使用方法详解

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的变化
在这里插入图片描述

pillar方式比较简单而且符合实际!!!

发布了108 篇原创文章 · 获赞 127 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/chaos_oper/article/details/91488454