saltstack数据系统Pillar

什么是Pillar?

  Pillar数据存储在master上。指定的minion只能看到自己的Pillar数据,其他的minion看不到任何Pillar数据,这一点与状态文件正好相反。

  所有通过认证的minion都可以获取状态文件,但是每个minion却都有自已的一套Pillar数据,而且每台minion的Pillar都进行了加密,所以很适用于敏感数据。

常用命令

salt '*' sys.doc pillar            # 查看与pillar有关的帮助信息
salt '*' pillar.items               # 获取所有pillar items值
salt '*' pillar.data                 # 等价于pillar.items
salt '*' saltutil.refresh_pillar   # 刷新pillar值
salt '*' saltutil.sync_all         # 刷新pillar值,与refresh_pillar操作类似,但范围更大
salt '*' sys.list_functions pillar # 列出所有的pillar相关函数方法
salt '*' pillar.get xxx            # 获取某项的值
salt '*' pillar.raw                 # 内存中获取

自定义Pillar

  pillar默认目录为/srv/pillar,如果没有需要创建。top.sls文件为入口文件。

  前面入门博客有介绍,可以查看  pillar介绍

使用Pillar

命令行使用 "-I"

root@King: ~# salt -I "role:aaa" cmd.run 'ulimit -n'    # 查看role值是aaa的
salt-minion-1: 
    65535

SLS文件使用

# cat pillar/memcached.sls 
memcached: memcached

# cat mc/memcached_installed.sls 
memcached_installed:
  pkg.installed:
    - name: {{ pillar['memcached'] }}

 

posted @ 2021-01-19 14:07  82年的加多宝  阅读(90)  评论(0编辑  收藏  举报