saltstack-6 pillar组件

1、master配置

默认master端的为所有数据都定义到plillar中,而且对所有主机都开放。

可以修改:/etc/salt/master中的pillar_opts的属性来修改。

salt '*' pillar.data

修改为false返回结果:

修改为true返回结果:

 可以看到,定义为false时,只显示了对应主机的参数。true时,所有msater端的配置参数都显示到pillar中

2、sls文件定义

(1)配置pillar的主目录:

  • 修改/etc/salt/maste中的pillar_roots:参数,定义pillar的主目录,默认为:/srv/pillar
  • 创建pillar的主目录:install -d /srv/pillar

 (2)定义入口文件,*号代表所有主机

/srv/pillar/top.sls

base:
  '*':
    - data

/srv/pillar/data.sls

appname: website
flow:
  maxconn: 30000
  maxmem: 6G
{% if grains['id'] == 'db_01' %}
  maxcpu: 8
{% else %}
  maxcpu: 4
{% endif %}

 (3)刷新被控控主机pillar数据

salt '*' saltutil.refresh_pillar

(4)校验

salt '*' pillar.data appname flow

3、使用

(1)通过-I参数,实现主机信息的过滤

salt -I 'appname:website' test.ping

(2)与grains处理数据差异

appname: website
flow:
  maxconn: 30000
  maxmem: 6G
{% if grains['id'] == 'db_01' %}
  maxcpu: 8
{% else %}
  maxcpu: 4
{% endif %}

配置sls文件时,与grains参数组合,写条件判断,如果id时db_01,则maxcpu的值为8,否则为4。整理笔记时,已经进行了这一定义,所以以开始的结果,已经如此显示。

猜你喜欢

转载自www.cnblogs.com/zxw-xxcsl/p/11440756.html