Puppet技術介紹

1 Puppet

Puppet是開源的配置管理工具。其原理機製為:用戶使用Puppet語言將需要對設備進行的配置寫成腳本,保存到服務器中,再通過服務器把這些配置腳本下發到各網絡設備,實現對網絡設備的集中配置管理。

1.1  Puppet網絡架構

圖1-1 Puppet網絡架構

 

1-1所示,Puppet采用“服務器端/客戶端”網絡架構,服務器端稱為Puppet master,客戶端稱為Puppet agentPuppet masterPuppet agent之間使用通過SSL加密的連接進行通信。

1.1.1  Puppet master

Puppet master用於對Puppet agent進行集中管理,其主要功能如下:

·              以守護進程的方式運行,監聽Puppet agent的請求。

·              建立連接時,對Puppet agent進行認證。

·              集中保存配置腳本,並根據用戶要求將配置腳本下發到Puppet agent

1.1.2  Puppet agent

Puppet網絡中,由Puppet master集中管理的設備稱為Puppet agentPuppet agent的工作過程如下:

(1)      Puppet agent啟動Puppet進程,並向Puppet master發起認證請求。

(2)      Puppet agent周期性檢查認證是否通過。如果認證通過,Puppet master建立連接。

(3)      Puppet agentPuppet master建立連接後,Puppet agent周期性向Puppet master發送請求獲取新配置。

(4)      Puppet agent獲取到新配置,並將新配置與設備當前運行的配置進行對比,如果設備當前運行配置與獲取的配置存在差異,則運行差異配置。

(5)      Puppet agent完成配置後,向Puppet master反饋配置運行結果。

H3C設備作為Puppet agent運行,支持版本3.7.3

1.2  Puppet資源

Puppet使用Puppet語言定義配置項,各配置項的集合即為一個配置腳本。在Puppet中,配置項叫做資源。

Puppet劃分了多個不同類型的資源,每個類型的資源都由名稱和多個屬性組成,每個屬性對應功能的一個配置,屬性值即為該配置應達到的狀態。用戶在對Puppet資源進行配置時,通過為不同屬性賦值,從而指定設備應該達到的狀態,而不需要關心如何達到這些狀態。

H3C定義了一係列Puppet資源,Puppet master可以使用這些資源對設備進行配置。

附件下載

聯係我們