Pillar數據是與特定minion關聯的,也就是說每一個minion都只能看到自己的數據,所以Pillar可以用來傳遞敏感數據
定義Pillar數據
master配置文件中定義
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