簡介 node
puppet是一種Linux、Unix、windows平臺的集中配置管理系統,使用自有的puppet描述語言,可管理配置文件、用戶、cron任務、軟件包、系統服務等。puppet把這些系統實體稱之爲資源,puppet的設計目標是簡化對這些資源的管理以及妥善處理資源間的依賴關係。linux
puppet採用C/S星狀的結構,全部的客戶端和一個或幾個服務器交互。每一個客戶端週期的(默認半個小時)向服務器發送請求,得到其最新的配置信息,保證和該配置信息同步。每一個puppet客戶端每半小時(能夠設置)鏈接一次服務器端, 下載最新的配置文件,而且嚴格按照配置文件來配置客戶端. 配置完成之後,puppet客戶端能夠反饋給服務器端一個消息. 若是出錯,也會給服務器端反饋一個消息windows
puppet工做原理centos
(1)agent向master發起認證請求,或使用帶簽名的證書;服務器
(2)master驗證agent是否合法;併發
(3)agent調用facter,facter探測主機信息(例如:hostname,mem,ip 等等),agent把這些信息經過SSL鏈接發送給master;ide
(4)master檢查agent端hostname ,而後找到manifest裏面對應的node配置,並對其解析,解析結果生成一個「僞代碼」(catelog),最後把catelog發給agentspa
(5)agent接收catelog,並執行;設計
(6)agent執行時判斷有無file文件,若是有,則向其fileserver發送請求;orm
(7)agent判斷是否配置report,若是配置,則把執行結果發送給master;
(8)master把agent執行結果寫入log,併發送系統報告;
拓撲圖
實驗環境
os:centos 6.5 x86_64 mini
已關閉:iptables,SElinux
已安裝組件:Development tools,Server Platform Development
puppet部署(master配置)