Pillar是动态数据
- 给特定的minion指定特定的数据(top file)
- 只有指定的minion自己能看到自己的数据
开启系统自带的pillar数据并查看
[root@saltStack01 ~]# sed -i 's/#pillar_opts: False/pillar_opts: True/g' /etc/salt/master |grep pillar_opts: [root@saltStack01 ~]# systemctl restart salt-master [root@saltStack01 ~]# salt '*' pillar.itemsGrains和Pillar的对比
组件 类型 数据采集方式 应用场景 定义位置 Grains 静态 minion启动时收集 数据查询、目标选择、配置管理 minion Pillar 动态 master自定义 目标选择、配置管理、敏感数据 master
配置pillar参数
1、定义pillar的Base环境
[root@saltStack01 ~]# cat /etc/salt/master |grep -A 2 pillar_roots: pillar_roots: base: - /srv/pillar [root@saltStack01 ~]#2、创建sls文件
[root@saltStack01 ~]# mkdir -p /srv/pillar [root@saltStack01 ~]# systemctl restart salt-master [root@saltStack01 ~]# cat /srv/pillar/top.sls base: '*salt*': - packages - services [root@saltStack01 ~]# cat /srv/pillar/packages.sls zabbix: port: 10050 user: zabbix [root@saltStack01 ~]# cat /srv/pillar/services.sls {% if grains['os'] == 'CentOS' %} web: apache {% elif grains['os'] == 'Debian' %} web: nginx {% endif %} [root@saltStack01 ~]#3、刷新pillar
[root@saltStack01 ~]# salt '*salt*' saltutil.refresh_pillar4、验证
[root@saltStack01 ~]# salt '*salt*' pillar.item zabbix saltStack01: ---------- zabbix: ---------- port: 10050 user: zabbix [root@saltStack01 ~]# salt '*salt*' pillar.item web saltStack01: ---------- web: apache [root@saltStack01 ~]# salt -I 'web:apache' test.ping saltStack01: True [root@saltStack01 ~]#
pillar相关命令:
[root@saltStack01 ~]# salt '*salt*' sys.list_functions pillar saltStack01: - pillar.data - pillar.ext - pillar.get - pillar.item - pillar.items - pillar.raw [root@saltStack01 ~]#salt '*salt*' sys.doc pillar