Puppet概述 配置2

2021-09-08 04:09:26 字數 2417 閱讀 9550

一、puppet概述

puppet是開源的基於ruby的系統配置管理工具,基於c/s的部署架構。是乙個為實現資料中心自動化管理而設計的配置管理軟體,它使用跨平台語言規範,管理配置檔案、使用者、軟體包、系統服務等。客戶端預設每隔半小時會和伺服器通訊一次,確認是否有更新。當然也可以配置主動觸發來強制客戶端更新。這樣就把日常的系統管理任務**化了,**化的好處是可以分享,儲存,避免重複勞動,也可以快速恢復以及快速的大規模部署伺服器。

二、puppet構架

三、應用場景

統一安裝、配置管理軟體

統一配置系統優化引數

定期檢測服務是否執行

快速替換集群時裝置的角色

四、puppet工作原理

流程簡述如下:

1、客戶端puppetd向master發起認證請求。

2、puppet master告訴client是合法的。

3、客戶端puppetd開始呼叫facter,facter可以探測出主機的一些變數,例如主機名,記憶體大小,ip位址等。pupppetd 把這些資訊通過ssl連線傳送到伺服器端。

4、伺服器端的puppet master 檢測客戶端的主機名,然後找到manifest裡面對應的node配置, 並對該部分內容進行解析,解析分為幾個階段,語法檢查,如果語法錯誤就報錯。如果語法沒錯,就繼續解析,解析的結果會生成乙個中間的「偽**」(catalog),然後把偽**發給客戶端。

5、客戶端接收到「偽**」,並且執行。

6、客戶端在執行時判斷有沒有file檔案,如果有就向fileserver發起請求。

7、客戶端繼續判斷有沒有配置report。如果配置,就把執行結果傳送給伺服器。

8、伺服器端把客戶端的執行結果寫入日誌。並可以傳送給報告系統(dashboard)

五、puppet組織結構

puppet的目錄結構描述如下:

|-- puppet.conf            # 主配置配置檔案 

|-- fileserver.conf         #檔案伺服器配置檔案 

|-- auth.conf             #認證配置檔案  (只允許域內認證)

|-- autosign.conf          #自動驗證配置檔案 

|-- tagmail.conf          # 郵件配置檔案(將錯誤資訊傳送) 

|-- manifests       # 檔案儲存目錄(puppet會先讀取該目錄的.pp檔案) 

|-- nodes 

| |  | puppetclient.pp   #puppet解析主配置檔案所有的模組和節點都在此檔案裡include

| |-- site.pp              # 定義puppet相關的變數和預設配置

| |-- modules.pp        # 載入class類模組檔案(include nginx)

|--  modules          # 定義模組

| --nginx             # 以nginx為例 

|           |--  file

|           |--  manifests

|           |     |-- init.pp       #類的定義,類名必須與模組名相同

|           |--- templates    # 模組配置目錄,可以被模組的manifests引用 

|           |     |-- nginx.erb #erb模板

六、puppet dashboard

puppet dashboard可以為puppet環境新增乙個圖形使用者介面(gui)。puppet dashboard可以顯示主機上puppet的執行結果,並且可以提供乙個節點分類工具來配置主機。

七、puppet loadblancer

當需要部署的伺服器越來越多(超過1000臺)時,puppet master解析工作將非常繁重,同時檔案分發也將成為瓶頸,再加上很多的client需要做ca認證,單台puppet將無法滿足需求,此時就需要對puppet做loadblancer,建議採用的方式是通過nginx做負載分配,典型的puppet集群架構如下:

構架說明:

Puppet概述 配置2

一 puppet概述 puppet是開源的基於ruby的系統配置管理工具,基於c s的部署架構。是乙個為實現資料中心自動化管理而設計的配置管理軟體,它使用跨平台語言規範,管理配置檔案 使用者 軟體包 系統服務等。客戶端預設每隔半小時會和伺服器通訊一次,確認是否有更新。當然也可以配置主動觸發來強制客戶...

puppet多環境配置(puppet自動化系列2)

我們為puppetmaster建立3個環境,它們分別是開發環境 jqdev 測試環境 jqtest 生產環境 jqprd 3.1 配置puppet.conf 在標籤 master 中新增environments環境,其次建立對應的環境標籤及配置建立目錄 root puppetmaster1 pupp...

puppet 配置 3 5 引數

介紹 puppet 中 facter 用法,介紹自引數定義,引數傳遞,引數使用的常見例子facter 是 puppet 的乙個依賴軟體,當安裝了 puppet 軟體,都可以通過 facter 命令查詢 puppet 內建變數直接呼叫命令 facter 查詢所有內建變數 通過命令 facter 需要查...