運維工具SaltStack之四Pillar組件mysql
1、pillar組件介紹sql
跟grains的結構同樣,存放須要提供給Minion端的信息,存儲在master端。可根據各個機器環境的不一樣,分別定義變量,而後再sls文件裏統一引用,官方表示pillar是存儲敏感數據的,主要解決環境的差別性。同時與grains組件還有一個特別的區別:grains數據加載在內存裏,即minion啓動以後不會變,哪怕修改了grains,除非重啓minion或者從master端同步。而pillar修改以後,再獲取數據即生效了。bash
注;pillar是存放在master端,默認位置/srv/pillar,須要新建目錄。和salt sls相似,也是須要top.sls運維
2、pillar組件自定義ide
1.使用默認的Master的pillar_roots配置路徑 /srv/pillar須要新建立該目錄函數
# mkdir /srv/pillar
2.修改salt的Master主配置文件(/etc/salt/master),新增以下內容,而且須要重啓Master服務:工具
pillar_roots: base: - /srv/pillar # systemctl restart salt-master.service
注意:yaml格式問題: 和 - 後有空格,當心縮進!!!!!!!!spa
3.在/srv/pillar目錄下新建top.sls(入口文件),如:rest
# cat /srv/pillar/top.sls base: '*': - test #指data.sls文件
注:'*'表明任意主機,- test 指包含一個test.sls文件.top.sls引用時可用兩種方法:文件放在同級;二是在pillar目錄下建立test目錄,在該目錄下建立init.sls文件。內存
4.在/srv/pillar目錄下新建test.sls,內容以下:
# cat test.sls httpd: pkg: httpd version: 2.4
5.刷新Minion端主機的pillar信息,檢查test.sls數據項mysql
# salt '*' saltutil.refresh_pillar minion01: True # salt 'minion01' pillar.items minion01: ---------- httpd: ---------- pkg: httpd version: 2.4
6.常見pillar命令
salt '*' sys.doc pillar #查看與pillar有關的幫助信息
salt '*' pillar.items #獲取全部pillar items值
salt '*' pillar.data #等價於pillar.items
salt '*' saltutil.refresh_pillar #刷新pillar值
salt '*' saltutil.sync_all #刷新pillar值,與refresh_pillar操做相似,但範圍更大
salt '*' sys.list_functions pillar #列出全部的pillar相關函數方法
salt '*' pillar.get xxx #獲取某項的值
salt '*' pillar.raw #內存中獲取