Salt Stack - Pillar

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhaoruda/article/details/89042869

数据系统 - 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可以看到。用于保存敏感数据。

猜你喜欢

转载自blog.csdn.net/zhaoruda/article/details/89042869