puppet開源的軟件自動化配置和部署工具——本質就是CS,服務端統一管理配置

1.  概述node

puppet是一個開源的軟件自動化配置和部署工具,它使用簡單且功能強大,正獲得了愈來愈多地關注,如今不少大型IT公司均在使用puppet對集羣中的軟件進行管理和部署,如google利用puppet管理超過6000臺地mac桌面電腦(2007年數據)。服務器

2.  設計架構架構

puppet是基於c/s架構的。服務器端保存着全部對客戶端服務器的配置代碼,在puppet裏面叫作manifest. 客戶端下載manifest以後,能夠根據manifest對服務器進行配置,例如軟件包管理,用戶管理和文件管理等等。運維

如上圖所示,puppet的工做流程以下:(1)客戶端puppetd調用facter,facter探測出主機的一些變量,例如主機名,內存大 小,ip地址等。pupppetd 把這些信息經過ssl鏈接發送到服務器端; (2)服務器端的puppetmaster 檢測客戶端的主機名,而後找到manifest裏面對應的node配置, 並對該部份內容進行解析,facter送過來的信息能夠做爲變量處理,node牽涉到的代碼才解析,其餘沒牽涉的代碼不解析。解析分爲幾個階段,語法檢 查,若是語法錯誤就報錯。若是語法沒錯,就繼續解析,解析的結果生成一箇中間的「僞代碼」,而後把僞代碼發給客戶端;(3)客戶端接收到「僞代碼」,而且 執行,客戶端把執行結果發送給服務器;(4)服務器端把客戶端的執行結果寫入日誌。工具

應用場景舉例:測試

puppet運維自動化之用戶管理

系統管理員離不開帳戶管理,帳戶管理,密碼管理,開發機器,測試機器,線上機器,都須要建立用戶,並給與相關用戶的權限。你若是要建立100 個,1000個帳戶和密碼,你會不會瘋掉,如何在1分鐘完成百上千個帳戶?那就是咱們今天的主題,puppet運維自動化之用戶管理。google

puppet運維自動化之yum倉庫管理

系統運維人員,常常須要安裝或者升級特定的升級包,有的是本身編譯的rpm包,有的須要從官網更新,如何確保全部的服務器都是從特定的倉庫更新。spa

保持全部的軟件更性,維護服務器的統一性。今天就爲你們介紹puppet管理yum安裝源。設計

puppet運維自動化之cron管理

運維人員常常須要定時計劃,執行安裝,更新,備份等做業,頻繁的調度做業時間,如何實現批量,統一的計劃任務,本篇就爲你們介紹puppet運維自動化之cron資源管理。日誌

參考:

http://os.51cto.com/art/201306/398025.htm

http://dongxicheng.org/cluster-managemant/puppet/

相關文章
相關標籤/搜索