PaaS實現與運維管理:基於Mesos +Docker+ELK的實戰指南

PaaS實現與運維管理:基於Mesos +Docker+ELK的實戰指南

《PaaS實現與運維管理:基於Mesos +Docker+ELK的實戰指南》是2016年2月電子工業出版社出版的圖書,作者是余何。

內容簡介

《PaaS實現與運維管理:基於Mesos +Docker+ELK的實戰指南》主要闡述了雲計算中PaaS平台的實現與運維管理,分為四大部分,分別是概念模型、基礎資源、平台實現與運維管理,共十五章。第一部分闡述了運維與開發之間的關係、這層關係存在的矛盾,以及PaaS是如何有效緩解其矛盾的;第二部分勾勒出了數據中心的計算、網路、存儲三大資源的主幹,避免讓人陷入上層的種種產品中;第三部分通過開源產品來構建一個完整的PaaS平台,包括資源管理、任務調度、計算單元打包、分散式協調、日誌集中等;第四部分對運維管理進行了實踐。

《PaaS實現與運維管理:基於Mesos +Docker+ELK的實戰指南》適合運維工程師、運維管理人員,以及希望在PaaS上運行分散式、可伸縮、高可用的後端開發工程師閱讀。

目錄

第一部分 概念模型

第1章 分散式PaaS平台介紹 2

1.1 什麼是PaaS 2

1.1.1 開發與運維之間的困局 2

1.1.2 DevOps的自動化 3

1.1.3 雲計算的IaaS 4

1.1.4 PaaS的到來 4

1.1.5 PaaS的約束與開放 4

1.1.6 PaaS解決的具體問題 5

1.2 什麼是分散式計算 6

1.2.1 分散式計算與PaaS 6

1.2.2 分散式平台的挑戰 7

第2章 PaaS模型與特徵 10

2.1 主流PaaS平台架構 10

2.1.1 谷歌GAE 10

2.1.2 AEB 11

2.1.3 Cloud Foundry 13

2.1.4 Heroku 14

2.2 PaaS與12-Factor 15

2.2.1 基準代碼(Codebase) 15

2.2.2 依賴(Dependency) 16

2.2.3 配置(Config) 17

2.2.4 後端服務(Backing Services) 18

2.2.5 構建(Build)、發布(Release)、運行(Run) 19

2.2.6 進程(Process) 20

2.2.7 連線埠綁定(Port Binding) 21

2.2.8 並發(Concurrency) 21

2.2.9 快捷性(Disposable) 22

2.2.10 開發/生產環境等價(Dev/Prod Parity) 23

2.2.11 日誌(Log) 24

2.2.12 管理進程(Admin Process) 25

2.3 PaaS與Reaction宣言 26

2.3.1 回響(Responsive) 26

2.3.2 韌性(Resilient) 26

2.3.3 彈性(Elastic) 27

2.3.4 訊息驅動(Message Driven) 28

第二部分 基礎原理

第3章 計算資源 30

3.1 圖靈機與馮·諾伊曼模型 30

3.2 伺服器的種類 34

3.3 一切都是二進制 37

3.3.1 整數表示法 38

3.3.2 文本表示法 39

3.3.3 音頻信息表示法 41

3.4 作業系統——計算機系統的指揮官 42

3.4.1 作業系統解決的問題 42

3.4.2 企業級作業系統 43

3.4.3 伺服器虛擬化 47

3.5 進程——資源聚合的抽象體 49

3.5.1 計算單元的構建 49

3.5.2 計算請求的拆解 51

第4章 網路資源 53

4.1 協定分層 53

4.1.1 OSI網路體系模型 54

4.1.2 OSI與TCP/IP協定簇 55

4.1.3 交換、選路與傳輸 56

4.2 網路物理設備 58

4.2.1 連線與接口 59

4.2.2 二層交換機 62

4.2.3 路由及三層交換 63

4.2.4 四~七層網路設備 64

4.2.5 現實網路構成 65

4.3 網路邏輯拓撲 65

4.4 對網路拓撲的考慮 66

4.5 對物理布線的考慮 67

4.6 網路虛擬化與SDN 70

第5章 存儲資源 73

5.1 俯瞰存儲系統 73

5.1.1 數據存儲功能分類 73

5.1.2 檔案存儲的三個層級 74

5.2 磁碟與磁碟陣列 77

5.2.1 硬碟的物理構造 77

5.2.2 磁碟陣列 79

5.2.3 SCSI協定 81

5.3 存儲、計算分離 82

5.3.1 磁碟櫃與盤陣 82

5.3.2 FC存儲網路 83

5.3.3 FC協定棧 86

5.3.4 FC定址過程 87

5.3.5 FC交換機與適配器 88

5.3.6 FCoE與iSCSI 89

5.4 存儲訪問類型 90

5.4.1 NAS與SAN 90

5.4.2 分散式存儲 92

第三部分 平台實現

第6章 平台功能與架構 96

6.1 平台運維需求 96

6.1.1 軟體配置 96

6.1.2 服務部署 97

6.1.3 服務發現 97

6.1.4 監控恢復 97

6.2 平台功能劃分 97

6.3 平台高階架構 100

6.4 企業套用遷移 102

6.4.1 企業套用很“厚重” 102

6.4.2 套用部署架構 102

6.4.3 企業套用調整 104

第7章 計算單元Docker 108

7.1 Docker介紹 108

7.1.1 Docker是什麼 108

7.1.2 Docker術語 109

7.1.3 Docker安裝 111

7.2 Docker容器命令 112

7.2.1 run命令 112

7.2.2 start命令 115

7.2.3 stop命令 116

7.2.4 restart命令 116

7.2.5 attach命令 116

7.2.6 ps命令 116

7.2.7 inspect命令 117

7.3 Docker鏡像命令 119

7.3.1 search、pull、push命令 120

7.3.2 commit命令 120

7.3.3 image、diff、rmi命令 121

7.3.4 save、load、export、import命令 121

7.4 Docker網路與連結 122

7.4.1 Docker網路模式 122

7.4.2 pipework管理網路 125

7.4.3 容器連結與數據卷 127

7.5 Dockerfile 129

7.5.1 基本指令集 130

7.5.2 環境指令集 131

7.5.3 數據指令集 132

7.5.4 ENTRYPOINT指令 132

第8章 分散式協調ZooKeeper 134

8.1 ZooKeeper介紹 134

8.1.1 ZooKeeper是什麼 134

8.1.2 ZooKeeper架構 135

8.1.3 數據模型 136

8.1.4 監聽與通知 139

8.1.5 API集合 139

8.1.6 會話 140

8.1.7 觀察者 141

8.2 ZooKeeper使用 141

8.2.1 快速安裝 141

8.2.2 基本操作 143

8.2.3 配置參數 145

8.2.4 動態重配置 149

8.2.5 監控 152

8.3 ZooKeeper進階 157

8.3.1 分組與權重 158

8.3.2 Paxos算法 159

8.3.3 ZAB協定 163

8.3.4 分散式協調場景 165

第9章 資源管理Mesos 167

9.1 Mesos介紹 167

9.1.1 資源管理需求 167

9.1.2 Mesos的起源 169

9.2 Mesos架構與工作流 169

9.2.1 Mesos架構組件 169

9.2.2 Mesos資源管理的工作流程 170

9.3 Mesos安裝配置 172

9.3.1 安裝預先準備 172

9.3.2 構建Mesos 173

9.3.3 啟動Mesos 174

9.3.4 高可用Mesos 178

9.3.5 Slave移除限速 182

9.4 Mesos運維 183

9.4.1 認證管理 183

9.4.2 監控管理 186

9.4.3 容器網路限速 192

9.4.4 Framework API限速 194

9.4.5 Restful接口 195

9.4.6 配置參數 196

9.5 Mesos資源分配 197

9.5.1 DRF算法 197

9.5.2 DRF權重 199

第10章 服務調度框架 Marathon 200

10.1 Marathon介紹 200

10.1.1 服務調度平台 200

10.1.2 Marathon實體模型 201

10.2 Marathon使用 203

10.2.1 安裝啟動 203

10.2.2 運行Shell程式 204

10.2.3 運行遠程資源 208

10.2.4 Artifact Store 209

10.3 Docker容器運行 211

10.3.1 前提準備條件 211

10.3.2 連線埠資源分配 212

10.3.3 容器連線埠分配 215

10.3.4 其他使用方法 216

10.4 Marathon管理 217

10.4.1 套用組 217

10.4.2 策略約束 219

10.4.3 健康檢查 221

10.4.4 套用部署 223

10.4.5 事件匯流排 227

10.4.6 命令行參數 229

10.5 服務發現 231

10.5.1 服務發現方法 231

10.5.2 Marathon方案 232

10.5.3 Mesos-DNS 235

10.5.4 Bamboo 239

10.6 Chronos作業調度 241

10.6.1 作業調度框架 241

10.6.2 安裝運行 241

10.6.3 作業示例 242

10.6.4 REST API 243

第11章 大數據調度框架Spark 245

11.1 Apache Spark介紹 245

11.1.1 Apache Spark是什麼 245

11.1.2 Lambda架構 246

11.1.3 Spark生態系統 247

11.2 Spark數據處理 248

11.2.1 Spark 運行模式 248

11.2.2 Spark Standalone模式 252

11.2.3 Spark on Mesos 255

11.2.4 Spark Streaming 257

第12章 日誌集中管理ELK 261

12.1 日誌集中 261

12.1.1 日誌集中介紹 261

12.1.2 日誌集中架構 262

12.1.3 日誌集中框架 264

12.2 Logstash 266

12.2.1 Logstash介紹 266

12.2.2 快速安裝 267

12.2.3 配置說明 269

12.2.4 部署架構 282

12.2.5 處理流程 285

12.2.6 input外掛程式 286

12.2.7 output外掛程式 292

12.2.8 filter外掛程式 296

12.2.9 codec外掛程式 299

12.3 Elasticsearch 300

12.3.1 基本概念 300

12.3.2 安裝與使用 304

12.3.3 REST API 305

12.3.4 集群設定 309

12.3.5 備份恢復 314

12.3.6 監控管理 315

12.4 Kibana 317

12.4.1 Kibana介紹 317

12.4.2 discover功能 319

12.4.3 visualize功能 324

12.4.4 Dashboard功能 327

第四部分 運維管理

第13章 配置管理 330

13.1 配置管理系統分析 331

13.1.1 服務模型進行分層 331

13.1.2 各IDC團隊發現CI 332

13.1.3 IDC管理團隊定義CI屬性 333

13.1.4 確定CI之間的關聯 336

13.2 配置管理系統設計 338

13.2.1 用戶界面設計 339

13.2.2 許可權控制、規則定義和OPENAPI 341

13.2.3 數據模型的設計 343

13.3 配置管理數據準確性的保證 345

13.3.1 識別CI的OWNER 345

13.3.2 識別CI的生命周期、關聯運維流程 346

13.3.3 數據有效性的審計 346

第14章 監控管理 348

14.1 運維監控管理的問題與價值 348

14.1.1 監控管理的無形價值 349

14.1.2 監控平台建立的基礎 350

14.1.3 監控管理的WANT原則 350

14.2 對運維監控平台的需求分析 352

14.2.1 一次監控過程,調度、規則、告警 352

14.2.2 數據圖形化:百分位裁剪、趨勢分析、常態分配 358

14.2.3 開源的借鑑與選擇:Zabbix和Nagios 361

14.2.4 商業與開源:最後的決策 372

14.3 JMX監控原理解析 373

14.3.1 JMX的體系結構 374

14.3.2 一個完整的JMX體系架構實例 376

14.3.3 通過JMX訪問WebLogic Server MBean 379

14.4 SNMP監控原理解析 383

14.4.1 SNMP協定解析:MIB庫與訊息類型 383

14.4.2 使用SNMP4J實現伺服器監控 386

14.4.3 Linux下的監控實現:NET-SNMP 390

14.4.4 MIB庫瀏覽工具:ManageEngine 391

第15章 運維管理 392

15.1 服務級別管理,IT與業務的一致性 392

15.1.1 客戶滿意度與期望 393

15.1.2 服務目錄——IT服務的菜譜 396

15.1.3 從巨觀到可操作性的服務 397

15.2 變更管理,使服務有效傳遞 399

15.2.1 變更控制的角色、階段 399

15.2.2 變更管理的六個原則 401

15.2.3 變更分類與風險定級 402

15.2.4 表單、步驟、模板與日曆 405

15.3 事件管理 409

15.3.1 分類管理與評價體系 409

15.3.2 任務分發、協同與時效 411

15.3.3 內部上報要求 412

15.3.4 重大事件處理 413

15.4 人員管理:開放與分享 415

15.4.1 企業社交管理 415

15.4.2 目標管理,做好績效 417

15.4.3 知識管理,人員成長 417

15.4.4 時間管理,個人效率 420

15.5 PaaS下的運維發展之路 421

相關詞條

熱門詞條

聯絡我們