1、查看
[root@wyl01 ~]# vim /etc/salt/master
# 设置为 true 重启master
重启后我们再看
设置为ture,我们就可以看到系统默认自带的pillar的值,不过在下面的操作中,我们关闭pillar_opts的值,改为False,
方便我们接下来自定义一个,方便查看。
pillar是字典 ,是多层级别,grains是列表的 可以是一个值 也可以是多个值。
grains可以在pillar中使用,这里是给pillar定义一个值,然后获取一个pillar值。
接下来,我们要修改master文件配置,确定pillar文件所存放的位置。
[root@wyl01 web]# pwd #先创建/srv/pillar/web的目录
/srv/pillar/web
[root@wyl01 web]# cat apache.sls
{% if grains['os'] == 'CentOS' %}
apache: httpd
{% elif grains['os'] == 'redhat' %}
apache: bfd
{% endif %}
接着创建top.sls文件,和状态管理很像,如下:
我们看一下pillar的top.sls文件内容:
写好之后我们不需要重启,直接查看就可以
如果还是出不来,可以刷新一下。
salt '*' saltutil.refresh_pillar
pillar用来进行目标匹配,我们在pillar的top.sls文件中定义了wyl03机器apache为key httpd为value的一个目标值。
granis和pillar的对比:
类型
|
数据采集方式
|
应用场景
|
定义位置
| |||
Grains
|
静态
|
minion启动时收集
|
数据查询
|
目标查询
|
配置管理
|
minion端
|
pillar
|
动态
|
master自定义
|
目标选择
|
配置管理
|
敏感数据
|
master端
|