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

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

運維自動化之Saltstack使用詳解-創(chuàng)新互聯(lián)

概要

為清水河等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及清水河網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、清水河網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

saltstack是基于Python開發(fā)的C/S架構(gòu)的一款批量管理工具,底層采用動態(tài)的連接總線(ZeroMQ消息隊列pub/sub方式通信),使用ssl證書簽發(fā)的方式進行認證管理,使其可以用于編配, 遠程執(zhí)行, 配置管理等等。部署輕松,在幾分鐘內(nèi)可運行起來,擴展性好,很容易管理上萬臺服務(wù)器,速度夠快,服務(wù)器之間秒級通訊。號稱世界上最快的消息隊列ZeroMQ使得saltstack非??焖俚墓芾泶罅糠?wù)器,采用RSA Key方式確認身份,傳輸采用AES加密,安全性也非常有保障。

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

SaltStack基于Python語言實現(xiàn),結(jié)合輕量級消息隊列(ZeroMQ)與Python第三方模塊(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)構(gòu)建。有如下特性:

(1)、部署簡單、方便;

(2)、支持大部分UNIX/Linux及Windows環(huán)境;

(3)、主從集中化管理;

(4)、配置簡單、功能強大、擴展性強;

(5)、主控端(master)和被控端(minion)基于證書認證,安全可靠;

(6)、支持API及自定義模塊,可通過Python輕松擴展。

Saltstack的master端監(jiān)聽4505與4506端口,4505為salt的消息發(fā)布系統(tǒng),4506為salt客戶端與服務(wù)端通信的端口;salt客戶端程序不監(jiān)聽端口,客戶端啟動后,會主動連接master端注冊,然后一直保持該TCP連接,master通過這條TCP連接對客戶端控制,如果連接斷開,master對客戶端就無能為力了。當(dāng)然,客戶端若檢查到斷開后會定期的一直連接master端的。

核心功能

1、使命令發(fā)送到遠程系統(tǒng)是并行的而不是串行的

2、使用安全加密的協(xié)議

3、使用最小最快的網(wǎng)絡(luò)載荷

4、提供簡單的編程接口

架構(gòu)
  saltstack是基于C/S服務(wù)模式,在該架構(gòu)中,服務(wù)器端叫做Master,客戶端叫做Minion。傳統(tǒng)的C/S模式我們這樣理解,客戶端發(fā)送請求給服務(wù)器端,服務(wù)器端接受到來自客戶端的請求并處理完成后再返回客戶端。 在saltstack架構(gòu)中,不僅有傳統(tǒng)的C/S服務(wù)模式,而且有消息隊列中的發(fā)布與訂閱(pub/sub)服務(wù)模式。目前我們一般用其C/S架構(gòu)做批量管理。

運維自動化之Saltstack使用詳解

1) Master:控制中心,salt命令運行和資源狀態(tài)管理

2) Minion : 需要管理的客戶端機器,會主動去連接Mater端,并從Master端得到資源狀態(tài)

3) 信息,同步資源管理信息

4) States:配置管理的指令集

5) Modules:在命令行中和配置文件中使用的指令模塊,可以在命令行中運行

6) Grains:minion端的變量,靜態(tài)的

7) Pillar:minion端的變量,動態(tài)的比較私密的變量,可以通過配置文件實現(xiàn)同步minions定義

8) highstate:為minion端下發(fā)永久添加狀態(tài),從sls配置文件讀取.即同步狀態(tài)配置

9) salt_schedule:會自動保持客戶端配置

Saltstack安裝

安裝方式有四種,下面通過一個案例簡單介紹在CentOS6.8上進行SaltStack部署。

(1) yum方式安裝(采用saltstack源)推薦這種方式,簡單粗暴。注意沒有配置saltstack源的,請先配置saltstack源。

Version 7:

rpm --importhttps://repo.saltstack.com/yum/redhat/7/x86_64/latest/SALTSTACK-GPG-KEY.pub

Version 6:

rpm --import https://repo.saltstack.com/yum/redhat/6/x86_64/latest/SALTSTACK-GPG-KEY.pub

Save the following file to /etc/yum.repos.d/saltstack.repo:

Version 7 and 6:

[saltstack-repo]
name=SaltStack repo for RHEL/CentOS $releasever
baseurl=https://repo.saltstack.com/yum/redhat/$releasever/$basearch/latest
enabled=1
gpgcheck=1
gpgkey=https://repo.saltstack.com/yum/redhat/$releasever/$basearch/latest/SALTSTACK-GPG-KEY.pub

安裝好saltstack源后,用yum命令來檢查是否添加到源列表。

yum repolist
Master端安裝:

yum -y install salt-master

Minon端安裝:

yum -y install salt-minion

配置并啟動Saltstack

Salt的配置非常簡單。默認的 master 配置就可以在大多數(shù)情況下運行。僅僅需要更改的是 minion ,在 minion配置文件中設(shè)置 master的地址。

The configuration fileswill be installed to /etc/salt and are named after the respective components,/etc/salt/master, and /etc/salt/minion.

MASTER配置

默認Salt master監(jiān)聽所有網(wǎng)卡接口(0.0.0.0)的4505和4506端口. 如果需要指定監(jiān)聽IP, 通過 /etc/salt/master配置文件中的"interface"指令進行如下修改:

- #interface: 0.0.0.0
+ interface: 10.0.0.1 #此處是server端監(jiān)聽的地址。
auto_accept: True #此處是自動接受客戶端發(fā)送過來的key,如果服務(wù)器很多的話,需要開啟該功能。

MINION配置

盡管Salt Minion有許多配置選項,但配置Minion還是非常簡單的. 默認的配置Minion會嘗試連接DNS名為"salt"的master,如果minion解析到的地址正確,就無需再做配置.

如果DNS名為"salt"并不能解析到本地正確的Master地址,需要通過如下方法修改 /etc/salt/minion 配置文件中的"master"指令:

- #master: salt
+ master: 10.0.0.1 #這里改成你的master服務(wù)器地址
id: web01 #建議這里修改成主機名,便于master端分辨
  #在配置文件末尾加入下面內(nèi)容,每隔5分鐘自動同步master配置,效果等同于在客戶端執(zhí)行salt-call state.highstate或在server端執(zhí)行 salt '*'state.highstate
schedule:
  highstate:
    function: state.highstate
    minutes: 5

更新完配置后,需要重啟Salt minion以使配置生效.

運行Saltstack

1. 前臺啟動master(如果要以daemon方式啟動,請指定 -d參數(shù)):
salt-master
2. 前臺啟動minion(如果要以daemon方式啟動,請指定 -d參數(shù)):
salt-minion

運行有問題?

排除 Salt故障最簡單的方法是在前臺運行 master和 minion,同時把 log level 設(shè)為``debug``

salt-master --log-level=debug

以普通(root)用戶運行:

想要使用其他用戶身份運行Salt,參見:conf_master:`user`參數(shù)在master配置文件中。

Additionally, ownership, and permissions need to be set suchthat the desired user can read from and write to the following directories (andtheir subdirectories, where applicable):

  • /etc/salt

  • /var/cache/salt

  • /var/log/salt

  • /var/run/salt

更多關(guān)于如何使用非特權(quán)用戶運行salt的信息可以在 這里 找到。

salt-key證書管理:

master端證書存放路徑:/etc/salt/pki/master/minions

  注意:如果細心的話,你會發(fā)現(xiàn)小寫字母針對的單一對象,大寫都是針對全體。比如 -l顯示單一key,-L顯示所有key;-a 接受指定key,而-A 就是接受所有key。

saltstack認證原理

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

2)、master在接收到minion的publickey后,通過salt-key命令accept minion public key,這樣在master的/etc/salt/pki/master/minions下的將會存放以minion id命名的 public key,然后master就能對minion發(fā)送指令了。


salt-key  -L            #查詢所有接收到的證書

salt-key  -a <證書名>   #接收單個證書

salt-key  -A            #接受所有證書

salt-key  -d <證書名>   #刪除單個證書

salt-key  -D            #刪除所有證書

Salt在Master和Minion之間的通訊采用AES加密. 這就確保了發(fā)送給minions的命令不會被篡改, Master和Minion之間的通訊認證通過信任的已接受的key進行管理.

在發(fā)送給Minion之前,需要確保minion的key已經(jīng)被Master所接受. 運行 ``salt-key``命令將列出Salt Master已知的所有keys.

[root@master ~]# salt-key -L
Unaccepted Keys:
alpha
bravo
charlie
delta
Accepted Keys:
[root@master ~]# salt-key –A -y
[root@master ~]# salt-key -L
Unaccepted Keys:
Accepted Keys:
alpha
bravo
charlie
delta

發(fā)送test.ping指令

[root@moban ~]# salt '*' test.ping
moban2:
    True
moban1:
    True

限于篇幅太長,請大家移步這里進行下載查看,謝謝!

下載地址:http://down.51cto.com/data/2306388

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


文章標(biāo)題:運維自動化之Saltstack使用詳解-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://weahome.cn/article/cojjpg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部