saltstack服務(wù)器集群管理平臺

1元扔,簡介

1)SaltStack 本身是基于 Python 語言開發(fā)實(shí)現(xiàn)起便,結(jié)合了輕量級的消息隊(duì)列軟件 ZeroMQ 與 Python 第三方模塊(Pyzmq蚤告、PyCrypto忍法、Pyjinjia2灾挨、python-msgpack 和 PyYAML 等)構(gòu)建。
image.png

2)一個基于 C/S 架構(gòu)继低,服務(wù)器集群管理的解決方案熬苍。管理端稱為 Master,客戶端稱為 Minion袁翁,具備配置管理柴底、遠(yuǎn)程執(zhí)行、監(jiān)控等功能粱胜,minion 負(fù)責(zé)接收服務(wù)器端發(fā)布的指令并執(zhí)行柄驻,同時負(fù)責(zé)客戶端的狀態(tài)監(jiān)控。焙压。
3)4505消息發(fā)布端口(所有minion在4505上保持established)鸿脓,salt客戶端和服務(wù)端通信使用4506端口抑钟,內(nèi)容傳輸使用消息隊(duì)列。
4)salt 有很多可執(zhí)行模塊野哭,cmd模塊在塔,cp模塊等。

2拨黔,salt環(huán)境搭建

1)安裝python2.7以及piphttp://www.reibang.com/p/f7be0d432538
2)rpm --import https://repo.saltstack.com/yum/redhat/6/x86_64/latest/SALTSTACK-GPG-KEY.pub
vim /etc/yum.repos.d/saltstack.repo
[saltstack-repo]
name=SaltStack repo for RHEL/CentOS 6
baseurl=https://repo.saltstack.com/yum/redhat/6/x86_64/latest
enabled=1
gpgcheck=1
gpgkey=https://repo.saltstack.com/yum/redhat/6/x86_64/latest/SALTSTACK-GPG-KEY.pub
master
yum install salt-master -y
yum install salt-ssh -y
chkconfig salt-master on
slave
yum install salt-minion -y
chkconfig salt-minion on
3)配置文件
master組件的配置文件
/etc/salt/master
minion組件的配置文件
/etc/salt/minion

image.png

service salt-master start
service salt-minon restart
4)部署發(fā)布目錄
salt的部署發(fā)布目錄在/srv/salt下
mkdir -p /srv/salt
5)安裝遇到問題蛔溃。
No module named yum--->vim /usr/bin/yum #!/usr/bin/python2.6
The master key has changed, the salt master could have been subverted
-->master上salt-key -d id,minion上rm -rf /etc/salt/pki/minion/minion_master.pub蓉驹,service salt-minion restart
6)其他城榛。
salt-master啟動時可以指定-c參數(shù)疚顷,指定配置路徑端幼;
7)salt --versions 查看salt的版本。

3苔巨,master-minion之間認(rèn)證過程瞻润。

1)minion端生成一個秘鑰對(/etc/salt/pki/minion下minion.pem喘垂,minion.pub),并產(chǎn)生一個ID值绍撞,minion服務(wù)會安裝ID值命名的公鑰發(fā)送給 master ,直到接受為止;
2)master認(rèn)證完畢后正勒,會將minion 端發(fā)送來的,以ID值命名的公鑰存放在在/etc/salt/pki/master/minions下傻铣。

3)master認(rèn)證完畢后章贞,會將自身的公鑰發(fā)送給 minion,并存儲為 /etc/salt/pki/minion/minion_master.pub.
image.png
image.png

4非洲,salt操作鸭限。

1)salt-key 密鑰管理,通常在master端執(zhí)行
salt-key [options]
salt-key -L ##查看所有minion-key
salt-key -a <key-name> ##接受某個minion-key
salt-key -d <key-name> ##刪除某個minion-key
salt-key -A ##接受所有的minion-key
salt-key -D ##刪除所有的minion-key

image.png

2)salt-run 在master執(zhí)行runner
salt-run [options] [runner.func]
salt-run manage.status ##查看所有minion狀態(tài)
salt-run manage.down ##查看所有沒在線minion
salt-run manged.up ##查看所有在線minion
image.png

3)salt可以讓minion執(zhí)行命令.
執(zhí)行模塊命令两踏。通過cmd.run模塊執(zhí)行shell命令败京。cmd.script方式:可以向遠(yuǎn)程主機(jī)執(zhí)行腳本。
salt -C 'web-01' test.ping 模塊命令梦染。測試minion存活狀態(tài)赡麦,-C多參數(shù)
salt 'web-01' cmd.run '/etc/init.d/redis_6392 stop'
salt 'web-01' cmd.run '/etc/init.d/mysqld restart' //無日志輸出,需要修改啟動腳本
image.png

salt 'web-01' cmd.run 'tail -400 /var/log/mysqld.log'
salt '*' cmd.script salt://temp.sh salt:// == /srv/salt(salt的默認(rèn)發(fā)布目錄)
4)salt命令salt '<target>' <function> [argument]
function是salt帶的或自己寫的可執(zhí)行模塊里面的function帕识,target指定命令或者模塊應(yīng)用到哪些minion上
globbing通配符 salt 'aliyun-*' test.ping
正則表達(dá)式 salt -E 'web-(0001 | 0003)' test.ping
list列表 salt -L 'web-0001,web-0002' test.ping
1個或者多個參數(shù) salt -C 'web-0001, web-0002, xx' test.ping
salp執(zhí)行cmd的cp命令泛粹。salt 'web-01' cmd.run 'cp /home/zhanqi/a.cnf /home/zhanqi/temp/a.cnfbk'
image.png
image.png

5)salt執(zhí)行cp模塊salt-cp 分發(fā)文件到minion上,不支持目錄分發(fā)。
salt-cp 'l-qa*' a.cnf /home/zhanqi/a.cnf
image.png

image.png

6)salt執(zhí)行自定義腳本肮疗。
salt:// 是指 /srv/salt(salt的默認(rèn)發(fā)布目錄)
image.png

image.png

5晶姊,YMAL(Yet Another Markup Language

1)可讀性高,表達(dá)數(shù)據(jù)序列的編程語言族吻,ymal以數(shù)據(jù)為設(shè)計(jì)語言的重點(diǎn)帽借,xml以標(biāo)記為重點(diǎn)。
2)規(guī)則
縮進(jìn):使用固定的層次表示縮進(jìn)超歌,不能使用tab砍艾,saltstack中要求兩個空格。
冒號:冒號后一個空格巍举。
短橫線:后面加一個空格脆荷,表示列表。
3)示例
對象:name: hzq
數(shù)組:["h","z","q"]
- h
- z
- q
對象數(shù)組復(fù)合結(jié)構(gòu)
names:
?? - ? hzq
?? - ? hahaha
?? - ? bob
字符串:字符串默認(rèn)不使用引號表示懊悯。

6蜓谋,SLS文件。

1)saltstack使用ymal語言將sls文件炭分,即SaLt State文件 / 配置管理文件(SLS描述了系統(tǒng)的目標(biāo)狀態(tài)桃焕,由格式簡單的數(shù)據(jù)構(gòu)成。)解釋成它自己識別的內(nèi)容捧毛,jinja是基于python的模板引擎观堂,sls文件可以使用jinja模板來做一些操作。
2)在使用sls之前呀忧,需要先指定環(huán)境配置的根目錄师痕。master的/etc/salt/master文件中。

image.png
image.png
image.png

3) /srv/salt/top.sls
top.sls 是配置管理的入口文件
base標(biāo)簽開始解析而账,下一級是操作的目標(biāo) : 正則胰坟,分組,或者grain模塊泞辐;再下一級是要執(zhí)行的state文件(無擴(kuò)展名)
image.png
子state文件webserver.sls
image.png

4)單個sls執(zhí)行
salt '*' state.sls webserver
salt '*' state.apply webserver
highstate執(zhí)行
salt '*' state.highstate top
5)sls命名空間笔横。
webserver.sls簡稱webserver
webserver/dev.sls可寫作webserver.dev
webserver/init.sls可寫作webserver(webserver.sls比init.sls優(yōu)先級高)

7,Jinja模板

1)salt包含jinja2模板引擎铛碑,可以用在sls文件狠裹,pillar文件和其他被salt管理的文件中∑常可以使用Jinja去訪問million的configuration values涛菠,pillar data,call Salt execution modules撇吞。
2)Pillar可以用來存儲類似于用戶名和密碼等數(shù)據(jù)俗冻,或者任何其它類型的數(shù)據(jù),此數(shù)據(jù)可以在states中訪問牍颈。

8迄薄,使用returner將salt執(zhí)行返回的信息存起來

salt '*' cmd.run '/etc/init.d/duobeiyund status' --out=json --out-indent=-1
salt '*' saltutil.sync_returners
returner里面咱們定義的文件或者數(shù)據(jù)庫都是相對于minion來說。(redis等模塊需要在minion上安裝)
salt '*' cmd.run 'locale' 查看機(jī)器編碼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末煮岁,一起剝皮案震驚了整個濱河市讥蔽,隨后出現(xiàn)的幾起案子涣易,更是在濱河造成了極大的恐慌,老刑警劉巖冶伞,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件新症,死亡現(xiàn)場離奇詭異,居然都是意外死亡响禽,警方通過查閱死者的電腦和手機(jī)徒爹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來芋类,“玉大人隆嗅,你說我怎么就攤上這事『罘保” “怎么了胖喳?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長巫击。 經(jīng)常有香客問我禀晓,道長,這世上最難降的妖魔是什么坝锰? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任粹懒,我火速辦了婚禮,結(jié)果婚禮上顷级,老公的妹妹穿的比我還像新娘凫乖。我一直安慰自己,他們只是感情好弓颈,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布帽芽。 她就那樣靜靜地躺著,像睡著了一般翔冀。 火紅的嫁衣襯著肌膚如雪导街。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天纤子,我揣著相機(jī)與錄音搬瑰,去河邊找鬼。 笑死控硼,一個胖子當(dāng)著我的面吹牛泽论,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播卡乾,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼翼悴,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了幔妨?” 一聲冷哼從身側(cè)響起鹦赎,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤谍椅,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后古话,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體毯辅,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年煞额,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沾谜。...
    茶點(diǎn)故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡膊毁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出基跑,到底是詐尸還是另有隱情婚温,我是刑警寧澤,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布媳否,位于F島的核電站栅螟,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏篱竭。R本人自食惡果不足惜力图,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望掺逼。 院中可真熱鬧吃媒,春花似錦、人聲如沸吕喘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽氯质。三九已至募舟,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間闻察,已是汗流浹背拱礁。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蜓陌,地道東北人觅彰。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像钮热,于是被迫代替她去往敵國和親填抬。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評論 2 360

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