grains存儲(chǔ)于minion端咽扇,主要是minion在啟動(dòng)時(shí)收集系統(tǒng)信息發(fā)送至master,可以自定義邪财。
pillar存儲(chǔ)于master端,此類數(shù)據(jù)加密质欲,
舉例:
/etc/salt/master配置:
pillar_roots:
base:
- /srv/pillar/base
prod:
- /srv/pillar/prod
# 定義了base環(huán)境與prod環(huán)境所使用不同pillar屬性值
編排stats目錄:
[root@node2 pillar]# pwd
/srv/pillar
[root@node2 pillar]# tree
├── base
│ ├── ceshi
│ │ └── init.sls
│ └── top.sls
└── prod
├── rabbitmq
│ └── init.sls
└── top.sls
# 設(shè)置base屬性树埠,
[root@node2 pillar]# cat base/top.sls
base:
'*':
- ceshi
[root@node2 pillar]# cat base/ceshi/init.sls
os1:
osnum: 1
# 設(shè)置prod屬性,
[root@node2 pillar]# cat prod/top.sls
prod:
'*':
- rabbitmq
[root@node2 pillar]# cat prod/rabbitmq/init.sls
os2:
osnum: 2
在設(shè)置屬性值時(shí)可以根據(jù)grains值來進(jìn)行判斷之后在設(shè)置嘶伟,非常靈活怎憋。
# 例子:
pkgs:
{% if grains['os'] == 'CentOS' %}
apache: httpd
git: git
{% elif grains['os'] == 'SUSE' %}
apache: apache2
git: git-core
{% endif %}
更新pillar屬性:
# salt '*' saltutil.refresh_pillar
查看pillar定義屬性是否生效:
# salt '*' pillar.items os1
# salt '*' pillar.items os2