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


1.  概述

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運維自動化之用戶管理。

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

系統運維人員,經常需要安裝或者升級特定的升級包,有的是自己編譯的rpm包,有的需要從官網更新,如何確保所有的服務器都是從特定的倉庫更新。

保持所有的軟件更性,維護服務器的統一性。今天就為大家介紹puppet管理yum安裝源。

puppet運維自動化之cron管理

運維人員經常需要定時計划,執行安裝,更新,備份等作業,頻繁的調度作業時間,如何實現批量,統一的計划任務,本篇就為大家介紹puppet運維自動化之cron資源管理。

參考:

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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM