Salt Stack - Pillar
作者:互联网
数据系统 - Pillar
Pillar是Salt非常重要的一个组件,它用于给特定的minion定义任何需要的数据。Pillar的一个特点,Pillar数据是与特定minion关联的,也就是说
每一个minion都只能看到自己的数据。
存储位置
存储在master端,修改/etc/salt/master:
pillar_roots:
base:
- /srv/pillar
其中/srv/pillar是pillar文件的目录位置。
查看内置Pillar
salt '*' pillar.items //查看所有的
salt '*' pillar.item name //查看名为name的pillar
定义Pillar
和state系统一样,pillar也是需要一个top.sls文件作为一个入口,用来指定对象。
在/srv/pillar创建top.sls:
base:
'*':
- data #这里指定了一个data pillar模块
在当前目录中创建data.sls:
test: hello world
获取Pillar
运行:
salt '*' pillar.item test
可以得到定义的值。
刷新Pillar
运行如下命令来刷新minion的pillar数据。
salt '*' saltutil.refresh_pillar
Pillar的使用
使用Pillar来指定target,。
salt -I 'test:hello world' test.ping
这里使用-I来指定在包含test值为hello world的target中运行test.ping。
在后续会介绍如何在sls中使用Pillar。
总结
- Grains存储在minion端,是静态数据,minion启动时搜集,也可以使用saltutil.sync_grains进行刷新,存储minion基本数据,比如用于匹配minion,
资深数据可用来做资产管理。 - Pillar存储在master端,是动态数据,在master端定义,指定给对应的minion。可以使用saltutil.refresh_pillar刷新,存储master指定的数据,只
有指定的minion可以看到。用于保存敏感数据。
标签:pillar,minion,salt,Pillar,master,test,Salt,Stack 来源: https://blog.csdn.net/zhaoruda/article/details/89042869