自動化運維工具Saltstack學習筆記(二)

2021-09-05 05:39:58 字數 2078 閱讀 6137

前面學習了saltstack安裝和基本的配置,可以通過saltstack批量執行系統命令,包括系統重啟,檢視系統負載,新增/刪除使用者等等。也可以把線上web,db,bbs等安裝和配置相同或相近的伺服器分為一組,通過saltstack的group功能批量執行管理。下面通過saltstack來實現批量安裝,解除安裝rpm軟體包,批量分發檔案,壓縮包和推送目錄到指定的minion,定期修改apache/nginx/mysql等配置檔案並實施推送到minion。

1.物理環境

2.配置saltstack master

file_roots:

base:

- /srv/salt/

2)檢視我規劃的saltstack的.sls,配置檔案和軟體包的目錄結構。

3)在/srv/salt目錄下面新建top.sls檔案,該檔案是saltstack入口配置檔案。saltstack "top.sls"檔案開頭一般用base:書寫,萬用字元'*'表示所有的minion,-conf.pack表示conf目錄下面的pack.sls檔案,在這裡我定義的是rpm軟體包管理。

base:

'*':

- conf.pack

- conf.nginx

- conf.apache

- conf.mysql

- conf.software

3.軟體包的管理

1)建立軟體包管理的配置檔案pack.sls 檔案,httpd表示要安裝軟體包,pkg:表示saltstack安裝包管理,-name表示安裝軟體包名稱,-installed表示安裝,-removed表示解除安裝,service:表示saltstack服務管理,後兩行保證apache的服務是開啟的。

2)軟體包管理測試,在id為web2013-10-23的伺服器上面已經安裝apache服務並啟動。

4.nginx/apache配置檔案的分發

1)建立nginx sls配置檔案nginx.sls ,第一行表示分發到minion檔案路徑,-managed表示saltstack檔案管理,-source:表示master端配置檔案位址,是從master配置檔案定義的路徑/srv/salt開始查詢的,下面三行表示檔案的屬性。

/usr/local/nginx/conf/nginx.conf:

file:

- managed

- source: salt://nginx/nginx.conf

- user: www

- group: www

- mode: 644

- backup: minion

2)nginx/apache配置檔案的分發測試,在id為web2013-10-23的伺服器檢視nginx配置檔案及其屬性都是ok的。

5.saltstack常用命令總結

通過salt '*' sys.doc | grep "salt '*'"可以檢視所有salt幫助文件的說明。

1)saltstack通過cp.get_file可以將master檔案分發到minion,/software/install_centos_lamp_v.0.1.sh表示把檔案分發到minion上的檔案路徑,makedirs=true表示如果目錄不存在自動建立,在傳輸大檔案的時候還支援壓縮傳輸,在傳輸大檔案的時候還支援壓縮傳輸gzip。

3)saltstack cmd.run 命令可以執行系統命令並把結果返回。

3)saltstack state.highstate命令表示主動推送master和minion同步,也可以通過schedule方式讓客戶端minion定期同步master。

salt '*' state.highstate
4)2013.12.27補充,上次網友和博友提問說如何只同步top.sls下面的nginx或者mysql的配置檔案,而不是全部同步。當然應該也支援n(分組)和e(正則)引數。

salt '*' state.sls conf.nginx

ansible 自動化運維工具

ansible 自動化運維工具 批量管理 python開發 無客戶端 基於ssh服務 22 安裝 1.ansible包在擴充套件源,epel release yum y install epel release yum repolist 2.安裝,ansible yum y install ansi...

自動化運維工具 ansible

ansible ansible 一 簡介和部署 ansible 二 主機清單管理 ansible 三 配置和命令集 ansible 四 常用模組 ansible 五 palybooks劇本 ansible 彙總 ansible 中文權威指南 本部落格 至 小左先森的部落格 ansible ansib...

ansible 自動化運維工具

ansible是新出現的自動化運維工具,基於python開發,集合了眾多運維工具 puppet cfengine chef func fabric 的優點,實現了批量系統配置 批量程式部署 批量執行命令等功能。ansible是基於模組工作的,本身沒有批量部署的能力。真正具有批量部署的是ansible...