Puppet實戰( 簡體 字) | |
作者:劉宇 著 | 類別:1. -> 程式設計 -> 綜合 |
出版社:機械工業出版社 | 3dWoo書號: 37377 詢問書籍請說出此書號! 有庫存 NT售價: 345 元 |
出版日:12/1/2013 | |
頁數:362 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787111445180 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
前 言
第一部分 準備篇 第1章 認識Puppet 2 1.1 Puppet的起源與發展現狀 2 1.1.1 什么是Puppet 2 1.1.2 Puppet起源與發展 2 1.1.3 版本語言特征 3 1.1.4 命令差異 4 1.1.5 Puppet 3.0新特性 4 1.2 為什么要使用Puppet 5 1.2.1 都有誰在使用Puppet 5 1.2.2 常見集中化管理工具對比 5 1.2.3 推薦Puppet的理由 6 1.3 Puppet的作用和特色 6 1.3.1 為什么要有自己的語言 6 1.3.2 為什么是Ruby 6 1.3.3 管理任何機器 6 1.4 Puppet組織結構 7 1.5 Puppet工作原理 7 1.5.1 Puppet基本結構 7 1.5.2 Puppet是如何工作的 8 1.5.3 Puppet數據流 8 1.5.4 文件結合 9 1.5.5 詳細交互過程 9 1.5.6 安全與認證 10 1.6 Puppet核心配置文件詳解 11 1.6.1 主配置文件puppet.conf 11 1.6.2 主機配置文件site.pp 13 1.6.3 認證與安全配置文件 14 1.6.4 客戶端自動認證配置 16 1.6.5 報告系統配置 16 1.6.6 文件系統配置文件 16 1.7 本章小結 17 第2章 Puppet安裝與配置 18 2.1 Puppet對各系統平臺的支持 18 2.2 Puppet對Ruby的支持 19 2.3 Puppet的安裝步驟 19 2.4 在Linux下安裝 20 2.4.1 包管理器方式安裝 21 2.4.2 從源代碼進行安裝 23 2.4.3 從Git版本庫進行安裝 24 2.4.4 通過Gems進行安裝 25 2.5 在Mac OS X下安裝 25 2.5.1 通過二進制發布包進行安裝 25 2.5.2 從Git版本庫進行安裝 26 2.5.3 從Ports倉庫進行安裝 27 2.6 配置Puppet 28 2.7 在Windows下安裝與使用 30 2.7.1 包管理器方式安裝 31 2.7.2 在Windows下使用Puppet 33 2.7.3 Puppet在Windows下的功能 35 2.8 如何升級 35 2.9 本章小結 36 第3章 創建你的第一個Puppet配置 37 3.1 配置一個測試節點 37 3.2 檢測你的配置文件 38 3.3 客戶端運行配置 39 3.4 查看運行結果 40 3.5 增加httpd模塊 40 3.6 本章小結 42 第4章 Puppet運行環境 43 4.1 服務器端配置 43 4.2 客戶端配置 44 4.3 如何運用環境配置 45 4.4 本章小結 48 第二部分 基礎篇 第5章 Puppet語法與命令詳解 50 5.1 Puppet的命名規范 51 5.1.1 資源 51 5.1.2 屬性 51 5.1.3 類 52 5.1.4 模塊 52 5.1.5 節點 52 5.2 主機、模塊和類的命名 53 5.2.1 主機的命名 53 5.2.2 模塊的命名 54 5.2.3 類的命名 54 5.3 資源、變量、參數和標簽的命名 54 5.3.1 資源的命名 54 5.3.2 變量的命名 55 5.3.3 參數的命名 55 5.3.4 標簽的命名 55 5.4 Puppet語法風格 55 5.4.1 間距、縮進和空白字符 56 5.4.2 注釋 56 5.4.3 變量的引用 56 5.4.4 資源 57 5.4.5 條件語句 60 5.4.6 類 61 5.5 檢查命令的用法 64 5.5.1 語法檢查 64 5.5.2 代碼調試 65 5.6 Puppet命令詳解 66 5.6.1 Puppet常用命令 68 5.6.2 幫助命令詳解 73 5.6.3 模塊和不常用命令 75 5.7 本章小結 76 第6章 Puppet資源詳解 77 6.1 什么是資源 78 6.1.1 圖解核心資源 81 6.1.2 什么是manifests 81 6.1.3 資源的依賴 82 6.2 虛擬資源? 85 6.2.1 虛擬資源的定義 85 6.2.2 虛擬資源的用法 86 6.3 常用資源的用法 87 6.3.1 用戶資源 88 6.3.2 用戶組資源 90 6.3.3 軟件安裝 91 6.3.4 文件管理 94 6.3.5 服務管理 97 6.3.6 定時腳本 99 6.3.7 執行命令 101 6.3.8 調試與輸出 103 6.4 Puppet作用域與變量 104 6.4.1 作用域 104 6.4.2 變量 108 6.5 條件語句 110 6.5.1 if語句 110 6.5.2 case語句 112 6.5.3 selector選擇器 112 6.6 表達式 113 6.6.1 什么是表達式 113 6.6.2 運用位置 114 6.6.3 操作順序 114 6.6.4 比較運算符 114 6.6.5 布爾運算符 115 6.6.6 算術運算符 116 6.7 函數 116 6.8 數據類型 118 6.8.1 布爾類型 118 6.8.2 未定義 119 6.8.3 字符串 119 6.8.4 資源引用 120 6.8.5 數字 120 6.8.6 哈希類型 121 6.8.7 正則表達式 121 6.8.8 數組 122 6.9 標簽 123 6.10 stage運行階段 123 6.11 本章小結 124 第7章 Puppet模塊、類、模板 125 7.1 圖解模塊結構 125 7.2 模塊管理 126 7.2.1 實例:創建一個模塊 127 7.2.2 模塊布局 129 7.3 類管理 130 7.3.1 類的定義 131 7.3.2 類的繼承 131 7.3.3 參數化類 132 7.4 模板管理 135 7.4.1 定義與聲明 135 7.4.2 ERB模板語法 136 7.5 融合 139 7.6 從Puppet Forge獲取模塊 141 7.7 從Example42獲取模塊 142 7.8 本章小結 143 第8章 節點管理 144 8.1 什么是節點 144 8.2 主機名命名規范 145 8.3 節點繼承 146 8.3.1 節點繼承關系 146 8.3.2 繼承變量覆蓋 147 8.3.3 默認類與默認節點 147 8.3.4 節點繼承的判斷 148 8.4 節點管理方法 149 8.4.1 每個主機名獨立 149 8.4.2 采用正則匹配 150 8.4.3 使用外部節點分類器 150 8.4.4 利用WEB-UI管理 153 8.5 如何選擇合適的管理方式 154 8.6 本章小結 154 第9章 認識Facter 155 9.1 什么是Facter 155 9.2 Facter的作用與特點 156 9.3 Facter的常用變量 157 9.3.1 操作系統名 158 9.3.2 操作系統相關 159 9.3.3 主機名 159 9.3.4 IP地址 160 9.3.5 內存管理 160 9.3.6 系統狀態信息 161 9.3.7 版本管理 161 9.4 如何自定義fact 162 9.5 案例一:條件語句 164 9.6 案例二:匹配不同硬件配置 165 9.7 本章小結 167 第10章 小標簽大用途 168 10.1 Puppet標簽的定義 168 10.2 Puppet標簽的說明 168 10.2.1 自動分配標簽 169 10.2.2 tag元參數 169 10.2.3 tag函數 170 10.2.4 tagged函數 171 10.2.5 識別標簽 171 10.3 指定標簽運行特定配置 172 10.3.1 在命令行中指定特定標簽 172 10.3.2 在配置文件中指定 174 10.3.3 在Node節點配置中指定 174 10.4 標簽的更多用法 175 10.4.1 在收集資源中使用 175 10.4.2 實例化資源 175 10.4.3 創建資源集合 176 10.5 本章小結 176 第三部分 實戰篇 第11章 大規模Nginx集群部署方案 178 11.1 應用場景 178 11.2 場景需求分析 178 11.2.1 日常變更分析 178 11.2.2 網絡及架構分析 179 11.2.3 軟件安裝分析 180 11.2.4 軟件配置分析 180 11.2.5 節點管理分析 181 11.3 合理規劃 181 11.3.1 系統安裝 181 11.3.2 系統初始化 182 11.3.3 部署規劃 182 11.3.4 關注點 183 11.4 實施步驟 183 11.4.1 前期準備:創建軟件倉庫 183 11.4.2 Puppet配置文件管理 185 11.4.3 初始化操作系統 187 11.4.4 編寫nginx模塊 187 11.4.5 采用Forge的nginx模塊 192 11.5 本章小結 194 第12章 分布式監控系統部署方案 195 12.1 利用Puppet部署Zabbix 196 12.1.1 Zabbix簡介 196 12.1.2 Zabbix架構 197 12.1.3 利用Puppet部署Zabbix 198 12.1.4 Zabbix自定義監控 201 12.2 利用Puppet部署Nagios 202 12.2.1 Nagios簡介 202 12.2.2 Nagios架構 203 12.2.3 Nagios服務端安裝 204 12.2.4 Nagios模塊應用 206 12.2.5 創建Nagios客戶端監控 208 12.3 本章小結 210 第13章 OpenStack快速部署方案 211 13.1 OpenStack簡介 211 13.1.1 什么是OpenStack 211 13.1.2 OpenStack的組件、服務及邏輯架構 212 13.1.3 OpenStack版本說明 213 13.2 部署OpenStack 214 13.2.1 環境準備 214 13.2.2 安裝軟件及Puppet模塊 216 13.2.3 部署controller 218 13.2.4 部署compute 220 13.2.5 驗證OpenStack部署 221 13.3 本章小結 222 第四部分 進階篇 第14章 Puppet版本控制 224 14.1 Puppet版本控制方法 224 14.1.1 為什么要使用版本控制 224 14.1.2 版本控制的架構與原理 225 14.1.3 Git與SVN的區別 226 14.1.4 為什么采用Git 226 14.2 使用Git實現Puppet 226 14.2.1 安裝與配置Git 227 14.2.2 將Puppet加入Git 228 14.2.3 使用Rake自動更新副本 229 14.2.4 使用hook實現自動語法檢查 231 14.3 本章小結 232 第15章 Puppet架構擴展與分布式 233 15.1 Puppet瓶頸分析 233 15.1.1 單臺Puppet Master瓶頸 233 15.1.2 認證的瓶頸 234 15.1.3 文件的瓶頸 234 15.1.4 網路的瓶頸 234 15.2 架構擴展之單臺Puppet Master 234 15.2.1 Nginx+Mongrel模式 235 15.2.2 Apache+Passenger模式 238 15.2.3 Nginx+Passenger模式 242 15.3 架構擴展之多臺Puppet Master 244 15.3.1 配置前的準備 248 15.3.2 Puppet CA認證服務器部署 250 15.3.3 Puppet LB負載均衡器部署 251 15.3.4 Puppet Master服務器部署 252 15.3.5 Puppet客戶端配置 254 15.3.6 驗證架構 254 15.4 架構擴展之利用Git構建分布式的Puppet 254 15.4.1 實現原理 255 15.4.2 安裝與部署 256 15.5 本章小結 259 第16章 File資源管理優化 260 16.1 深入理解File資源? 260 16.2 操作實踐 262 16.3 File資源配置方法? 269 16.3.1 模塊文件目錄配置 269 16.3.2 統一文件目錄配置 270 16.3.3 content屬性 271 16.4 File資源的優化 271 16.4.1 配置Nginx代理 272 16.4.2 選擇File資源還是ERB 272 16.4.3 大文件下發方法 272 16.5 從filebucket檢索文件 272 16.6 備份與恢復文件 275 16.7 File資源的缺點 276 16.8 本章小結 276 第17章 強大的報告系統 277 17.1 report介紹 277 17.2 Puppet信息記錄方式 278 17.3 tagmail發送郵件報告 279 17.4 rrdgraph圖形化報告 280 17.5 自定義報告處理器 282 17.6 本章小結 284 第18章 必須了解的控制臺 285 18.1 Puppet DashBoard 285 18.1.1 簡介 285 18.1.2 DashBoard安裝 285 18.1.3 配置DashBoard 287 18.1.4 集成DashBoard 292 18.2 Foreman 297 18.2.1 Foreman簡介 297 18.2.2 安裝Foreman 298 18.2.3 配置Foreman 303 18.2.4 使用Foreman管理Puppet 311 18.2.5 從Foreman顯示報告 313 18.2.6 Foreman其他功能 314 18.3 本章小結 314 第19章 Puppet擴展工具 315 19.1 生成HTML文檔 315 19.1.1 利用puppet doc生成HTML 316 19.1.2 puppet doc的其他使用方法 318 19.2 生成依賴關系圖 319 19.2.1 什么是關系圖 319 19.2.2 配置方法 319 19.2.3 關系圖說明? 322 19.3 PuppetDB 322 19.3.1 PuppetDB功能與特性 322 19.3.2 安裝PuppetDB 324 19.3.3 PuppetDB配置文件詳解 326 19.3.4 配置與使用PuppetDB 329 19.3.5 PuppetDB瓶頸 332 19.4 Hiera 335 19.4.1 Hiera的特點 335 19.4.2 Hiera的使用 335 19.5 本章小結 335 第20章 MCollective結合 336 20.1 MCollective簡介 336 20.1.1 什么是MCollective 336 20.1.2 MCollective角色互換 337 20.1.3 MCollective的特點 338 20.1.4 MCollective給Puppet帶來的改變 338 20.2 消息中間件 339 20.2.1 Stomp 339 20.2.2 ActiveMQ 339 20.2.3 RabbitMQ 339 20.3 標準化部署MCollective 340 20.3.1 體系結構與配置 340 20.3.2 安全模型 340 20.3.3 未來擴展 341 20.4 部署MCollective步驟 341 20.4.1 創建和收集證書 342 20.4.2 部署和配置中間件 344 20.4.3 MCollective安裝與配置 348 20.5 如何使用MCollective 355 20.5.1 mco基本命令的用法 355 20.5.2 執行RPC請求 356 20.5.3 過濾器的使用 358 20.6 MCollective使用 Shell Commands 359 20.7 MCollective控制Puppet 360 20.8 本章小結 362 ppet領域的經典之作,資深運維專家多年一線經驗結晶,51CTO技術社區強烈推薦,新浪研發中心平臺架構部高級總監童劍、資深運維專家田逸、中國最大開源社區ChinaUnix創始人之一南非蜘蛛、OpenStack基金會董事程輝等業界資深專家聯袂推薦。本書詳細講解了Puppet的功能和使用方法,深入剖析了Puppet的工作原理,系統總結了Puppet的使用技巧,包含大量來自一線的實戰案例和最佳實踐。
全書一共20章,共分為四部分:準備篇(第1~4章)介紹了Puppet用途、組織結構、工作原理、核心配置文件、各種平臺下的安裝與配置,以及它的運行環境,是使用Puppet前必須做好的準備工作;基礎篇(第5~10章)詳細講解了Puppet的理論知識和功能使用,Puppet的語法與命令、資源、模塊、類、模板、節點管理,以及Facter、數組、函數、變量和標簽;實戰篇(第11~13章)通過幾個經典案例,包括大規模Nginx集群的部署方案、分布式監控系統部署方案、OpenStack快速部署方案等,使讀者能快速將Puppet運用到實踐中;進階篇(第14~20章)綜合講解了Puppet的擴展模式、版本控制、報告系統、控制臺、擴展工具及MCollective,讓讀者了解一個完整的Puppet生產流程。 |