《精通SaltStack》由SaltStack 公司資深云集成工程師Joseph Hall 編寫,《精通SaltStack》對應Salt2015.5 版本,事無巨細且通俗易懂地講解了Salt 的內部傳輸機制、異步任務系統(tǒng)、Salt SSH、Salt Cloud、Rest API 等各個子系統(tǒng),并詳細講解了如何擴展Salt,如何使用Salt Cloud 完成自動水平擴展等。
內容簡介
《精通SaltStack》由SaltStack 公司資深云集成工程師Joseph Hall 編寫,全書共11 個章節(jié)?!毒⊿altStack》對應Salt2015.5 版本,事無巨細且通俗易懂地講解了Salt 的內部傳輸機制、異步任務系統(tǒng)、Salt SSH、Salt Cloud、Rest API 等各個子系統(tǒng),并詳細講解了如何擴展Salt,如何使用Salt Cloud 完成自動水平擴展等。作者同時分享了在使用Salt 時的最佳經驗,讓讀者可以快速了解Salt 核心,做到融會貫通并靈活運用到實際工作中。
《精通SaltStack》介紹了一些Salt 更先進的特性,能夠幫助管理服務器組并希望了解如何添加新功能和擴展他們的工具集的專業(yè)人士。
作者簡介
從最初的技術支持到Web 開發(fā)者,Joseph Hall 幾乎已經觸及到了現(xiàn)代科技的方方面面,他做過QA 工程師、系統(tǒng)管理員、Linux 講師和云工程師。目前,他是SaltStack 的高級云工程師和集成工程師。Joseph 喜歡和合伙人以及SaltStack 的同事們分享商業(yè)上的絕頂妙招。同時他也是一個典型的大廚。Joseph 最大的樂趣就是談論他所謂的計算美食法。
目錄
第1 章Salt 概覽1
遠程執(zhí)行命令1
Master 和Minion 2
Targeting Minion 2
運行模塊方法6
SLS 文件樹9
SLS 文件9
使用top 文件將配置綁定在一起9
SLS 目錄組織10
使用State 進行配置管理10
使用include 塊11
使用requisite 排序11
prereq 15
反轉requisite 15
擴展SLS 文件16
Grain、Pillar 及模板基礎17
使用Grain 來獲取Minion 特征數據17
使用Pillar 使變量集中化18
通過模板動態(tài)管理文件20
Jinja 快速入門21
總結23
第2 章深入Salt 內部24
理解Salt 配置24
配置樹(configuration tree) 25
Salt 緩存27
渲染器32
渲染SLS 文件32
渲染器管道33
模板文件服務34
理解加載器34
動態(tài)模塊35
執(zhí)行模塊35
Cloud 模塊36
深入State 編譯器37
命令式與聲明式37
requisite 38
High State 與Low State 39
High State 39
Low State 43
實行State 化45
總結46
第3 章探索Salt SSH 47
掌握SSH 47
遠程shell 47
使用Roster 48
純文本Roster 48
其他的內置Roster 51
構建動態(tài)Roster 53
使用Salt SSH 54
Salt 與Salt SSH 56
理解salt-thin agent 57
構建salt-thin 包57
部署thin 包59
執(zhí)行thin 包59
使用原生SSH 模式64
緩存SSH 連接65
總結66
第4 章異步管理任務67
事件系統(tǒng)67
基本介紹67
事件數據結構68
查看事件數據68
事件命名空間73
通用事件75
通用云事件77
Salt API 事件79
構建反應器80
配置反應器80
編寫反應器81
編寫更復雜的反應器84
使用隊列系統(tǒng)91
隊列如何工作91
在反應器中使用隊列94
總結98
第5 章Salt Cloud 進階99
了解Salt Cloud 配置99
全局配置100
Provider 和Profile 配置100
擴展配置塊103
構建自定義部署腳本105
理解Salt Bootstrap 腳本105
回看遺留的部署腳本108
定制部署腳本109
給腳本傳遞參數111
使用文件映射112
cloud 映射概覽113
構建自動伸縮的反應器116
Cloud 緩存116
使用Cloud 緩存事件119
總結122
第6 章使用Salt REST 123
Salt HTTP 類庫123
為什么是Salt 特定的類庫124
使用http.query 方法125
使用http.query State 129
理解Salt API 138
Salt API 是什么138
部署Salt API 138
創(chuàng)建SSL 證書141
配置認證143
邁出Salt API 第一步144
使用webhook 148
安全加固150
更復雜的認證151
總結152
第7 章理解RAET 協(xié)議153
比對RAET 與ZeroMQ 153
先看看HTTP 154
SSH,曾經的最愛154
使用ZeroMQ 155
RAET 的必要性156
基于流程的編程方法157
拼圖157
開啟RAET 之旅160
配置RAET 160
RAET 的架構162
總結165
第8 章擴展策略166
關于級聯(lián)166
蘿卜白菜,各有所愛(Different folks,different strokes) 166
無須細致化管理167
配置級聯(lián)關系168
使用多Master 實現(xiàn)高可用168
內置的高可用配置168
傳統(tǒng)的高可用方式169
同步文件170
摻入外部數據源175
外部任務緩存175
外部文件系統(tǒng)178
外部Pillar 187
使用Master API 190
Salt 密鑰190
配置190
file 和Pillar roots 190
使用wheel 反應器191
基礎設施的壓力測試191
使用Minion Swarm 192
總結193
第9 章用Salt 監(jiān)控系統(tǒng)194
監(jiān)控的基礎知識194
建立一條基線194
使用Salt 讀取系統(tǒng)核心信息195
使用Returner 監(jiān)控系統(tǒng)202
選定一個Returner 203
使用監(jiān)控State 204
定義一個監(jiān)控State 205
Web 調用監(jiān)控207
使用beacon 209
監(jiān)控文件變化209
beacon 間隔210
設置告警211
在State 文件中設置告警211
從beacon 中告警211
總結214
第10 章探索最佳實踐215
適應未來的基礎設施215
設置目錄結構216
標準目錄路徑216
.sls 與init.sls 217
淺層級與深層級218
進一步細分219
高效率SLS 219
include 與extend 219
使用模板簡化SLS 文件223
使用內置的State 227
命名約定230
通用命名231
確切命名232
模板和變量233
嵌套變量233
在模板中引用變量234
總結235
第11 章故障排查 236
什么情況…… 236
定位問題根源237
問題出在哪里237
使用debug 和trace 模式243
本地使用salt-call 249
和YAML 打交道250
YAML 基礎250
YAML 特色252
YAML 排錯254
尋求社區(qū)幫助257
salt-users 郵件列表257
Salt 問題追蹤系統(tǒng)259
IRC 頻道#salt 262
最終社區(qū)思想262
總結263