<code>[root@bogon salt]</code><code># cat master</code>
<code>file_roots:</code>
<code> </code><code>base:</code>
<code> </code><code>-</code> <code>/</code><code>srv</code><code>/</code><code>salt</code><code>/</code><code>base</code>
<code> </code><code>prod:</code>
<code> </code><code>-</code> <code>/</code><code>srv</code><code>/</code><code>salt</code><code>/</code><code>prod</code>
<code>interface: </code><code>192.168</code><code>.</code><code>88.3</code>
<code>reactor:</code>
<code> </code><code>-</code> <code>'salt/auth'</code><code>:</code>
<code> </code><code>-</code> <code>/</code><code>srv</code><code>/</code><code>reactor</code><code>/</code><code>Minion.sls</code>
<code> </code><code>-</code> <code>'salt/minion/*/start'</code><code>:</code>
<code> </code><code>-</code> <code>/</code><code>srv</code><code>/</code><code>reactor</code><code>/</code><code>auto.sls</code>
<code> </code>
<code>[root@bogon salt]</code><code># cat roster</code>
<code>m10:</code>
<code> </code><code>host: </code><code>192.168</code><code>.</code><code>88.6</code>
<code> </code><code>user: root</code>
<code> </code><code>passwd: </code><code>123456</code>
<code>/</code><code>srv</code><code>/</code><code>salt目錄結構 </code>
<code>conf install.sls yum.repos.d</code>
<code>[root@bogon minions]</code><code># cat install.sls </code>
<code>minion_yum:</code>
<code> </code><code>file</code><code>.recurse:</code>
<code> </code><code>-</code> <code>name: </code><code>/</code><code>etc</code><code>/</code><code>yum.repos.d</code>
<code> </code><code>-</code> <code>source: salt:</code><code>/</code><code>/</code><code>minions</code><code>/</code><code>yum.repos.d</code>
<code> </code><code>-</code> <code>user: root</code>
<code> </code><code>-</code> <code>group: root</code>
<code> </code><code>-</code> <code>file_mode: </code><code>644</code>
<code> </code><code>-</code> <code>dir_mode: </code><code>755</code>
<code> </code><code>-</code> <code>include_empty: </code><code>True</code>
<code>minion_install:</code>
<code> </code><code>pkg.installed:</code>
<code> </code><code>-</code> <code>pkgs:</code>
<code> </code><code>-</code> <code>salt</code><code>-</code><code>minion</code>
<code> </code><code>-</code> <code>require:</code>
<code> </code><code>-</code> <code>file</code><code>: minion_yum</code>
<code> </code><code>-</code> <code>unless: rpm </code><code>-</code><code>qa | grep salt</code><code>-</code><code>minion</code>
<code>minion_conf:</code>
<code> </code><code>file</code><code>.managed:</code>
<code> </code><code>-</code> <code>name: </code><code>/</code><code>etc</code><code>/</code><code>salt</code><code>/</code><code>minion</code>
<code> </code><code>-</code> <code>source: salt:</code><code>/</code><code>/</code><code>minions</code><code>/</code><code>conf</code><code>/</code><code>minion </code>
<code> </code><code>-</code> <code>mode: </code><code>640</code>
<code> </code><code>-</code> <code>pkg: minion_install</code>
<code>minion_service:</code>
<code> </code><code>service.running:</code>
<code> </code><code>-</code> <code>name: salt</code><code>-</code><code>minion</code>
<code> </code><code>-</code> <code>enable: </code><code>True</code>
<code> </code><code>-</code> <code>file</code><code>: minion_conf </code>
<code> </code>
<code>[root@bogon minions]</code><code># cat conf/minion </code>
<code>master: </code><code>192.168</code><code>.</code><code>88.3</code>
<code>id</code><code>: m10 </code>
<code> </code>
<code>這樣可以完成自動驗證</code>
<code>[root@bogon salt]</code><code># cat /srv/reactor/Minion.sls </code>
<code>{</code><code>%</code> <code>if</code> <code>'act'</code> <code>in</code> <code>data </code><code>and</code> <code>data[</code><code>'act'</code><code>] </code><code>=</code><code>=</code> <code>'pend'</code> <code>%</code><code>}</code>
<code>minion_add:</code>
<code> </code><code>wheel.key.accept:</code>
<code> </code><code>-</code> <code>match: {{ data[</code><code>'id'</code><code>] }}</code>
<code>{</code><code>%</code> <code>endif </code><code>%</code><code>}</code>
<code>[root@bogon salt]</code><code># cat /srv/reactor/auto.sls </code>
<code>run_state:</code>
<code> </code><code>local.state.sls:</code>
<code> </code><code>-</code> <code>tgt: {{ data[</code><code>'id'</code><code>] }}</code>
<code> </code><code>-</code> <code>arg:</code>
<code> </code><code>-</code> <code>shencan</code>
<code>run_init:</code>
<code> </code><code>local.cmd.run:</code>
<code> </code><code>-</code> <code>echo initsok >></code><code>/</code><code>tmp</code><code>/</code><code>cpis</code>
salt-ssh -i '*' state.sls minions.install
總是研究一個東西,被很多東西誘惑,搞到最後目标都沒了。靠。
參考 http://zkhylt.blog.51cto.com/3638719/1782990
salt更新
https://repo.saltstack.com/yum
yum install salt-minion python26-zmq -y
#yum install --downloadonly --downloaddir=/home salt-2016
先決條件,全部在master操作
vim /etc/hosts
172.1.1.2 id1
vim /etc/salt/roster
id1:
host: 172.1.1.2
user: root
passwd: xx
master 172.1.1.1
<code>[root@nginx minions]</code><code># tree</code>
<code>.</code>
<code>├── conf</code>
<code>│ └── minion</code>
<code>├── install.sls</code>
<code>└── yum.repos.d</code>
<code> </code><code>├── Centos</code><code>-</code><code>Base</code><code>-</code><code>6.repo</code>
<code> </code><code>└── salt</code><code>-</code><code>latest.repo</code>
[root@nginx minions]# cat /etc/salt/master
file_roots:
base:
- /srv/salt
prod:
- /srv/salt/prod
minion:
- /srv/salt/minions
interface: 172.1.1.1
nodegroups:
mysql: 'id1'
cd /srv/salt/minions
<code>[root@nginx minions]</code><code># cat install.sls </code>
<code> </code><code>-</code> <code>template: jinja</code>
<code> </code><code>-</code> <code>defaults:</code>
<code> </code><code>minion_id: {{ grains[</code><code>'fqdn_ip4'</code><code>][</code><code>0</code><code>]}}</code>
<code> </code><code>-</code> <code>file</code><code>: minion_conf</code>
cat /srv/salt/minions/conf/minion
master: 172.1.1.1
id: id1
寫完後,運作指令
任何目錄 salt-ssh -i '*' state.sls minions.install
salt-ssh -ir '*' 'ps aux | grep salt' | grep salt | grep -v grep| wc -l ##檢視安裝minion端的salt-minion程序是否運作,一個用戶端運作一個salt-minion服務
完畢。
本文轉自 liqius 51CTO部落格,原文連結:http://blog.51cto.com/szgb17/1928970,如需轉載請自行聯系原作者