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