《SaltStack技術入門與實踐》是2015年機械工業出版社出版的圖書,作者是劉繼偉、沈燦、趙舜東。
基本介紹
- 中文名:SaltStack技術入門與實踐
- 作者:劉繼偉、沈燦、趙舜東
- 出版社:機械工業出版社
- ISBN:9787111518228
內容簡介,圖書目錄,作者簡介,
內容簡介
SaltStack是管理基礎設施的強大工具,為遠程管理伺服器提供了高擴展性、高速度、高效的輕量級解決方案。本書介紹這個強大工具的基礎知識和使用方法,使讀者可快速入門,掌握這個工具來部署與管理自己的平台。作者不僅分享了大量實戰案例,還總結了自己的實戰經驗。《SaltStack技術入門與實戰》內容豐富,實用性強,主要內容包括:SaltStack基礎概念、組件和實例,擴展SaltStack組件,第三方調用SaltStack,擴展SaltStack架構,開發SaltStackWeb平台,對SaltStack進行小的改造,以及SaltStack排錯與運維等。本書系統化地講解SaltStack的概念、架構與工作原理,使讀者對SaltStack有完整而深入的了解;通過典型案例講解SaltStack的使用場景、技巧及注意事項,使讀者學以致用;還介紹了SaltStack與運維相關業務的整合方案,使讀者基於SaltStack,但不拘泥於SaltStack,真正將SaltStack融會貫通,作為自動化運維生態的連線點。
圖書目錄
序言
前言
第1章 SaltStack入門 1
1.1 SaltStack服務架構 2
1.2 SaltStack架構安裝 2
1.2.1 SaltStack軟體依賴 3
1.2.2 yum方式安裝(採用EPEL源) 4
1.2.3 pip方式安裝 4
1.2.4 源碼安裝 4
1.2.5 salt-bootstrap安裝 5
1.3 開始SaltStck之旅 6
1.3.1 證書管理 6
1.3.2 日常命令參數 7
1.4 熟悉SalStack配置檔案 10
1.4.1 Master配置檔案 10
1.4.2 Minion配置檔案 14
第2章 SaltStack組件 17
2.1 從管理對象說起 17
2.2 管理對象屬性 20
2.2.1 通過Minion配置檔案定義Grains 21
2.2.2 通過Grains模組定義Grains 22
2.3 數據管理中心 23
2.4 針對管理對象操作 25
2.5 配置管理從這裡開始 27
2.6 執行結果處理 31
2.7 Job管理 33
2.8 Event和Reactor系統 37
2.9 Renderer組件 40
2.10 其他組件 43
2.10.1 Mine 43
2.10.2 Peer 44
第3章 SaltStack實踐案例 49
3.1 環境規劃 50
3.1.1 實驗環境設定 51
3.1.2 SaltStack環境設定 51
3.2 YAML編寫技巧 52
3.2.1 什麼是YAML 52
3.2.2 規則一:縮進 52
3.2.3 規則二:冒號 52
3.2.4 規則三:短橫槓 53
3.3 Jinja使用技巧 54
3.3.1 什麼是Jinja 54
3.3.2 如何區分模板檔案 54
3.3.3 Jinja基本使用 55
3.3.4 Jinja邏輯關係 55
3.4 系統初始化 56
3.4.1 DNS配置 56
3.4.2 History記錄時間 56
3.4.3 命令操作審計 57
3.4.4 核心參數最佳化 57
3.4.5 epel倉庫 58
3.4.6 Zabbix Agent安裝 58
3.4.7 初始化環境引用 60
3.5 Haproxy配置管理 61
3.5.1 pkg配置 62
3.5.2 Haproxy服務配置 62
3.5.3 編寫Haproxy安裝SLS 63
3.5.4 Haproxy業務引用 65
3.5.5 執行Haproxy狀態 67
3.5.6 查看Haproxy狀態 67
3.6 Keepalived配置管理 68
3.6.1 軟體包準備 68
3.6.2 編寫Keepalived安裝SLS 69
3.6.3 Keepalived業務引用 70
3.6.4 執行Keepalived狀態 72
3.6.5 Haproxy+Keepalived測試 73
3.7 Memcached配置管理 74
3.7.1 www用戶配置 75
3.7.2 Libevent配置 76
3.7.3 Memcached配置 76
3.7.4 Memcached服務 77
3.7.5 執行Memcached狀態 78
3.8 Nginx配置管理 78
3.8.1 PCRE模組 79
3.8.2 Nginx模組 80
3.8.3 Nginx配置檔案 81
3.8.4 編寫Nginx服務SLS 82
3.8.5 PHP(FastCGI)配置管理 83
3.8.6 PHP Redis模組 86
3.8.7 PHP Memcached模組 86
3.9 業務引用模組 87
3.9.1 BBS論壇案例 88
3.9.2 修改top.sls 89
3.9.3 執行狀態 89
3.9.4 案例擴展的思路 92
第4章 擴展SaltStack組件 93
4.1 擴展Grains 93
4.1.1 理解擴展Grains流程 94
4.1.2 擴展Grains案例 96
4.2 擴展Module 96
4.2.1 理解擴展Module原理 97
4.2.2 擴展Module案例 99
4.3 擴展state 102
4.3.1 理解擴展state原理 102
4.3.2 擴展state案例 104
4.4 ext_pillar 與 ext_nodes 108
4.4.1 理解ext_pillar 流程 108
4.4.2 理解 ext_nodes流程和案例 110
4.4.3 ext_pillar實際案例 115
4.4.4 擴展ext_pillar 119
4.5 SaltStack git 檔案伺服器 120
第5章 第三方調用SaltStack 127
5.1 通過Python API調用 127
5.1.1 Python API工作原理 128
5.1.2 Python API 介紹 133
5.2 通過RESTful API調用 138
5.2.1 Restful API配置環境部署 139
5.2.2 通過 Restful API 實現日常操作 141
第6章 SaltStack架構擴展 145
6.1 無Master架構 145
6.1.1 設定無Master運行 146
6.1.2 關閉salt-minion 146
6.1.3 使用salt-call執行狀態 146
6.2 多Master架構 147
6.2.1 配置多Master 147
6.2.2 Master數據存儲 147
6.2.3 設定Minion 148
6.3 Salt Syndic 149
6.3.1 Syndic配置 149
6.3.2 高級Master配置 150
6.3.3 Syndic測試 150
6.3.4 Syndic是如何工作的 151
6.3.5 Syndic的優缺點 151
6.4 Salt SSH 152
6.4.1 Salt Rosters 153
6.4.2 使用Salt SSH 154
6.4.3 基本使用 154
6.4.4 生產實踐 155
第7章 SaltStack Web 平台開發 161
7.1 SaltStck Web平台開發流程 161
7.1.1 確定技術棧 162
7.1.2 做原型圖 163
7.1.3 UI設計 166
7.2 與SaltStack 聯動 166
7.3 實踐 168
7.3.1 框架搭建 168
7.3.2 功能開發 170
7.3.3 效果演示 174
第8章 Hack SaltStack 177
8.1 實現命令執行結果的自動採集與監控 177
8.1.1 MySQL建表 178
8.1.2 自定義returner 179
8.1.3 通過fluent採集數據 180
8.1.4 結果查詢 182
8.2 實現系統信息變更的自動上報 182
8.2.1 上報系統的需求與結構 183
8.2.2 軟體選型 183
8.2.3 系統構建 184
8.2.4 基於Event的擴展 188
第9章 SaltStack排錯 193
9.1 排錯思路 193
9.1.1 確定問題範圍 194
9.1.2 確保環境正常 194
9.1.3 定位問題 195
9.1.4 求助 198
9.1.5 Bug修復 200
9.2 排錯實戰 203
第10章 SaltStack與運維 205
10.1 SaltStack與自動化運維 205
10.1.1 運維的工作內容 205
10.1.2 運維自動化發展歷程 207
10.1.3 運維標準化、工具化 207
10.1.4 運維Web化、平台化 208
10.1.5 運維服務化、API化 209
10.1.6 運維智慧型化、自動化 210
10.2 SaltStack與CMDB 210
10.2.1 信息採集&存儲 212
10.2.2 信息匹配 212
10.2.3 資產展示 213
作者簡介
劉繼偉,資深開發與運維人員,負責某集團統一運維平台以及雲計算平台的開發;長期關注開源技術,熟悉OpenStack、SaltStack等相關技術;“中國OpenStack用戶組”管理員,“中國SaltStack用戶組”發起人之一。
沈燦,運維圈知名博主“燦哥”,曾就職於藍訊、京東、Yottaa等網際網路公司,對CDN和自動化運維技術有著豐富的工作經驗,樂於分享,有很多技術文章和講座廣為流傳。
趙舜東,曾在武警某部負責指揮自動化系統的架構和運維工作,2008年退役後一直從事網際網路運維工作,“中國SaltStack用戶組”發起人之一。