SaltStack数据系统-Pillar详解

时间:2023-03-10 07:20:02
SaltStack数据系统-Pillar详解

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可以看到。用于保存敏感数据。