前面學習了saltstack安裝和基本的配置,可以通過saltstack批量執行系統命令,包括系統重啟,檢視系統負載,新增/刪除使用者等等。也可以把線上web,db,bbs等安裝和配置相同或相近的伺服器分為一組,通過saltstack的group功能批量執行管理。下面通過saltstack來實現批量安裝,解除安裝rpm軟體包,批量分發檔案,壓縮包和推送目錄到指定的minion,定期修改apache/nginx/mysql等配置檔案並實施推送到minion。
1.物理環境
2.配置saltstack master
file_roots:2)檢視我規劃的saltstack的.sls,配置檔案和軟體包的目錄結構。base:
- /srv/salt/
3)在/srv/salt目錄下面新建top.sls檔案,該檔案是saltstack入口配置檔案。saltstack "top.sls"檔案開頭一般用base:書寫,萬用字元'*'表示所有的minion,-conf.pack表示conf目錄下面的pack.sls檔案,在這裡我定義的是rpm軟體包管理。
base:3.軟體包的管理'*':
- conf.pack
- conf.nginx
- conf.apache
- conf.mysql
- conf.software
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:2)nginx/apache配置檔案的分發測試,在id為web2013-10-23的伺服器檢視nginx配置檔案及其屬性都是ok的。file:
- managed
- source: salt://nginx/nginx.conf
- user: www
- group: www
- mode: 644
- backup: minion
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.highstate4)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...