Pillar

 

 

关于Pillar

  • Salt中的pillar接口是Salt开发中最重要的接口之一
  • pillar数据是在Salt master上生成的并被安全地分布到minions上 
  • Pillar数据只在匹配的minions上有效。
  • Pillar可以包含任何基础数据结构

 

Pillar存储路径

需要在master配置文件中定义pillar_roots,其用来指定Pillar data存储在哪个目录,默认是/srv/pillar。

pillar_roots:
    base:
        - /srv/pillar
    dev:
       - /srv/pillar/dev
    prod:
        - /srv/pillar/prod

 

 

Pillat top.sls

base:
  '*':                       # 所有minion
      - packages
  'host2':                # 只有host2
      - bbb
  ‘host*':                # 以 “host” 开头的
      - kkk

 

 

定义Pillar 数据

{% if grains['os'] == 'RedHat' %}
apache: httpd
{% elif grains['os'] == 'Debian' %}
apache: apache2
{% endif %}

{% if grains['host'].startswith(('w','W')) %}      
abc: ddd
{% else %}
abc: FFF
{% endif %}

 

 

 扩展Pillar

mysql:
  user: 'root'
  pass: '2016@qqDFR_&'
  host: '192.168.1.2'
  db: 'wonhigh'
ext_pillar:
  - mysql:
    - query: 'SELECT data FROM t1 WHERE hostname LIKE %s' 
      depth: 2

pillar支持的数据存储模块列表地址:http://docs.saltstack.com/en/latest/ref/pillar/all/index.html#all-salt-pillars

 

 

 

 

 

posted @ 2017-05-28 00:08  跟随心走  阅读(461)  评论(0编辑  收藏  举报