Saltstack是一個新的基礎設施管理工具。目前處于快速發展階段,可以看做是pssh+弱化的Puppet的組合。間接的反映出了saltstack的兩大功能:遠端執行和配置管理。
Saltstack使用Python開發,是一個非常簡單易用和輕量級的管理工具。由Master和Minion構成,通過ZeroMQ進行通信。
centos/redhatserver端安裝
centos/redhat用戶端minion安裝
ubuntu/debian server端和client端安裝
啟動master
啟動minion:
master端證書存放路徑:/etc/salt/pki/master/minions
文法:
常用指令舉例:
在配置檔案/etc/salt/master中加入如下内容:
分組執行:
salt-ssh批量密碼認證登陸,參考峰雲大神的博文
<a href="http://rfyiamcool.blog.51cto.com/1030776/1305710" target="_blank">http://rfyiamcool.blog.51cto.com/1030776/1305710</a>
注:該處狀态檢查salt使用的是test.ping,如果伺服器禁ping,則該處不準。
在master端執行:
可以把salt-call state.highstate指令放在minion端的定時任務中,來進行自動請求同步。
也可以把salt '*' state.highstate放在master端的定時任務中,來進行自動推送到所有機器。
也可以在/etc/salt/minion配置檔案中加入如下内容,如下是每隔5分鐘同步,效果一樣。
指定同步的目錄後,以後檔案隻需放到該目錄下就會自動同步到minion端。
如下配置,當檔案出現變更時,比對DG-Server開頭的主機,同步檔案到這些minion上,并設定為對應的檔案權限。
例:如httpd的配置檔案進行更改時,自動重新加載配置檔案。(該圖取于網上,說明見圖上)
<a href="https://yqfile.alicdn.com/img_d55fc35c30844b3b09b117c93138b78f.jpg" target="_blank"></a>
當有需要使用一些statstack沒有的方法時,可以自己增加子產品。
參考峰雲大神的文章吧。
<a href="http://rfyiamcool.blog.51cto.com/1030776/1262537" target="_blank">http://rfyiamcool.blog.51cto.com/1030776/1262537</a>
saltstack常用功能也就批量執行指令或腳本,批量分發檔案,自動同步目錄與檔案,整體來說很簡單實用。但salt有一個缺點,zeromq雖性能很高,但穩定性略差,經常出現minion與master連接配接斷開的情況,導緻有些伺服器會執行指令失敗,這個請大家要注意。