saltstack Pillar

Pillar数据是与特定minion关联的,也就是说每一个minion都只能看到自己的数据,所以Pillar可以用来传递敏感数据

定义Pillar数据

master配置文件中定义

Pillar使用与State相似的SLS文件。Pillar文件放在master配置文件中pillar_roots定义的目录下

vim /etc/salt/master
......
pillar_roots:
  base:
    - /srv/pillar
  ......

Pillar也有top file,也使用相同的匹配方式将数据应用到minion上

vim /srv/pillar/top.sls

base:
  '*':
    - test     - os_test 
vim /srv/pillar/test.sls
info: test_data

vim /srv/pillar/os_test.sls #利用Pillar处理平台差异
{% if grains['os_family'] == 'RedHat' %}
www_root: /var/www
{% elif grains['os_family'] == 'Debian' %}
www_root: /var/data
{% endif %}

salt '*' pillar.items www_root
salt '*' pillar.items info

定义定时任务


vim /srv/pillar/top.sls
base:
  "*":
      - schedule       - ------------------------------------------- vim /srv/pillar/schedule.sls
#每秒吧日志输出到 /tmp/date.log
schedule:

  test-job:

    function: cmd.run #方法

    seconds: 1 #时间/秒

    args:

      - 'date >> /tmp/date.log' 

在master上修改Pilla文件后,需要用以下命令刷新minion上的数据

 "*" saltutil.refresh_pillar

你可能感兴趣的:(saltstack)