SaltStack安裝配置與遠程執行測試
一、環境準備
1、使用3臺Redhat 6.5的服務器,分別是:
salt-master:192.168.10.120
salt-minion01:192.168.10.121
salt-minion02:192.168.10.122
2、每臺服務器分別配置hosts解析
3、每臺服務器上先安裝官方的yum源,它會在/etc/yum.repos.d/下面自動生成repo文件,下載地址為
https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el6.noarch.rpm
二、安裝配置SaltStack
1、在salt-master上使用yum安裝salt-master
[root@salt-master ~]# yum install -y salt-master
2、分別在兩臺salt-minion上通過yum安salt-minion,以下以salt-minion01為例
[root@salt-minion01 ~]# yum install salt-minion -y
3、在salt-master上設置salt-master服務開機自啟並啟動服務
4、在salt-minion01和salt-minion02上修改配置文件,指定master的IP地址,設置服務開機自啟並啟動服務
[root@salt-minion01 ~]# sed -i 's/#master: salt/master: 192.168.10.120/g' /etc/salt/minion
[root@salt-minion01 ~]# grep master: /etc/salt/minion |grep -v ^#
master: 192.168.10.120
[root@salt-minion01 ~]#chkconfig salt-minion on
[root@salt-minion02 ~]# sed -i 's/#master: salt/master: 192.168.10.120/g' /etc/salt/minion
[root@salt-minion02 ~]# grep master: /etc/salt/minion |grep -v ^#
master: 192.168.10.120
[root@salt-minion02 ~]#chkconfig salt-minion on
5、master和minion的服務啟動後都會生成公鑰和私鑰,需要在master端使用salt-key命令配置密鑰認證,完成後就可以對minion進行管理了
salt-key的命令參數主要有:
-L 會顯示所有minion公鑰,不加任何參數也相當於-L的效果
-a 許可指定的公鑰,後面要指定你允許的minion的id名
-A 許可所有minion的公鑰
-r 拒絕指定的公鑰
-R 拒絕所有pending的公鑰
-d 根據公鑰的名稱刪除公鑰,刪除指定的minion
-D 刪除所有公鑰,刪除所有已經認證的minion
-y 對所有詢問是否繼續,回答yes
三、遠程執行測試
1、使用test.ping測試網絡連通性
2、使用cmd.run測試遠程執行命令
3、對minion的批量管理操作,還可以靈活使用以下寫法
4、當服務器數量比較多時,我們可以提前定義好分組,目標服務器分組有以下七種方式,這七種方式的標示符分別為:
G -- 針對 Grains 做單個匹配,例如:G@os:Ubuntu
E -- 針對 minion 針對正則表達式做匹配,例如:E@web\d+.(dev|qa|prod).loc
P -- 針對 Grains 做正則表達式匹配,例如:P@os:(RedHat|Fedora|CentOS)
L -- 針對 minion 做列表匹配,例如:[email protected],minion3.domain.com or bl*.domain.com
I -- 針對 Pillar 做單個匹配,例如:I@pdata:foobar
S -- 針對子網或是 IP 做匹配,例如:[email protected]/24 or [email protected]
R -- 針對客戶端範圍做匹配,例如: R@%foo.bar
5、編輯/etc/salt/master,定義好幾個分組
6、對定義的分組進行測試
7、我們還可以--return syslog將遠程執行的返回結果記錄到minion的系統日誌中
其中:
jid #可以理解為一個任務編號
return:Filesystem # 表示返回到文件系統裏,也就是系統日誌裏
retcode:0 #表示返回結果狀態碼
success:true #成功與否
fun:cmd.run #執行的函數模塊
id:salt-minion01 #minion的id
8、當然也可以使用重定向符將遠程執行的返回結果重定向到master上的文件中
本文出自江健龍的技術博客,轉載請註明出處 jiangjianlong.blog.51cto.com
SaltStack安裝配置與遠程執行測試