DevOps 和自動化運維實踐

DevOps 和自動化運維實踐

作者: 餘洪春
出版社: 機械工業
出版在: 2018-01-01
ISBN-13: 9787111610021
ISBN-10: 7111610024
裝訂格式: 平裝-文庫





內容描述


本書的內容是對實際工作經驗的總結,涉及大量的DevOps及自動化運維知識點和專業術語,全書共分8章,分別介紹了DevOps與自動化運維在運維中的意義和存在的必要性、生產環境下的Shell腳本、Python在DevOps與自動化運維中的應用、搭建自動化分佈式虛擬環境的Vagrant、自動化運維工具Farbic、分佈式自動化運維工具Ansible、自動化配置管理工具SaltStack,以及自動化運維中的後續思考等內容。


目錄大綱


推薦序一
推薦序二
推薦序三
前言
第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




相關書籍

微軟 Azure 實戰參考

作者 李競 陳勇華

2018-01-01

Aws Certified Sysops Administrator Associate All-In-One-Exam Guide (Exam Soa-C01)

作者 Alapati Sam R.

2018-01-01

DevOps for VMware Administrators (Paperback)

作者 Trevor A. Roberts Jr. Josh Atwell Egle Sigler Yvo van Doorn

2018-01-01