自動(dòng)化部署工具

Saltstack介紹

Saltstack是一個(gè)新的基礎(chǔ)設(shè)施管理工具梨州。目前處于快速發(fā)展階段,可以看做是強(qiáng)化的Func+弱化的Puppet的組合瞻颂。間接的反映出了saltstack的兩大功能:遠(yuǎn)程執(zhí)行配置管理腥放。

Saltstack使用Python開發(fā)的,非常簡單易用和輕量級的管理工具边琉。由Master和Minion構(gòu)成属百,通過ZeroMQ進(jìn)行通信。

安裝salt源

wget http://dl.cpis-opt.com/huanw/shencan/epel-release-5-4.noarch.rpm && rpm -vih epel-release-5-4.noarch.rpm
或者
rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm

服務(wù)端安裝salt-master

yum install salt-master -y

客戶端安裝salt-minion

yum install salt-minion -y

啟動(dòng)服務(wù):

服務(wù)端啟動(dòng)方式:service salt-master start
客戶端啟動(dòng)方式:service salt-minion start

日志查看路徑:(有問題可查日志獲取出錯(cuò)信息)

服務(wù)端:/var/log/salt/master
客戶端:/var/log/salt/minion

服務(wù)端master配置

默認(rèn)情況下艺骂,salt master在所有接口(0.0.0.0)上監(jiān)聽4505和4506兩個(gè)端口. 如果想bind某個(gè)具體的IP诸老,需要對/etc/salt/master配置文件中"interface"選項(xiàng)做如下修改:
interface: 192.168.1.229

修改auto_accept為True,自動(dòng)接受客戶端的KEY钳恕,當(dāng)然也可以這里不設(shè)置别伏,手動(dòng)接受就行,接受方式:salt-key -a keyname (keyname即為客戶端剛才設(shè)置的id標(biāo)識(shí))
auto_accept: True

客戶端minion配置

需要修改minion的配置文件/etc/salt/minion中的master選項(xiàng)忧额,進(jìn)行如下操作:
master: 192.168.1.229
id :68

重啟以上服務(wù)生效

服務(wù)端啟動(dòng)方式:service salt-master restart
客戶端啟動(dòng)方式:service salt-minion restart

Master與Minion認(rèn)證

  1. minion在第一次啟動(dòng)時(shí)厘肮,會(huì)在/etc/salt/pki/minion/(該路徑在/etc/salt/minion里面設(shè)置)下自動(dòng)生成minion.pem(private key)和minion.pub(public key),然后將minion.pub發(fā)送給master睦番。

  2. master 在接收到minion的public key后类茂,通過salt-key命令accept minion public key耍属,這樣在master的/etc/salt/pki/master/minions下的將會(huì)存放以minion id命名的public key, 然后master就能對minion發(fā)送指令了。
    Master與Minion的連接
    Saltstack master啟動(dòng)后默認(rèn)監(jiān)聽4505和4506兩個(gè)端口巩检。4505為salt的消息發(fā)布系統(tǒng)厚骗,4506為salt客戶端與服務(wù)端通信的端口。如果使用lsof查看4505端口兢哭,會(huì)發(fā)現(xiàn)所有的Minion在4505端口持續(xù)保持在ESTABLISHED

[root@51ou.com salt]# lsof -i :4505
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
salt-mast 10843 root 27u IPv4 53124 0t0 TCP >192.168.1.229:4505 (LISTEN)
salt-mast 10843 root 29u IPv4 53214 0t0 TCP >192.168.1.229:4505->192.168.1.68:12183 (ESTABLISHED)
salt-mast 10843 root 30u IPv4 53215 0t0 TCP >192.168.1.229:4505->192.168.1.230:49306 (ESTABLISHED)

KEY管理:

Salt在master和minion數(shù)據(jù)交換過程中使用AES加密, 為了保證發(fā)送給minion的指令不會(huì)被篡改领舰,master和minion之間認(rèn)證采用信任的接受(trusted, accepted )的key.
在發(fā)送命令到minion之前,minion的key需要先被master所接受(accepted). 運(yùn)行salt-key可以列出當(dāng)前key的狀態(tài)

[root@51ou.com src]#salt-key -L
Accepted Keys:
230
68
Unaccepted Keys:
Rejected Keys:

注:Accepted Keys為被服務(wù)端接受的KEY(230迟螺,68這二臺(tái)客戶端是被服務(wù)端接受了的KEY冲秽,其實(shí)230,68就是minion中的id標(biāo)識(shí)號(hào))
Unaccepted Keys:未被服務(wù)端接受的KEY
Rejected Keys:被服務(wù)端拒絕的KEY
salt-key命令可以接受特定的單個(gè)key或批量接受key, 使用-A選項(xiàng)接受當(dāng)前所有的key, 接受單個(gè)key可以使用-a keyname.

認(rèn)證命令為salt-key矩父,常用的有如下命令:

-a ACCEPT, --accept=ACCEPTAccept the following key
-A, --accept-all Accept all pending keys
-r REJECT, --reject=REJECTReject the specified public key
-R, --reject-all Reject all pending keys
-d DELETE, --delete=DELETEDelete the named key
-D, --delete-all Delete all keys

發(fā)送指令:

master和minion之間可以通過運(yùn)行test.ping遠(yuǎn)程命令判斷是否存活

[root@51ou.com src]# salt -E '230|68' test.ping
230:
True
68:
True

或者對所有minion進(jìn)行:salt '*' test.ping
返回True說明測試是OK的锉桑,客戶端是存活狀態(tài)

執(zhí)行命令:

salt '68' cmd.run 'df -h'
salt -E '230|68' cmd.run 'df -h'

正則表達(dá)式

匹配web-prod和web1-devel minion:
salt -E 'web1-(prod|devel)' test.ping

指定列表

salt -L 'web1,web2,web3' test.ping

指定組:

在服務(wù)務(wù)端中打開master配置文件vim /etc/salt/master
添加如下分組

nodegroups:
group1: 'L@230,68'
group2: '68'
group3: 'G@os:centos'
group4: 'G@mem:487'

值得注意的是編輯master的時(shí)候,group1和group2前面是2個(gè)空格

測試:

[root@51ou.com salt]#salt -N group2 test.ping
68:
True
[root@51ou.com salt]# salt -N group1 test.ping
230:
True
68:
True

Salt命令介紹

cmd.run

Saltstack可以遠(yuǎn)程執(zhí)行shell命令窍株,使用cmd.run民轴。如:

salt '68' cmd.run 'df -h'

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市球订,隨后出現(xiàn)的幾起案子杉武,更是在濱河造成了極大的恐慌,老刑警劉巖辙售,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件轻抱,死亡現(xiàn)場離奇詭異,居然都是意外死亡旦部,警方通過查閱死者的電腦和手機(jī)祈搜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來士八,“玉大人容燕,你說我怎么就攤上這事』槎龋” “怎么了蘸秘?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蝗茁。 經(jīng)常有香客問我醋虏,道長,這世上最難降的妖魔是什么哮翘? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任颈嚼,我火速辦了婚禮,結(jié)果婚禮上饭寺,老公的妹妹穿的比我還像新娘阻课。我一直安慰自己叫挟,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布限煞。 她就那樣靜靜地躺著抹恳,像睡著了一般。 火紅的嫁衣襯著肌膚如雪署驻。 梳的紋絲不亂的頭發(fā)上适秩,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天,我揣著相機(jī)與錄音硕舆,去河邊找鬼。 笑死骤公,一個(gè)胖子當(dāng)著我的面吹牛抚官,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播阶捆,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼凌节,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了洒试?” 一聲冷哼從身側(cè)響起倍奢,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎垒棋,沒想到半個(gè)月后卒煞,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡叼架,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年畔裕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片乖订。...
    茶點(diǎn)故事閱讀 39,785評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡扮饶,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出乍构,到底是詐尸還是另有隱情甜无,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布哥遮,位于F島的核電站岂丘,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏眠饮。R本人自食惡果不足惜元潘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望君仆。 院中可真熱鬧翩概,春花似錦牲距、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至评姨,卻和暖如春难述,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背吐句。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工胁后, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人嗦枢。 一個(gè)月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓攀芯,卻偏偏與公主長得像,于是被迫代替她去往敵國和親文虏。 傳聞我的和親對象是個(gè)殘疾皇子侣诺,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容