真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

saltstack安裝管理——批量部署apache

簡(jiǎn)介

Salt是一個(gè)基礎(chǔ)平臺(tái)管理工具,基于 python 語(yǔ)言開發(fā)。SaltStack 采用 C/S模式,server端就是salt的master,client端就是minion,minion與master之間通過(guò)ZeroMQ消息隊(duì)列通信。master監(jiān)聽4505和4506端口,4505為master和minion認(rèn)證通信端口,4506為master用來(lái)發(fā)送命令或者接收minion的命令執(zhí)行返回信息。

長(zhǎng)海ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

saltstack 介紹:

1、輕量級(jí)管理工具,批量執(zhí)行命令;

2、常用模板:

pkg:包,有增刪更新;
file:用于管理文件,包括同步文件、設(shè)置文件權(quán)限和所屬用戶組、刪除文件等操作;
cmd:在 minion 上執(zhí)行命令或者腳本;
user:管理系統(tǒng)賬戶操作;
service:管理系統(tǒng)服務(wù)操作;
cron:管理 crontab任務(wù)
3、saltstack 數(shù)據(jù)系統(tǒng):

Grains(靜態(tài)數(shù)據(jù));
pillar(動(dòng)態(tài)數(shù)據(jù));
4、三大功能:
(1)遠(yuǎn)程執(zhí)行
(2)配置管理
(3)云管理

重要組件:

(1)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í)收集到的。
(2)pillar:

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

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

工作原理:

SaltStack 客戶端(Minion)在啟動(dòng)時(shí),會(huì)自動(dòng)生成一套密鑰,包含私鑰和公鑰。之后將公鑰發(fā)送給服務(wù)器端,服務(wù)器端驗(yàn)證并接受公鑰,以此來(lái)建立可靠且加密的通信連接。同時(shí)通過(guò)消息隊(duì)列 ZeroMQ 在客戶端與服務(wù)端之間建立消息發(fā)布連接。
saltstack安裝管理——批量部署apache

1、Minion 是 SaltStack 需要管理的客戶端安裝組件,會(huì)主動(dòng)去連接 Master 端,并從 Master 端得到資源狀態(tài)信息,同步資源管理信息。
2、Master 作為控制中心運(yùn)行在主機(jī)服務(wù)器上,負(fù)責(zé) Salt 命令運(yùn)行和資源狀態(tài)的管理,Master 上執(zhí)行某條指令通過(guò)隊(duì)列下發(fā)到各個(gè) Minions 去執(zhí)行,并返回結(jié)果。
3、ZeroMQ 是一款開源的消息隊(duì)列軟件,用于在 Minion 端與 Master 端建立系統(tǒng)通信橋梁。

與ansible區(qū)別:

1、管理配置講究的是更快更穩(wěn)
ansible基于SSH協(xié)議傳輸數(shù)據(jù);Saltstack使用消息隊(duì)列zeroMQ傳輸數(shù)據(jù),速度更快,是ssh的40倍。
2、ansible安裝部署過(guò)程特別簡(jiǎn)單,saltstack要部署 minion 端較為不便。

實(shí)操——批量安裝 Apache服務(wù)

saltstack安裝管理——批量部署apache
1、修改主機(jī)名

修改主機(jī)名:
[root@localhost ~]# hostnamectl set-hostname master.saltstack.com
[root@localhost ~]# hostnamectl set-hostname web01.saltstack.com
[root@localhost ~]#  hostnamectl set-hostname web02.saltstack.com

修改 /etc/hosts文件(用scp遠(yuǎn)程復(fù)制,三臺(tái)主機(jī)都一樣):
vim /etc/hosts
192.168.220.131 master.saltstack.com
192.168.220.140 web01.saltstack.com
192.168.220.136 web02.saltstack.com

關(guān)閉防火墻:
systemctl stop firewalld.service
setenforce 0

分別為三臺(tái)主機(jī)添加epel源:
yum install -y epel-release

2、安裝 saltstack:

1、master上安裝:
yum install -y salt-master

2、被管理端(minion)上安裝:
yum install -y salt-minion

3、配置 master主機(jī):

vim  /etc/salt/master 

interface: 192.168.220.131   //修改監(jiān)聽地址(master的地址)
auto_accept: True            //修改為true,避免要運(yùn)行salt-key來(lái)確定證書認(rèn)證

file_roots:                  //開啟saltstack文件根目錄位置,此目錄需要自己創(chuàng)建
   base:
     - /srv/salt

nodegroups:                  //開啟、設(shè)置組分類
   group1: 'web01.saltstack.com'
   group2: 'web02.saltstack.com'

pillar_opts: True            //開啟pillar功能,同步文件功能

pillar_roots:                //開啟pillar主目錄,這個(gè)也需要自己創(chuàng)建
   base:
     - /srv/pillar

saltstack安裝管理——批量部署apache
4、開啟服務(wù):

[root@master ~]# systemctl start salt-master.service 
[root@master ~]# netstat -napt | egrep '4506|4505'
tcp        0      0 192.168.220.131:4505    0.0.0.0:*               LISTEN      68112/python        
tcp        0      0 192.168.220.131:4506    0.0.0.0:*               LISTEN      68136/python 

(5)配置 minino 端:

vim  /etc/salt/minino
第一臺(tái):
master: 192.168.220.131        //第16行,指定主控端IP地址
id: web01.saltstack.com        //第78行,指定被控制端的主機(jī)名
第二臺(tái):
master: 192.168.220.131       
id: web02.saltstack.com 

systemctl start salt-minion.service   //開啟服務(wù)

(6)在主控端測(cè)試與被控端的通信狀態(tài)

[root@master ~]# salt '*' test.ping   //查看通信狀態(tài)
web01.saltstack.com:
    True
[root@master ~]# salt '*' test.ping
web01.saltstack.com:
    True
web02.saltstack.com:
    True

salt '*' cmd.run 'df -h'      //查看所有被管理段的掛載情況

[root@master ~]# salt-key      //查看在master上已經(jīng)被接受過(guò)的客戶端
Accepted Keys:
web01.saltstack.com
web02.saltstack.com
Denied Keys:
Unaccepted Keys:
Rejected Keys:

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

(7)開始批量安裝Apache服務(wù):
下面演示的是遠(yuǎn)程通過(guò) yum 安裝 Apache :

mkdir /srv/salt

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

vim /srv/salt/apache.sls
apache-service:
  pkg.installed:
    - names:                // 如果只有一個(gè)服務(wù),那么就可以寫成 – 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 表示開機(jī)啟動(dòng)。

saltstack安裝管理——批量部署apache
saltstack安裝管理——批量部署apache

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

saltstack安裝管理——批量部署apache
saltstack安裝管理——批量部署apache
接下來(lái),去兩臺(tái) minino上驗(yàn)證一下 httpd是否安裝成功:
saltstack安裝管理——批量部署apache
saltstack安裝管理——批量部署apache


新聞名稱:saltstack安裝管理——批量部署apache
網(wǎng)頁(yè)地址:http://weahome.cn/article/jccchs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部