puppet工作原理:
Puppet的工作細節分成如下幾個步驟:
1、 客戶端puppetd調用facter,facter會探測出這臺主機的一些變量如主機名、內存大小、IP地址等。然後puppetd把這些信息發送到服務器端。
2、 服務器端的puppetmaster檢測到客戶端的主機名,然後會到manifest裏面對應的node配置,然後對這段內容進行解析,facter送過來的信息可以作爲變量進行處理的,node牽涉到的代碼才解析,其它的代碼不解析,解析分幾個過程:語法檢查、然後會生成一箇中間的僞代碼,然後再把僞代碼發給客戶機。
3、 客戶端接收到僞代碼之後就會執行,客戶端再把執行結果發送給服務器。
4、 服務器再把客戶端的執行結果寫入日誌。
說明:Puppet後臺運行的時候默認是半小時執行一次,不是很方便修改。可以考慮不讓它在後臺跑而是使用crontab來調用。這樣可以精確控制每臺客戶端的執行時間。分散執行時間也可以減輕壓力