1.要启用pillar,首先要修改master中的配置
[root@salt-master pillar]# vim /etc/salt/master
pillar_roots:
base:
- /salt/pillar
2.重启master
[root@salt-master pillar]# systemctl restar salt-master
3.是存放在master端,默认位置/srv/pillar,需要新建目录。和salt sls类似,也是需要top.sls
mkdir /srv/pillar
4.在/srv/pillar目录中创建一个top.sls文件
[root@salt-master pillar]# vim top.sls #内容如下:
base:
'node2.example.com': #指定的主机
- sc #调用sc模版中的值
5.在/srv/pillar中创建一个sc.sls文件
[root@salt-master pillar]# vim sc.sls #内容为键值对,k, v格式的
name: guomaoqiu
age: 22
language: chineses
好啦,此时pillar定义好了
6.执行saltutil.sync_grains #刷新pillar的值
[root@salt-master pillar]# salt 'node2.exmaple.com' saltutil.refresh_pillar
#看下结果:
[root@salt-master pillar]# salt "node2.example.com" pillar.data
node2.example.com:
----------
age:
22
language:
chineses
name:
guomaoqiu
7.由上可见在node2这台主机上已经有pillar值啦,只是这个值是保存在master端的;那问题来了,如何使用jinja模板来调用grains或者是pillar的值呢?看下面:
[root@salt-master salt]# pwd
/srv/salt
[root@salt-master salt]# cat top.sls
base:
'node2.example.com':
- test.test
[root@salt-master salt]# cat test/test.sls
/tmp/test1.conf:
file.managed:
- source: salt://test/test1.conf.jinja
- template: jinja #调用jinja模板
看一下模板文件:test1.conf.jinja  该模板文件都调用了grains及pillar的值
8.推到node2上面去:

9.在minion端查看
 看到了红色框住的就是通过调用grains,pillar值生成的。