saltstack的乙個比較突出優勢就是具備執行遠端命令的功能。
操作方法與func
(相似,可以幫助運維人員完成集中化的操作平台。
命令格式:salt '《操作目標》' 《方法》 [引數]
[root@saltstack-master master]# salt 'saltstack_web1group_1
' cmd.run '
free -m
'saltstack_web1group_1:
total used free shared buffers cached
mem:
23022360
1555
-/+ buffers/cache: 153
77swap:
2083
2221861
其中針對《操作目標》,saltstack提供了多種方法對被控制端(id)進行過濾。下面列舉常用的具體引數:
1)-e:--pcre:通過正規表示式進行匹配。
[root@saltstack-master master]# salt -e '^saltstack.*
'test.ping
saltstack_web1group_1:
true
saltstack_web1group_2:
true
2)-l:--list 以主機id名列表的形式進行過濾,格式與python的列表相似,即不同主機id名稱使用逗號分隔。
[root@saltstack-master master]# salt -l 'saltstack_web1group_1,saltstack_web1group_2
'grains.item osfullname
saltstack_web1group_1:
----------osfullname:
centos
saltstack_web1group_2:
----------osfullname:
centos
3)-g:--grain 根據被控主機的grains資訊(grains是saltstack重要元件之一,重要作用是收集被控主機的基本系統資訊)進行匹配過濾,格式為':'。
比如過濾核心為linux的主機可以寫成'kernel:linux',如果同時需要正規表示式的支援可以切成--grain-pcre引數來執行。
[root@saltstack-master ~]# salt -g 'osrelease:6.5
' cmd.run '
python -v
'saltstack_web1group_1:
python
2.6.6
saltstack_web1group_2:
python
2.6.6
比如過濾所有具備'apache:httpd' pillar值的主機。
探測具有"httpd:root:/data"資訊的主機連通性。
其中pillar屬性配置檔案如下:
5)-n:--nodegroup 根據主控端master配置檔案中的分組名稱進行過濾。
如下配置的組資訊(主機資訊支援正規表示式、grain、條件運算子等),通常根據業務型別劃分,不同業務具備相同的特點,包括部署環境、應用平台、配置檔案等。
l@:表示後面的主機id格式為列表,即主機id以逗號隔開;
g@:表示以grain格式描述;
[root@saltstack-master salt]# vim /etc/salt/masternodegroups:
web1group:
'l@saltstack_web1group_1,saltstack_web1group_2
'[root@saltstack-master salt]# salt -n web1group test.ping
saltstack_web1group_2:
true
saltstack_web1group_1:
true
6)-c:--compound 根據條件運算子not、and、or去匹配不同規則的主機資訊。
[root@saltstack-master salt]# salt -c 'e@^salt.* and g@os:centos
'test.ping
saltstack_web1group_1:
true
saltstack_web1group_2:
true
not語句不能作為第乙個條件執行,不過可以通過以下方法來規避:
[root@saltstack-master salt]# salt -c '* and not e@^jenkins.*
'test.ping
saltstack_web1group_2:
true
saltstack_web1group_1:
true
[root@saltstack-master salt]# salt -s 192.168.0.0/16test.ping
saltstack_web1group_1:
true
saltstack_web1group_2:
true
SaltStack 三 遠端執行
在前面3個小節我們介紹了saltstack並且講解了salt的安裝部署。相信你現在已經只有擁有乙個master和至少乙個minion。我們能做點什麼呢?下面的兩個章節,帶領讀者快速的使用saltstack的遠端執行和配置管理功能。遠端執行時saltstack的核心功能之一。主要使用salt模組可以批...
saltstack配置安裝和遠端執行
實驗環境 server6 mster server7 minion saltstack是乙個伺服器基礎架構集中化管理平台,具備配置管理 遠端執行 監控等功能.通過部署saltstack環境,我們可以在成千上萬臺伺服器上做到批量執行命令,根據不同業務特性進行配置集中化管理 分發檔案 採集伺服器資料 作...
saltstack遠端執行之目標選擇
g遠端執行目標選擇分為兩類 1.和minion id有關,需要使用minion id 1 globbing 萬用字元 2 regex 正規表示式 3 list 列表 2.和minionid無關不涉及到minion id 1 子網 ip位址 2 grains 3 pillar 4 compound m...