Pillar数据是与特定minion关联的,也就是说每一个minion都只能看到自己的数据,所以Pillar可以用来传递敏感数据
Pillar使用与State相似的SLS文件。Pillar文件放在master配置文件中pillar_roots定义的目录下
vim /etc/salt/master
......
pillar_roots:
base:
- /srv/pillar
......
Pillar也有top file,也使用相同的匹配方式将数据应用到minion上
vim /srv/pillar/top.sls
base:
'*':
- test
- os_test
vim /srv/pillar/test.sls
info: test_data
vim /srv/pillar/os_test.sls #利用Pillar处理平台差异
{% if grains['os_family'] == 'RedHat' %}
www_root: /var/www
{% elif grains['os_family'] == 'Debian' %}
www_root: /var/data
{% endif %}
salt '*' pillar.items www_root
salt '*' pillar.items info
vim /srv/pillar/top.sls
base:
"*":
- schedule
-
-------------------------------------------
vim /srv/pillar/schedule.sls
#每秒吧日志输出到 /tmp/date.log
schedule:
test-job:
function: cmd.run #方法
seconds: 1 #时间/秒
args:
- 'date >> /tmp/date.log'
在master上修改Pilla文件后,需要用以下命令刷新minion上的数据
"*" saltutil.refresh_pillar