運維工具SaltStack之四Pillar組件

運維工具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                #內存中獲取

相關文章
相關標籤/搜索