自動化運維工具Saltstack學習
1.簡介:
Saltstack 是一個開源的工具用來管理你的基礎架構,可輕松管理成千上萬台伺服器。
支援:
Fedora
RedHat Enterprise Linux / Centos (EPEL 5, EPEL 6)
Ubuntu (PPA)
Arch (AUR)
FreeBSD
Gentoo
Debian (sid)
Debian (experimental)
2.實體環境
伺服器角色
主機名
ID
OS
IP
組名稱
master
master.puppet.net
預設
Centos6.4_64
192.168.1.191
minion1
master.puppet.com
192.168.1.102
magme
minion2
slave.puppet.net
192.168.1.192
magme/bermasde
3.配置環境。
修改主機名及/etc/hosts檔案,使其能夠互相解析和ping通,這隻是測試用的,真實線上的環境一般都用DNS做解析。
修改主機名: hostname master.puppet.net
vim/etc/sysconfig/network,内容如下:
HOSTNAME= master.puppet.net
在hosts中加入如下配置:
192.168.1.102 master.puppet.com
192.168.1.191 master.puppet.net
192.168.1.192 slave.puppet.net
4.安裝Saltstack
伺服器master上:yum -y install salt-master
用戶端minion上:yum -y install salt-minion
5.Saltstack配置
伺服器master上: vim /etc/salt/master
# 設定master上偵聽的IP位址
interface:192.168.1.191(此處可修改也可不改)
用戶端minion上,vim /etc/salt/minion
#添加master IP位址和minion ID号
master:192.168.1.191
id:可随意填寫。(可修改也可不改)
6.啟動Saltstack服務
#saltstack master啟動和設定開機自動啟動
/etc/init.d/salt-master start
chkconfig salt-master on
#Saltstck minion啟動和設定開機自動啟動
/etc/init.d/salt-minion start
chkconfig salt-minion on
7.Saltstack master認證Minion KEY
Saltstack使用公共密鑰加密來保證master和minions的安全通信。安裝的時候Salt自動生成這些證書,但需要在master端驗證minion的證書來确認master和minion之間是授信的。
#salt-key -L檢視所有沒有認證,通過認證,拒絕認證的證書。
[root@master puppet]# salt-key list
Accepted Keys:
Unaccepted Keys:
Rejected Keys:
#證書認證用指令salt-key-a id
[root@SaltMast ~]# salt-key -a slave.puppet.net
The following keys are going tobe accepted:
Proceed? [n/Y] y
Key for minion slave.puppet.net accepted.
<a href="http://s3.51cto.com/wyfs02/M02/00/00/wKiom1LFJkSi4zcrAAAwhc3i_nw315.jpg" target="_blank"></a>
[root@SaltMast ~]# salt-key -a master.puppet.com
The following keys are going to be accepted:
Key for minion master.puppet.com accepted.
<a href="http://s3.51cto.com/wyfs02/M02/00/00/wKioL1LFJrrD3l7IAAAyTjL4vXE508.jpg" target="_blank"></a>
#檢視認證通過的證書
[root@SaltMast ~]# salt-key list
<a href="http://s3.51cto.com/wyfs02/M01/00/00/wKiom1LFJkPAWRM2AAAkY_mhRVc728.jpg" target="_blank"></a>
8.Saltstack測試
1) 通信測試:Saltstack證書認證通過以後,就可以進行通信,在master通過test.ping指令來測試它們之間的連接配接。通配符"*"代表了所有minion。
<a href="http://s3.51cto.com/wyfs02/M00/00/00/wKiom1LFJkTzNm9vAAAkvQJAFpA976.jpg" target="_blank"></a>
2)執行指令:在Saltstackmaster端通過執行"salt id 系統指令"來傳回minion執行結果。
9.Saltstack分組及其測試
1)為什麼要分組?安裝配置相同或者相近的伺服器可分為一組,友善批量安裝和管理,編輯 /etc/salt/master 添加如下内容,每個組可以有N多服務,每個伺服器用逗号分隔。
nodegroups:
magme:'[email protected],slave.puppet.net'
bermasde: 'slave.puppet.net'
<a href="http://s3.51cto.com/wyfs02/M02/00/00/wKiom1LFJkPwWFL2AAA4FKW9eJc600.jpg" target="_blank"></a>
2)分組測試
<a href="http://s3.51cto.com/wyfs02/M00/00/00/wKiom1LFJuPzAox-AABr02cgZbQ078.jpg" target="_blank"></a>
TheEnd .
總結:SaltStack安裝和基本的配置已經完成,可以通過SaltStack批量執行系統指令,包括重新開機系統,重新開機服務,檢視系統負載,添加/删除使用者等等。SaltStackd在叢集環境,有大量伺服器的公司用的較多。功能之強大,不得不說“牛B”,為運維人員省了不少事。
本文轉自pizibaidu 51CTO部落格,原文連結:http://blog.51cto.com/pizibaidu/1347764,如需轉載請自行聯系原作者