天天看点

2.4 salt grains与pillar jinja的模板

<code>grains 和 pillar</code>

<code>vim </code><code>/</code><code>etc</code><code>/</code><code>salt</code><code>/</code><code>grains</code>

<code>role: nginx</code>

<code>env: test</code>

<code>myname: tpp</code>

<code>/</code><code>etc</code><code>/</code><code>init.d</code><code>/</code><code>salt</code><code>-</code><code>minion restart</code>

<code>salt </code><code>'slaver.test.com'</code> <code>grains.item role env myname</code>

<code>salt </code><code>-</code><code>G role:nginx cmd.run </code><code>'hostname'</code>

<code>pillar 和 grains 不一样,是在 master 上定义的,并且是针对 minion 定义的一些信息</code>

<code>salt </code><code>'slaver.test.com'</code> <code>pillar.items</code>

<code>http:</code><code>/</code><code>/</code><code>msiyuetian.blog.</code><code>51cto</code><code>.com</code><code>/</code><code>8637744</code><code>/</code><code>1745785</code>

<code>[root@nginx pillar]</code><code># tree</code>

<code>.</code>

<code>├── test.sls</code>

<code>└── top.sls</code>

<code>[root@nginx pillar]</code><code># cat *.sls</code>

<code>conf: </code><code>/</code><code>etc</code><code>/</code><code>123.conf</code>

<code>base:</code>

<code>  </code><code>'cm1'</code><code>:</code>

<code>    </code><code>-</code> <code>test</code>

<code>pillar刷新</code>

<code>salt </code><code>'*'</code> <code>saltutil.refresh_pillar</code>

<code>salt </code><code>-</code><code>I </code><code>'conf:/etc/123.conf'</code> <code>test.ping</code>

salt grains与pillar jinja的模板

<a href="http://lihuipeng.blog.51cto.com/3064864/1394316" target="_blank">http://lihuipeng.blog.51cto.com/3064864/1394316</a>

1.先学会salt grains与pillar 

2.saltstack应用之简化pillar配置步骤

3.Saltstack用pillar(jinjia)来渲染需要同步的配置文件

一个简单的例子:同步zabbix的配置文件到8台minion

http://blog.csdn.net/tmpbook/article/details/41858369

# egrep -v "(^#|^$)" /etc/zabbix/zabbix_agentd.conf    

PidFile=/var/run/zabbix/zabbix_agentd.pid    

LogFile=/var/log/zabbix/zabbix_agentd.log    

LogFileSize=1  

Server=192.168.46.184  

ServerActive=192.168.46.184,192.168.46.185  

Hostname=(这里要是minion端的ip)  

UnsafeUserParameters=1  

Include=/etc/zabbix/zabbix_agentd.d/  

结构

1.pillar-&gt;zabbix-&gt;ip.sls

ip: {{ grains['ipv4'][1] }}

2.jinja state.sls

zabbix:  

  file.managed:  

    - source: salt://zabbix/zabbix_agentd.conf  

    - name: /etc/zabbix/zabbix_agentd.conf  

    - template: jinja  

    - defaults:  

        ip: {{ pillar['ip'] }}

模板存新值

3.调用模板

vim zabbix_agentd.conf

Hostname=` ip `  

Include=/etc/zabbix/zabbix_agentd.d/

4.至于top.sls的写法

增加pillar目录

本文转自 liqius 51CTO博客,原文链接:http://blog.51cto.com/szgb17/1915221,如需转载请自行联系原作者

继续阅读