菜鸟玩云计算之廿一: 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.202 hbase: master: 192.168.122.201
# vi /srv/pillar/top.sls
top.sls:
base: '*': - data - users - hadoop.params
测试使用:
# salt '*' saltutil.refresh_pillar # salt '*' pillar.items