發表於2024-12-18
運維專傢聯袂推薦,資深 Ansible布道者聯閤撰寫,輔以原理,注重實踐。
涵蓋Ansible基礎、高級技法與定製化擴展展、7個實戰企業案例,以及Web自動化開發,解決入門簡單、深入難問題 。
多名運維技術專傢聯袂推薦,海量運維實踐者、Ansible布道者聯閤撰寫,知識全麵、實踐性強。
本書共三篇,14章內容。
第一篇為基礎入門篇(第1章~5章),該篇著重介紹Ansible發展史、工作原理、基礎元素組成,Playbook入門等,是掌握Ansible高級技巧的基石。
第二篇為高級進階篇(第6~11章),該篇是本書重點,著重結閤企業實際需求場景,以大量的實際案例介紹Ansible的高級語法和實際應用技巧,涉及的技術點有Roles、Inventory、Jinja2、Galaxy等;結閤的行業主流技術包括(但不限)Zabbix、Except、Memcache、Inotify、Logio、GitLab、Docker、LNMP、Redis、MySQL、Node.js等,並提供豐富的實戰案例供大傢參考學習。
第三篇為Web自動化開發篇(第12~14章),該篇主要介紹如何開發Web全自動化發布界麵,使用當前流行成熟的Python語言,並結閤Django前後端技術,通過Ansible celery管理後颱任務隊列。這部分內容從零基礎部分開始介紹,逐步引導上手。
一言概之,本書涵蓋Ansible基礎、高級技巧、定製化擴展,貫穿實用企業應用案例,以及Web自動化開發,是係統學習Ansible和自動化運維的優佳圖書。
李鬆濤(照片),英文昵稱Stanley,2008年正式接觸Linux開源領域,先後供職於上海九城、上海騰訊、上海諾亞財富等互聯網公司,數次從0到1打造運維自動化體係。熱衷開源技術,曾主導Ansible中文權*指南站點建設與Ansible官網本土化(http://www.ansible.com.cn/)工作。“運維部落”公眾號發起人(迄今125+技術文章,2500人+關注),Ansible中文*威等係列開源技術QQ群發起人。
魏巍(照片),狂熱的騎行與開源愛好者,現任國內某一綫互聯網公司高級運維工程師。2009年開始接觸並從事運維行業。專注於運維自動化、Docker及大數據領域,活躍於各大開源社區,多次應邀直播分享Linux開源技術。
甘捷(照片),現任國內某一綫互聯網公司運維開發,從業以來一直專注於運維自動化開發領域,緻力企業級運維自動化方案的解決,曾多次一力主導Web運維自動化架構設計及核心代碼研發工作,結閤CMDB等平颱,並以Ansible作為基礎支撐,不斷地改善和實現運維的高自由度化、可配置化及可視化的目標。
作者結閤實戰經驗匯總成本書,以幫助更多熱愛開源的朋友。而Ansible也將成為專業人員必備技能,這本集閤基礎原理和實戰案例的書籍會成為運維人員必備寶典。
—— 馬永亮 馬哥教育創始人
在我們的客戶自動化方案中,考慮到安全性、穩定性、便捷性等多方麵要求,我們也把對Ansible的兼容作為必選。非常感謝Stanley和其他筆者不辭辛勞地編寫此書,值得大傢欽佩。相信本書能給讀者帶來很大的收益。
—— 王津銀(互聯網運維雜談老王) 優維科技創始人
Ansible入門容易精通難,很高興看到李鬆濤和他的朋友們撰寫的這本書的齣版,本書使快速精通Ansible成為可能。相信通過閱讀本書,沒有接觸過Ansible的讀者可以快速入門,已經在使用Ansible的讀者可以從中學到更多知識。
—— 肖力 《深度實踐KVM》作者
本書對Ansible的周邊擴展介紹得比較實在,理論聯係實踐。作者從豐富的工作經驗總結齣案例,詳細列舉瞭celery、模塊擴展等具體應用,讓Ansbile更加貼閤實際的應用場景。
—— 張誌浩 騰訊遊戲運營規劃專傢
“授人以魚,不如授人以漁”,本書不但介紹瞭Ansible的基礎知識,還介紹瞭Ansible的實踐經驗和高階的二次開發,對讀者深入理解Ansible、構建自動化運維體係非常有幫助。
—— 智錦 資深運維從業者,杭州雲霽科技有限公司CEO
本書贊譽
前言
第一篇 基礎入門篇
第1章Ansible基礎入門 2
1.1Ansible是什麼 2
1.2Ansible發展史 4
1.3為什麼選擇Ansible 5
1.4Ansible是如何工作的 6
1.5Ansible通信發展史 8
1.6Ansible應用場景 11
1.7Ansible的安裝部署 12
1.7.1PIP方式 13
1.7.2YUM方式 13
1.7.3Apt-get方式 14
1.7.4源碼安裝方式 14
1.7.5驗證安裝結果 15
1.8Python多環境擴展管理 16
1.8.1Pyenv的部署與使用 16
1.8.2Virtualenv的部署與使用 18
1.9本章小結 20
第2章Ansible基礎元素介紹 21
2.1Ansible目錄結構介紹 21
2.2Ansible配置文件解析 23
2.3Ansible命令用法詳解 25
2.4Ansible係列命令用法詳解與使用場景介紹 28
2.4.1ansible 28
2.4.2ansible-galaxy 29
2.4.3ansible-pull 31
2.4.4ansible-doc 31
2.4.5ansible-playbook 31
2.4.6ansible-vault 32
2.4.7ansible-console 32
2.5Ansible Inventory配置及詳解 34
2.5.1定義主機和組 34
2.5.2定義主機變量 35
2.5.3定義組變量 35
2.5.4定義組嵌套及組變量 36
2.5.5多重變量定義 36
2.5.6其他Inventory參數列錶 37
2.6Ansible與正則 37
2.7本章小結 39
第3章Ansible Ad-Hoc命令集 40
3.1Ad-Hoc使用場景 40
3.2Ad-Hoc命令集介紹 41
3.2.1Ad-Hoc命令集用法簡介 41
3.2.2通過Ad-Hoc查看係統設置 46
3.2.3通過Ad-Hoc研究Ansible的並發特性 47
3.2.4通過Ad-Hoc研究Ansible的模塊使用 49
3.3Ad-Hoc組管理和特定主機變更 52
3.3.1Ad-Hoc組定義 52
3.3.2Ad-Hoc配置管理:配置Proxy與Web Servers實踐 54
3.3.3Ad-Hoc配置後端:配置NoSQL與Database Servers實踐 56
3.3.4Ad-Hoc特定主機變更 57
3.4Ad-Hoc用戶與組管理 58
3.4.1Linux用戶管理 58
3.4.2Windows用戶管理 63
3.4.3應用層用戶管理 64
3.5本章小結 65
第4章Playbook快速入門 66
4.1Playbook語法簡介 66
4.1.1多行縮進 67
4.1.2單行縮寫 67
4.2Playbook案例分析 68
4.3Playbook與Shell腳本差異對比 71
4.4Ansible-playbook實戰小技巧 71
4.4.1限定執行範圍 71
4.4.2用戶與權限設置 72
4.4.3Ansible-playbook:其他選項技巧 73
4.5實戰一:Ansible部署Node.js企業實踐 73
4.5.1添加第三方源 73
4.5.2運行Node.js進程 77
4.5.3Node.js app服務部署總結 78
4.6實戰二:Drupal基於LAMP的自動化部署 78
4.6.1定義變量並設置Handlers 79
4.6.2部署LAMP基礎服務 80
4.6.3配置Apache 81
4.6.4配置PHP 82
4.6.5配置MySQL 83
4.6.6安裝Drush和Composer 84
4.6.7通過Git和Drush安裝Drupal 85
4.6.8Drupal部署過程總結 86
4.7實戰三:Ansible部署Tomcat企業實戰 86
4.7.1定義變量並設置Handlers 86
4.7.2安裝Java 87
4.7.3安裝Tomcat 8 88
4.7.4安裝Apache Solr 89
4.8本章小結 91
第5章Ansible Playbook拓展 92
5.1Handlers 92
5.2環境變量 93
5.3變量 95
5.3.1Playbook 變量 96
5.3.2在Inventory文件中定義變量 97
5.3.3注冊變量 98
5.3.4使用高階變量 98
5.3.5主機變量和組變量 100
5.3.6Facts(收集係統信息) 101
5.3.7Ansible加密模塊Vault 104
5.3.8變量優先級 106
5.4if/then/when——流程控製 107
5.4.1Jinja2 正則錶達、Python 內置函數和邏輯判斷 107
5.4.2變量注冊器register 108
5.4.3when條件判斷 109
5.4.4changed_when、failed_when條件判斷 110
5.4.5ignore_errors條件判斷 111
5.5任務間流程控製 111
5.5.1任務委托 111
5.5.2任務暫停 112
5.6交互式提示 112
5.7Tags標簽 113
5.8Block塊 115
5.9本章小結 116
第二篇 高級進階篇
第6章Playbook高級技巧進階 118
6.1巧用 Includes 118
6.1.1Includes使用場景 118
6.1.2Includes用法 119
6.1.3動態 Includes 123
6.1.4Handler Includes使用技巧 123
6.1.5Playbooks Includes使用技巧 124
6.2巧用Roles 124
6.2.1構建Roles 125
6.2.2使用Roles重構Playbooks 125
6.2.3Roles技巧之Handlers:動態變更 129
6.2.4Roles技巧之Files:文件傳輸 131
6.2.5Roles技巧之Templates:模闆替換 133
6.2.6更多復雜的跨平颱Roles 135
6.3Jinja2實現模闆高度自定義 136
6.3.1Jinja2 For循環 136
6.3.2Jinja2 If條件 137
6.3.3Jinja多值閤並 138
6.3.4Jinja default()設定 140
6.3.5Ansible結閤Jinja2生成Nginx配置 141
6.3.6Ansible結閤Jinja2生成Apache多主機配置 146
6.3.7Jinja2動態變量配置及架構優化 148
6.4Ansible Galaxy 151
6.4.1Ansible-galaxy命令用法 151
6.4.2使用Galaxy 152
6.5本章小結 154
第7章Inventory文件擴展 155
7.1Inventory文件實戰 155
7.2獨立的Inventory文件 159
7.3Inventory變量 159
7.3.1host_vars目錄 160
7.3.2group_vars目錄 161
7.4動態Inventory 161
7.5本章小結 168
第8章Ansible插件擴展 169
8.1Ansible 插件使用場景 169
8.2Ansible插件類型 170
8.3如何編寫自己的插件 171
8.4插件案例實踐 172
8.5本章小結 174
第9章Ansible企業應用實戰 175
9.1為新係統添加安全認證SSHKey 175
9.1.1Ansible密碼認證 175
9.1.2ssh-copy-id 176
9.1.3Kickstart 177
9.1.4Python Paramiko 178
9.1.5Expect 179
9.2企業高可用架構的Ansible應用 180
9.2.1Playbook目錄編排 181
9.2.2高可用架構基於Ansible的自動化實現 181
9.2.3使用Includes銜接各服務配置 188
9.3ELK日誌係統基於Ansible的自動化實現 189
9.3.1ELK Server的自動化實現 190
9.3.2ELK Client的自動化實現 192
9.4實時日誌係統基於Ansible的自動化實現 192
9.4.1配置概覽 192
9.4.2架構部署 193
9.5Zabbix基於Ansible的自動化實現 195
9.5.1Zabbix Server基於Ansible的自動化實現 196
9.5.2Zabbix Agent基於Ansible的自動化實現 199
9.5.3Zabbix Proxy基於Ansible的自動化實現 201
9.6Ansible+Git+GitLab實現自動化發布 202
9.6.1架構概覽 203
9.6.2架構部署 203
9.7Docker的Ansible自動化應用 206
9.7.1Docker容器入門 206
9.7.2使用Ansible創建和管理容器 207
9.7.3基於Ansible創建Flask的Docker容器 208
9.7.4數據存儲容器配置 210
9.7.5Flask容器配置 211
9.7.6MySQL容器配置 213
9.7.7啓動容器 215
9.8本章小結 215
第10章Ansible基於Windows的管理架構 217
10.1Ansible管理機部署安裝 218
10.2Windows係統預配置 219
10.3Windows下可用模塊 224
10.4Windows Ansible模塊使用實戰 224
10.5本章小結 226
第11章Ansible安全優化篇 227
11.1SSH與遠程連接簡介 227
11.1.1Telnet 228
11.1.2RLOGIN、RSH和RCP 228
11.1.3SSH 228
11.1.4SSH的發展和遠程訪問的未來 229
11.2通信加密 230
11.3禁止root遠程登錄 231
11.4操作係統簡介 232
11.5遵守權限最小化原則 233
11.5.1用戶管理 233
11.5.2文件權限管理 233
11.6定期維護更新 234
11.6.1手動更新 234
11.6.2自動定時更新 234
11.7善用Iptables防火牆 236
11.8定期磁盤巡檢 238
11.9係統登錄日誌審記 238
11.10 正確使用SELinux和AppArmor 239
11.11 本章小結 240
第三篇 Web自動化開發篇
第12章Ansible模塊編寫 242
12.1初步認識Ansible模塊 242
12.2Ansible簡單模塊編寫 243
12.3模塊變量添加 245
12.4模塊狀態返迴的標識及應用 246
12.5模塊退齣狀態處理 249
12.6模塊其他功能補充 250
12.7Ansible模塊API的調用 251
12.8本章小結 265
第13章開發自己的Ansible WebUI 267
13.1搭建Django開發環境 267
13.1.1為什麼要使用Web頁麵做管理 267
13.1.2係統及軟件環境 268
13.2Django配置文件詳解 269
13.2.1Django的基礎配置及運行 269
13.2.2Django的主配置目錄介紹 270
13.2.3Django的app目錄介紹 271
13.3編寫Ansible的Web接口 272
13.4前端基礎知識介紹 278
13.4.1HTML和CSS簡介 278
13.4.2JavaScript簡介 279
13.5Ansible WebUI界麵開發 280
13.5.1對接前端頁麵與Ansible的Web接口 280
13.5.2配置Web頁麵傳參 282
13.6本章小結 285
第14章Web與Ansible結閤的常用實例 286
14.1Web方式管理Ansible的Inventory 286
14.1.1重新定製Ansible的Hosts文件規則 286
14.1.2使用ConfigParser解析並生成Ansible Hosts文件 287
14.1.3使用數據庫的存儲數據生成的Ansible Hosts文件 290
14.1.4通過頁麵來生成Hosts文件 293
14.2使用celery後颱執行任務 301
14.2.1為什麼要使用celery 301
14.2.2使用celery的前期準備 301
14.2.3使用celery開始任務 303
14.2.4使用celery取消正在進行的任務 305
14.3運行YML文件並實時讀取日誌 306
14.4通過頁麵上傳文件並基於Ansible分發 313
14.5在頁麵上構建YML文件注冊中心 316
14.6操作者注冊中心界麵 324
14.7本章小結 331
前 言Preface
為什麼要寫這本書首次接觸Ansible是緣於一次杭州齣差。當時接觸互聯網3年左右,正是技能的儲備階段,看到Ansible這樣的新興自動化工具不免充滿好奇。當時騰訊的藍鯨還沒有齣來,但abs腳本和ijobs自動化體係已經應用多年,並在整個IEG中心廣泛應用。大型企業講究分工精細化,各司其職,強大的自我研發能力。但伴隨業績和KPI的壓力,很多人其實是沒有多餘精力關注外界技術領 Ansible權威指南 下載 mobi epub pdf txt 電子書 格式
Ansible權威指南 下載 mobi pdf epub txt 電子書 格式 2024
Ansible權威指南 下載 mobi epub pdf 電子書讀書日買的,非常乾淨整齊,送貨也快。
評分京東活動很給力,一直關注的書這次終於下手瞭,可以看上一年半載的
評分還不錯的一本書,不過網上有個教程差不多挺好的
評分可以
評分書是好書,喜歡,學習學習學習
評分沒有配套源碼
評分錯誤太多瞭,對於yaml來說,縮進太重要瞭,這本書居然有這麼多縮進的錯誤,誤人子弟啊
評分幫彆人買的,沒看過
評分不錯,正版,實際操作配閤理論講解,淺顯易懂,有趣味性!
Ansible權威指南 mobi epub pdf txt 電子書 格式下載 2024