1:存储位置
- 存储在master端,存放需要提供给minion的信息
- 每个minion只能访问master分配给自己的(应用场景)
2:在centos7 salt 2015.5.10 (Lithium) 中pailar默认不是开启的,需要手动开启
vim /etc/salt/master
#更改如下内容
pillar_opts: True
执行如下命令进行测试
salt "node3.crazylinux.xyz" pillar.items
3:启用pillars配置,套路和grains一样
- 指定pillars的文件目录位置
vim /etc/salt/master
修改内容如下:
pillar_roots:
base:
- /srv/pillar
- 在/srv/pillar/目录中写了一个zabbix.sls
vim zabbix.sls
内容如下:
Zabbix_Server: 192.168.31.102
- 在/srv/pillar/目录中写了一个top.sls
vim top.sls
内容如下:
base:
'node3.crazylinux.xyz':
- zabbix
4:刷新pillar的数据
salt '*' saltutil.refresh_pillar
5:获取一下pillar,进行测试
salt '*' pillar.item Zabbix_Server
#返回结果如下
node2.crazylinux.xyz:
----------
node3.crazylinux.xyz:
----------
Zabbix_Server:
192.168.31.102
6:pillar匹配时使用的是-I选项
salt -I 'Zabbix_Server:192.168.31.102' test.ping
返回结果如下:
node3.crazylinux.xyz:
True
总结
1:Grains存储在minion端,是静态数据,minion启动时搜集,也可以使用saltutil.sync_grains进行刷新,存储minion基本数据,比如用于匹配minion,资深数据可用来做资产管理。
2:Pillar存储在master端,是动态数据,在master端定义,指定给对应的minion。可以使用saltutil.refresh_pillar刷新,存储master指定的数据,只有指定的minion可以看到。用于保存敏感数据。
来源:oschina
链接:https://my.oschina.net/u/4394096/blog/4193618