菜鳥玩雲端運算之廿一:saltstack之pillar
菜鳥玩雲端運算之廿一: saltstack之pillar
查看pillar資料:
# salt '*' pillar.items
pillar的預設根目錄在:/srv/pillar,可以通過下面的參數更改設定檔/etc/salt/master:
pillar_roots: your_dir
saltstack的入口檔案分別是/srv/pillar/top.sls 與 /srv/salt/top.sls. 入口檔案的意思就是,在minion“用戶端”上,每次請求服務端配置的時候,它們實際上所請求的是這兩個檔案,雖然有很多的sls檔案,但其實它們都是通過這兩個檔案所關聯起來的。
建立下面的pillar根目錄,並建立入口檔案: top.sls
# mkdir /srv/pillar# vi /srv/pillar/top.sls
top.sls:
base: '*': - data
上面這個入口檔案指定了/srv/pillar/data.sls檔案,適用於所有minions. ('*').
data.sls:
info: somedata
重新整理所有節點的pillar:
# salt '*' saltutil.refresh_pillar
202:
True
203:
True
再次查看節點的pillar:
# salt '*' pillar.items
202:
----------
info:
some data
...
203:
----------
info:
some data
...
如果在/srv/pillar/下面建立子目錄users/,在top.sls中可以直接引用到init.sls. 例如:
# mkdir /srv/pillar/users# vi /srv/pillar/users/init.sls
init.sls內容如下:
users: jhonson: 2001 tom: 2993 peter: 3098 tex: 18990
為了在top.sls能引用到users,需要更改為:
base: '*': - data - users
重新整理並顯示:
# salt '*' saltutil.refresh_pillar# salt '*' pillar.item users
203:
----------
users:
----------
jhonson:
2001
peter:
2098
tex:
18900
tom:
2993
202:
----------
users:
----------
jhonson:
2001
peter:
2098
tex:
18900
tom:
2993
再來一個例子:
# mkdir /srv/pillar/hadoop# vi /srv/pillar/hadoop/params.sls
params.sls:
hdfs: namenode: 192.168.122.201 stadbynode: 192.168.122.202hbase: master: 192.168.122.201
# vi /srv/pillar/top.sls
top.sls:
base: '*': - data - users - hadoop.params
測試使用:
# salt '*' saltutil.refresh_pillar# salt '*' pillar.items