pillar
pillar简介:
pillar和grains不一样,pillar是在master上定义的,并且是针对Minion定义的信息,他不需要到minion上进行操作。
像一些重要的数据密码都可以存储在pillar上,pillar存储的是动态信息。
pillar是存储在master端,缓存在minion端,存储的是minion的一些配置信息。
pillar常用的命令:
salt 'minion' pillar.items #查看minion端的所有pillar配置信息
salt 'minion' pillar.item conf #查看minion端某个pillar信息,如conf
salt -I 'conf:111' cmd.run ls #根据匹配的配置信息探寻到某个minion,并执行远程命令
salt 'minion' saltutil.refresh_pillar #刷新pillar
自定义pillar:
自定义的pillar只需要在master上进行操作,不需要操作minion端。
步骤:
(1)打开pillar存放目录
vim /etc/salt/master ,去掉下面三行的#
529 pillar_roots:
530 base:
531 - /srv/pillar
pillar的存放目录是在srv下,没有pillar目录需要创建。
(2)cd /srv/pillar 下
自定义创建一个pillar,如test.sls,如随意写几个配置信息,保存退出
conf: /etc/123.conf
hostname: minion
另外还需要创建一个top.sls入口文件,每一个pillar都必须有一个top入口。
1 base: #固定base
2 'minion': #主机名,也可以使用*代表所有minion
3 - test #minion执行的自定义pillar名字,即刚才创建的test.sls要一致
(3)重启master或者刷新pillar
这样就完成了配置minion的pillar
可以进行如下测试:
salt 'minion' pillar.items 查看是否会列出test.sls的配置信息
salt 'minion' pillar.item hostname 查看是否会列出hostname的配置信息
salt -I hostname:minion cmd.run ls 查看是否会执行根据配置信息去匹配minion并执行远程命令
pillar和grains区别总结:
(1)pillar是存储在master端,缓存在minion端,存储的是minion端的配置信息,是动态数据,不需要在minion上操作。需要在master的配置文件上开启pillar,并给每个pillar定义一个top入口。
(2)grains是存储在minion端,缓存在master端,存储的是minion在刚启动时收集的静态数据,如系统、cpu、内存等信息。需要在minion上定义grains。
相关阅读
Pillar是什么? Pillar是Salt非常重要的一个组件,它用于给特定的minion定义任何你需要的数据,这些数据可以被Salt的其他组件使用。 P