首頁  >  文章  >  puppet是用什麼語言寫的

puppet是用什麼語言寫的

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼原創
2020-01-06 11:22:092597瀏覽

puppet是用什麼語言寫的

一、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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn