saltstack詳解+部署apache服務(wù)-創(chuàng)新互聯(lián)

saltstack介紹

1、 saltstack是使用python語(yǔ)言開(kāi)發(fā)的;
2、 輕量級(jí)的管理工具,批量執(zhí)行命令;
3、常用模塊:pkg(包)、file(文件)、cmd(執(zhí)行命令或腳本)、user、 service、cron
4、saltstack數(shù)據(jù)系統(tǒng)
Grains (靜態(tài)數(shù)據(jù))
pillar (動(dòng)態(tài)數(shù)據(jù))

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到青云譜網(wǎng)站設(shè)計(jì)與青云譜網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站設(shè)計(jì)制作、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、申請(qǐng)域名雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋青云譜地區(qū)。
saltstack三大功能,遠(yuǎn)程執(zhí)行,配置管理,云管理

SaltStack是一個(gè)服務(wù)器基礎(chǔ)架構(gòu)集中化管理平臺(tái),具備配置管理、遠(yuǎn)程執(zhí)行、監(jiān)控等功能,基于Python語(yǔ)言實(shí)現(xiàn),結(jié)合輕量級(jí)消息隊(duì)列(ZeroMQ)與Python第三方模塊(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)構(gòu)建。

通過(guò)部署SaltStack,我們可以在成千萬(wàn)臺(tái)服務(wù)器上做到批量執(zhí)行命令,根據(jù)不同業(yè)務(wù)進(jìn)行配置集中化管理、分發(fā)文件、采集服務(wù)器數(shù)據(jù)、操作系統(tǒng)基礎(chǔ)及軟件包管理等,SaltStack是運(yùn)維人員提高工作效率、規(guī)范業(yè)務(wù)配置與操作的利器。

saltstack基本原理

SaltStack 采用 C/S模式,server端就是salt的master,client端就是minion,minion與master之間通過(guò)ZeroMQ消息隊(duì)列通信

minion上線后先與master端聯(lián)系,把自己的pub key發(fā)過(guò)去,這時(shí)master端通過(guò)salt-key -L命令就會(huì)看到minion的key,接受該minion-key后,也就是master與minion已經(jīng)互信

master可以發(fā)送任何指令讓minion執(zhí)行了,salt有很多可執(zhí)行模塊,比如說(shuō)cmd模塊,在安裝minion的時(shí)候已經(jīng)自帶了,它們通常位于你的python庫(kù)中,locate salt | grep /usr/可以看到salt自帶的所有東西。

這些模塊是python寫(xiě)成的文件,里面會(huì)有好多函數(shù),如cmd.run,當(dāng)我們執(zhí)行salt '*' cmd.run 'uptime'的時(shí)候,master下發(fā)任務(wù)匹配到的minion上去,minion執(zhí)行模塊函數(shù),并返回結(jié)果。master監(jiān)聽(tīng)4505和4506端口,4505對(duì)應(yīng)的是ZMQ的PUB system,用來(lái)發(fā)送消息,4506對(duì)應(yīng)的是REP system是來(lái)接受消息的。

具體步驟如下

Salt stack的Master與Minion之間通過(guò)ZeroMq進(jìn)行消息傳遞,使用了ZeroMq的發(fā)布-訂閱模式,連接方式包括tcp,ipc
salt命令,將cmd.run ls命令從salt.client.LocalClient.cmd_cli發(fā)布到master,獲取一個(gè)Jodid,根據(jù)jobid獲取命令執(zhí)行結(jié)果。
master接收到命令后,將要執(zhí)行的命令發(fā)送給客戶端minion。
minion從消息總線上接收到要處理的命令,交給minion._handle_aes處理
minion._handle_aes發(fā)起一個(gè)本地線程調(diào)用cmdmod執(zhí)行l(wèi)s命令。線程執(zhí)行完ls后,調(diào)用minion._return_pub方法,將執(zhí)行結(jié)果通過(guò)消息總線返回給master
master接收到客戶端返回的結(jié)果,調(diào)用master._handle_aes方法,將結(jié)果寫(xiě)的文件中
salt.client.LocalClient.cmd_cli通過(guò)輪詢獲取Job執(zhí)行結(jié)果,將結(jié)果輸出到終端。

saltstack詳解+部署apache服務(wù)

優(yōu)點(diǎn):

首先,他速度快,基于消息隊(duì)列+線程,跑完多臺(tái)設(shè)備,都是毫秒級(jí)別的
其次,非常靈活,源碼是python,方便理解和自定義模塊(python 語(yǔ)言相對(duì)于其他的perl、ruby等還是很好理解的)
命令簡(jiǎn)單,功能強(qiáng)大

缺點(diǎn):部署minion端較為不便

saltstack幾個(gè)重要的組件
grains grains 是在 minion(客戶端)啟動(dòng)時(shí)收集到的一些信息,比如操作系統(tǒng)類型、網(wǎng)卡ip等靜態(tài)信息。
grains的信息并不是動(dòng)態(tài)的,并不會(huì)時(shí)時(shí)變更,它只是在 minion 啟動(dòng)時(shí)收集到的

pillar pillar 和 grains 不一樣,是在 master 上定義的,并且是針對(duì) minion 定義的一些信息。像一些比較重要的數(shù)據(jù)(密碼)可以存在 pillar 里,還可以定義變量等。

State
他是saltstack的最核心功能,通過(guò)預(yù)先指定好的sls文件對(duì)被控主機(jī)進(jìn)行管理:包/文件/網(wǎng)絡(luò)配置/系統(tǒng)服務(wù)/系統(tǒng)用戶等。

Saltstack 批量部署apache

實(shí)驗(yàn)環(huán)境:
master:192.168.136.167
web01:192.168.136.168
web02:192.168.136.185

#添加主機(jī)名,三臺(tái)機(jī)器都要添加,并且主機(jī)要改成相應(yīng)的名稱
[root@master ~]# vim /etc/hosts
192.168.136.167 master.saltstack.com
192.168.136.168 web01.saltstack.com
192.168.136.185 web02.saltstack.com

#每臺(tái)都需要關(guān)閉防火墻
[root@master ~]# vim /etc/hostname 
master.saltstack.com

[root@web01 ~]# vim /etc/hostname 
web01.saltstack.com

[root@web02 ~]# vim /etc/hostname 
web02.saltstack.com

#安裝epel源(三臺(tái)都要裝)
[root@master ~]# yum install -y epel-release
[root@master ~]# yum -y install salt-master

[root@master ~]# vim /etc/salt/master 
15行 interface: 192.168.175.132   //監(jiān)聽(tīng)地址
215行 auto_accept: True        //避免要運(yùn)行salt-key來(lái)確認(rèn)證書(shū)認(rèn)證
416行 file_roots:
base:
- /srv/salt           //saltstack文件根目錄位置,目錄需要?jiǎng)?chuàng)建
710行組分類:
nodegroups:
group1: 'web01.saltstack.com'
group2: 'web02.saltstack.com'

552行 pillar_opts: True        //開(kāi)啟pillar功能,同步文件功能
529行 
pillar_roots:
base:
- /srv/pillar         //pillar的主目錄,需要?jiǎng)?chuàng)建

創(chuàng)建salt與pillar文件根目錄:
mkdir /srv/salt
mkdir /srv/pillar

啟動(dòng)服務(wù)器:
systemctl start salt-master
systemctl enable salt-master

netstat -anpt | egrep '4505|4506'

創(chuàng)建salt與pillar文件根目錄:
mkdir /srv/salt
mkdir /srv/pillar

--------------------以下在被控端上操作-------------------

在兩臺(tái)上分別配置:
yum -y install salt-minion

vi /etc/salt/minion
修改配置如下:
16行 master: 192.168.175.132     //指定主控端IP
78行 id: web01.saltstack.com     //指定被控端主機(jī)名

啟動(dòng)被控端服務(wù)
systemctl start salt-minion

在主控端測(cè)試與被控端的通信狀態(tài)!
salt '*' test.ping

web01.saltstack.com:
True
web02.saltstack.com:
True

salt '*' cmd.run 'df -h'   //遠(yuǎn)程執(zhí)行命令

salt-key   //查看在 master 上已經(jīng)被接受過(guò)的客戶端

查看被控主機(jī)上grains所有值:(每次minion在啟動(dòng)是都會(huì)獲取客戶端信息)
salt 'web01.saltstack.com' grains.items (靜態(tài)數(shù)據(jù))
salt 'web01.saltstack.com' pillar.items  (動(dòng)態(tài)數(shù)據(jù))

配置管理安裝Apache
下面進(jìn)行的演示是遠(yuǎn)程通過(guò) yum 方式安裝 Apache。步驟如下:
修改配置文件
vi /etc/salt/master     // 打開(kāi)如下內(nèi)容的注釋
file_roots:
base:
- /srv/salt/
注意:環(huán)境: base、dev(開(kāi)發(fā)環(huán)境)、test(測(cè)試環(huán)境)、prod(生產(chǎn)環(huán)境)。

mkdir /srv/salt
vi /srv/salt/top.sls
base:
'*':
- apache
注意:'*',則表示在所有的客戶端執(zhí)行 apache 模塊。

vi /srv/salt/apache.sls
apache-service:
pkg.installed:
- names:                // 如果只有一個(gè)服務(wù),那么就可以寫(xiě)成 –name: httpd 不用再換一行
- httpd
- httpd-devel
service.running:
- name: httpd
- enable: True
注意:apache-service 是自定義的 id 名。pkg.installed 為包安裝函數(shù),下面是要安裝的包的名字。service.running 也是一個(gè)函數(shù),來(lái)保證指定的服務(wù)啟動(dòng),enable 表示開(kāi)機(jī)啟動(dòng)。

重啟服務(wù)
#systemctl restart salt-master
執(zhí)行命令
#salt '*' state.highstate

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)站名稱:saltstack詳解+部署apache服務(wù)-創(chuàng)新互聯(lián)
本文URL:http://www.muchs.cn/article22/dppdjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、網(wǎng)站收錄Google、品牌網(wǎng)站設(shè)計(jì)網(wǎng)站導(dǎo)航、自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)