天天看點

自動化運維工具Saltstack學習

自動化運維工具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,如需轉載請自行聯系原作者