一、Puppet基礎原則
Puppet是使用GPLV2X協定授權的開源管理設定工具,puppet是用ruby寫的,因此puppet的語法也和ruby類似,都是很簡單的面對物件的高階語言。它既可以透過客戶端—伺服器的方式運行,也可以獨立運作。 puppet可以為系統管理員提供方便,快速的系統自動化管理。
二、puppet工作流程
客戶端 puppet-client 向 puppet-master 發起認證請求,或使用已簽署的憑證。
puppet-master 告訴 puppet-client 是合法的。
puppet-client 呼叫 facter, Facter 偵測出主機的一些變量, 例如主機名稱、 記憶體大小、 IP 位址等,puppet-client 將這些資訊透過 SSL 連線傳送到伺服器端。
puppet-master 伺服器端偵測客戶端的主機名,然後找到 manifest 對應的 node 配置,並對該部分內容進行解析。 facter 送過來的資訊可以當作變數處理,node 牽涉到的程式碼才解析,其他沒牽涉的程式碼不解析。解析分為幾個階段,首先是語法檢查,如果語法錯誤就報錯;如果語法沒錯,就繼續解析,解析的結果產生一個中間的「偽代碼」(catelog),然後把偽代碼發給客戶端。
puppet-client 端接收到“偽代碼”,並且執行。
puppet-client 端執行時判斷有沒有 file 文件,如果有,則向 fileserver 發起請求。
puppet-client 端判斷有沒有設定 report,如果已配置,則把執行結果傳送給伺服器。
puppet-server 端把 puppet-client 端的執行結果寫入日誌,並傳送給報告系統。
更多常見問題,請造訪PHP中文網。
以上是puppet是用什麼語言寫的的詳細內容。更多資訊請關注PHP中文網其他相關文章!