saltstack pillar

pillar和grains不一样,是在master上定义的,并且是针对minion定义的一些信息。像一些比较重要的数据(密码)可以存在pillar里,还可以定义变量等。

配置自定义pillar

master上

vim  /etc/salt/master

# 找到如下配置:
#去掉前面的警号

pillar_roots:
  base: #此行前面有两个空格
    - /srv/pillar #此行前面有4个空格

minion上

mkdir /srv/pillar

vim /srv/pillar/test.sls  
# 内容如下

conf: /etc/123.conf
vi /srv/pillar/top.sls  
# 内容如下

base:
  'salt1': #此行前面有两个空格
    - test #此行前面有4个空格指定test.sls

top.sls 相当于入口文件

重启

master
 systemctl restart salt-master

当更改完pillar配置文件后,我们可以通过刷新pillar配置来获取新的pillar状态:

salt '*' saltutil.refresh_pillar

验证:

salt  '*' pillar.item conf
 pillar

同样可以用来作为salt的匹配对象。比如

salt  -I 'conf:/etc/123.conf' test.ping

最后更新于

这有帮助吗?