<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->zabbix->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,如需转载请自行联系原作者