Puppet是管理計算機系統配置的開源框架和工具集,是系統管理員必備的工具。 《Puppet實戰手冊》講解了Puppet的方方面面,是Puppet領域的一部經典之作。書中先講解如何快速上手Puppet,並使用Git、Rake、Git鉤子(Git-hook)快速構建開發環境。然後講解Puppet的語法、風格以及如何編寫優秀的代碼,軟體包的管理、虛擬化資源和應用程式的管理,Puppet管理虛擬機、負載均衡、防火牆及NFS,Puppet的外部工具及整個生態系統,Puppet的報告、監控及一些常見故障的處理等方面,力求給讀者一些借鑑與指導。 《Puppet實戰手冊》不只探討了Puppet的全部功能,還詳細展示了如何解決現實問題和應用程式,每一步都清晰地展示了應該輸入什麼命令,每一個技巧的展示都給出了完整的示範代碼。本書包括的一些真實示例來自生產系統,並給出了在世界上最大的Puppet安裝中使用的技術,包括基於Git版本控制系統的Puppet分散式架構。《Puppet實戰手冊》適合各個層次的系統管理員、操作人員和開發人員閱讀。
基本介紹
- 書名:Puppet實戰手冊
- 作者:[英] 約翰 阿倫德爾 ( John Arundel )
- 頁數:218頁
- 出版社:人民郵電出版社
目錄
第1章 Puppet基礎設施 1
1.1 簡介 1
1.2 安裝Puppet 2
1.3 創建一個配置清單 4
1.4 利用Git管理配置清單 5
1.5 創建去中心化Puppet架構 7
1.6 編寫papply腳本 9
1.7 使用cron運行Puppet 11
1.8 利用Rake部署變更 15
1.9 利用Rake引導Puppet運行 17
1.10 利用Git鉤子自動進行語法檢查 20
第2章 Puppet語言和風格 23
2.1 簡介 23
2.2 使用社區推薦的Puppet風格 24
2.3 使用puppet-lint檢查配置清單 26
2.4 使用模組 28
2.5 使用標準的命名約定 31
2.6 使用內聯模板 33
2.7 數組中多個元素的遍歷 34
2.8 編寫功能強大的條件語句 36
2.9 在if語句中使用正則表達式 38
2.10 使用選擇器和case語句 39
2.11 使用in運算符 41
2.12 使用正則表達式進行替換 42
第3章 編寫優秀的配置清單 45
3.1 簡介 46
3.2 使用資源數組 46
3.3 使用"定義" 47
3.4 使用資源依賴 49
3.5 使用標籤 52
3.6 使用運行階段 55
3.7 使用節點繼承 57
3.8 給類傳遞參數 59
3.9 使用類繼承和重載 61
3.10 編寫可重用、跨平台的配置清單 64
3.11 獲取系統的環境信息 66
3.12 導入動態信息 68
3.13 給shell命令傳遞參數 69
第4章 處理檔案和軟體包 71
4.1 簡介 71
4.2 快速編輯配置檔案 72
4.3 使用Augeas自動編輯配置檔案 73
4.4 使用配置片段來構建配置檔案 75
4.5 使用ERB模板 77
4.6 在模板中使用數組疊代 79
4.7 使用GnuPG加密私密數據 81
4.8 從第三方倉庫安裝軟體 85
4.9 從原始碼自動化構建軟體包 88
4.10 軟體包版本對比 90
第5章 用戶與虛擬資源 92
5.1 簡介 92
5.2 使用虛擬資源 93
5.3 利用虛擬資源管理用戶 96
5.4 管理用戶的SSH訪問 99
5.5 管理用戶自定義檔案 102
5.6 有效分發cron作業 106
5.7 使用schedule限定資源何時生效 108
5.8 使用host資源 111
5.9 使用多個file源 112
5.10 分發目錄樹 114
5.11 清理舊檔案 116
5.12 審計資源 118
5.13 臨時禁用資源 119
第6章 管理應用程式 121
6.1 簡介 121
6.2 管理Apache伺服器 122
6.3 創建Apache虛擬主機 123
6.4 創建Nginx虛擬主機 127
6.5 管理MySQL 130
6.6 管理Ruby 135
第7章 伺服器和雲基礎設施 142
7.1 介紹 142
7.2 使用Heartbeat構建高可用服務 142
7.3 管理NFS伺服器和檔案共享 147
7.4 使用HAProxy實現多個Web伺服器間的負載均衡 150
7.5 利用iptables管理防火牆 153
7.6 管理EC2實例 161
7.7 利用Vagrant管理虛擬機 166
第8章 外部工具和Puppet生態系統 171
8.1 簡介 171
8.2 創建自定義fact 172
8.3 添加外部fact 174
8.4 設定fact為環境變數 177
8.5 使用Hiera導入配置數據 177
8.6 使用hiera-gpg存儲機密數據 182
8.7 使用puppet resource生成配置清單 184
8.8 使用其他工具生成配置清單 185
8.9 使用rspec-puppet測試配置清單 189
8.10 使用公開模組 192
8.11 使用外部節點分類器 194
8.12 創建自己的資源類型 196
8.13 創建自己的提供者 199
8.14 創建自定義函式 201
第9章 監控、報告和故障排除 204
9.1 介紹 204
9.2 執行試運行 205
9.3 記錄命令輸出 206
9.4 記錄調試信息 208
9.5 生成報告 209
9.6 自動生成HTML文檔 210
9.7繪製依賴關係圖 212
9.8 了解Puppet錯誤 215
9.9 檢測配置檔案設定 218