推薦序一
推薦序二
推薦序三
前言
第1章 DevOps與自動化運維的意義 1
1.1 DevOps在企業中存在的意義 1
1.2 為什麼企業需要自動化運維 4
1.3 Web編程相關體係知識點 5
1.3.1 為什麼要前後端分離 5
1.3.2 什麼是RESTful 7
1.3.3 Web後颱認證機製 8
1.3.4 同步和異步、阻塞與非阻塞的區彆 10
1.3.5 WebSocket雙工通信 11
1.3.6 瞭解消息中間件 13
1.3.7 瞭解負載均衡高可用 18
1.4 從事DevOps工作應該掌握的語言 24
1.5 從事DevOps工作應該掌握的工具 25
1.6 瞭解網站係統架構設計和高並發場景 26
1.6.1 網站性能評估指標 26
1.6.2 細分五層解說網站架構 26
1.7 瞭解數據庫集群主從復製的基本原理 34
1.8 Linux服務器的安全防護 37
1.8.1 DDoS攻擊和運營商劫持 37
1.8.2 Linux服務器基礎防護篇 38
1.8.3 Linux服務器高級防護篇 40
1.9 小結 41
第2章 Shell腳本在DevOps下的應用 42
2.1 Shell編程基礎 42
2.1.1 Shell腳本的基本元素 43
2.1.2 Shell基礎正則錶達式 43
2.1.3 Shell特殊字符 46
2.1.4 變量和運算符 47
2.2 Shell中的控製流結構 61
2.3 sed的基礎用法及實用舉例 64
2.3.1 sed的基礎語法格式 64
2.3.2 sed的用法舉例說明 69
2.4 awk的基礎用法及實用案例 72
2.5 Shell應用於DevOps開發中應掌握的係統知識點 77
2.6 生産環境下的Shell腳本 85
2.6.1 生産環境下的備份類腳本 86
2.6.2 生産環境下的統計類腳本 89
2.6.3 生産環境下的監控類腳本 92
2.6.4 生産環境下的運維開發類腳本 97
2.7 小結 102
第3章 Python在DevOps與自動化運維中的應用 103
3.1 Python語言的應用領域 103
3.2 選擇Python的原因 105
3.3 Python的版本說明 106
3.4 Python基礎學習工具 106
3.4.1 Python(x,y)簡單介紹 107
3.4.2 IPython詳細介紹 107
3.4.3 Sublime Text3簡單介紹 113
3.5 Python基礎知識進階 120
3.5.1 正則錶達式應用 120
3.5.2 Python程序構成 127
3.5.3 Python編碼問題 129
3.5.4 使用Python解析JSON 131
3.5.5 Python異常處理與程序調試 133
3.5.6 Python函數 136
3.5.7 Python麵嚮對象 147
3.5.8 Python多進程 159
3.5.9 Python多綫程 161
3.6 Python經常用到的第三方類庫 175
3.7 利用Flask設計後端Restful API 178
3.7.1 DevOps中為什麼要使用RESTful API 178
3.7.2 RESTful API項目實戰 182
3.8 工作中的Python腳本分享 184
3.9 小結 191
第4章 Vagrant在DevOps環境中的應用 192
4.1 Vagrant簡單介紹 193
4.2 Vagrant安裝 193
4.3 使用Vagrant配置本地開發環境 195
4.3.1 Vagrant的具體安裝步驟 195
4.3.2 Vagrant配置文件詳解 198
4.3.3 Vagrant常用命令詳解 199
4.4 使用Vagrant搭建DevOps開發環境 200
4.5 使用Vagrant搭建分布式環境 203
4.6 小結 207
第5章 自動化部署管理工具Ansible 208
5.1 YAML介紹 209
5.2 Ansible的安裝和配置 214
5.3 定義主機與組規則(Inventory) 218
5.4 Ansible常用模塊介紹 220
5.5 playbook介紹 235
5.6 Ansible在AWS雲平颱中的應用 240
5.7 角色 241
5.8 Jinja2過濾器 248
5.9 Ansible速度優化 252
5.10 利用Ansible API提供自動化運維後端 262
5.10.1 runner API 262
5.10.2 playbook API 265
5.10.3 用Flask封裝Ansible提供自動化運維後端 267
5.11 Ansible 2.2新增功能 273
5.12 小結 280
第6章 自動化配置管理工具SaltStack 281
6.1 Salt的相關知識點介紹 281
6.1.1 Salt的優勢 281
6.1.2 Salt的安裝 282
6.1.3 Salt的工作流程 287
6.1.4 Salt配置文件詳解 288
6.1.5 Salt的命令格式 291
6.2 Salt的常用組件 291
6.2.1 Salt常用的操作目標 291
6.2.2 Salt常用模塊 293
6.2.3 Granis組件 304
6.2.4 pillar組件 308
6.2.5 job管理 311
6.2.6 State介紹 312
6.3 Salt真實案例分享 314
6.3.1 base環境配置 315
6.3.2 prod環境配置 319
6.4 Salt多Master搭建 322
6.5 Salt API介紹 324
6.5.1 Python API介紹 324
6.5.2 Restful API介紹 326
6.6 小結 330
第7章 Docker和Jenkins在DevOps中的應用 331
7.1 Docker的基礎安裝 333
7.2 Docker的三大核心概念 336
7.3 Docker的基本架構 338
7.4 Docker網絡實現原理 340
7.5 利用Dockerfile文件技巧打包Docker鏡像 342
7.6 利用Docker-Compose編排和管理多容器 344
7.6.1 Docker-Compose的基本語法 345
7.6.2 Docker-Compose常用命令 352
7.6.3 使用Docker-Compose運行Python Web項目 354
7.6.4 使用Docker-Compose的過程中遇到的問題 355
7.7 利用Docker搭建Jenkins Master/Slave分布式環境 357
7.7.1 部署Jenkins Master/Slave分布式環境需要解決的問題 358
7.7.2 Jenkins Master/Slave的詳細部署過程 360
7.7.3 Jenkins Master/Slave以集群形式運行任務 363
7.8 實際運行Jenkins時遇到的問題及使用心得 365
7.9 小結 368
第8章 自動化運維的後續思考 369
8.1 自動化運維係統中應該實現的係統 369
8.2 自動化運維經曆的階段 371
8.3 自動化運維的必備技能:定製RPM包 372
8.4 因地製宜地選擇自動化運維方案 374
8.5 小結 375
附錄A GitLab在DevOps工作中的實際應用 376
附錄B 用Gunicorn部署高性能Python WSGI服務器 385
附錄C Supervisor在DevOps工作中的應用 391
附錄D 分布式隊列管理Cerely
簡介 397
· · · · · · (
收起)