本書是一本以結閤VMware技術使用DevOps工具與實踐為焦點的書籍。既係統介紹DevOps的基礎概念和流行的工具,又詳細講解改變管理係統和交付服務的方法,涵蓋DevOps環境配置、維護、編排、管理的各個環節,包含大量實例。作者介紹瞭來自第三方和VMware自身的高價值工具,指導讀者使用它們增強虛擬係統和應用程序的性能。讀者將領略配置管理的自動化和優化、配給、日誌管理、持續集成等技術過程。
本書還循序漸進地講解利用Docker容器及Google Kubernetes大規模部署和管理應用程序的方法,並介紹瞭VMware*新的DevOps倡議,包括VMware vRealize Automation和VMware vRealize Code Stream。
通過閱讀本書,你將學到:
· 理解DevOps工具和實踐可以幫助VMware管理員解決的難題
· 使用Vagrant快速部署匹配生産係統規格的開發和測試環境
· 編寫Chef“食譜”,閤理化服務器配置和維護
· 用Ansible簡化Unix/Linux配置管理和編排
· 采用Docker容器,實現更快速、更易行的應用程序管理
· 用Razor自動化全生命期配給
· 集成Microsoft PowerShell預期狀態配置(DSC)和VMware PowerCLI,自動化關鍵Windows Server和vSphere VM管理任務
· 使用Puppet自動化基礎設施配給、配置、編排和報告
· 用ELK(Elasticsearch、Logstash、Kibana)強化日誌管理
· 用Git支持DevOps源代碼管理,用Jenkins實現持續集成
· 用VMware vRealize Code Stream實現持續集成、交付和部署
????????
?????本書由VMware的資深專傢編著,係統介紹瞭DevOps的基礎概念和流行的工具,這些工具包括流行的第三方工具(如Vagrant、Chef、Ansible、Razor、Docker、MicrosoftPowerShell等)和VMware自身提供的持續集成、交付和部署産品(如VMwarevRealizeAutomantion),涵蓋瞭DevOps環境配置、維護、編排、管理的各個環節,書中介紹的大量例子可以幫助讀者快速瞭解工具的概念、使用以及和VMware虛擬化環境的結閤,對於想要試水DevOps的讀者們來說,是一本不可多得的參考書。
全書共19章,第1章討論討論DevOps的概念;第2章介紹DevOps從業人員的一些流行工具;第3章介紹測試環境的建立;第4~6章介紹Puppet配置管理解決方案;第7~9章介紹Chef配置管理解決方案;第10章和第11章介紹Ansible配置管理和編排解決方案,第12章介紹Powershell預期狀態配置;第13章探索VMware管理員在其環境中實施PowerShell DSC的方法;第14章討論Linux容器的使用;第15章進一步討論Linux容器,介紹Google Kubernetes;第16章描述如何安裝、配置和使用Razor;第17章介紹Elasticsearch、Logstash和Kibana(ELK)棧;第18章介紹用於持續集成的Jenkins,討論如何在代碼提交到源代碼庫之後如何自動交付;第19章討論VMware自身的DevOps倡議。
??
??Trevor Roberts,Jr.,是VMware公司的高級技術市場經理。Trevor擁有CCIE數據中心認證,是VMware數據中心設計和管理集中化認證高級專傢。業餘時間,Trevor在http://www.VMTrooper.com通過vBrownBag Professional OpenStack和Professional VMware播客以及Twitter(@VMTrooper)分享對數據中心技術的認識。他對IT社區的貢獻得到公認,被授予VMware vExpert、Cisco Data Center Champion和EMC Elect的稱號。
Josh Atwell,是SolidFire的雲架構師,專注於VMware和自動化解決方案。10年多的努力使他可以用少量代碼通過各種自動化工具來完成自己的工作。Josh已經有瞭兩個兒子,2015年年初,他和妻子Stephanie又生瞭一個女兒。他住在北卡羅來納州的羅利,享受著和傢人在一起的時間,他還喜歡高爾夫、有聲讀物和新的波本威士忌。Josh是虛擬化社區的活躍分子,是CIPTUG、VMUG和UCS等技術用戶組的領導人,而且還和其他人一起閤作,準備通過vBrownBag播客和虛擬設計大師競賽追求專業上的發展。Josh還經常發錶公開演講,是Mastering vSphrer係列叢書的作者。他從不吝嗇發錶意見,在vtesseract.com上撰寫博客,在Twitter(@Josh_Atwell)上也是三句話不離本行。
Egle Sigler(@eglute, anystacker.com),現為Rackspace的首席架構師。她在職業生涯初期是一位軟件開發人員,至今仍有著所有編寫、測試和部署代碼的人所具有的弱點,因為她有機會從事所有這類工作。Egle的夢想是有朝一日,編寫、測試和部署代碼將成為無縫、輕鬆的過程,完全沒有缺陷和挫摺。Egle堅信,知識應該共享,並通過撰寫本書、發錶講話和會議上的探討以及博客努力實踐。
Yvo van Doorn,有10多年的係統管理經驗。在職業生涯初期,他人工構建和配置“裸”服務器。在同輩人中,Yvo成為配置管理和虛擬化的冠軍。加入Chef之前,他在將西雅圖一傢小型技術公司的整個生産係統遷移到虛擬化平颱時親身見證瞭VMware産品的威力。他堅信DevOps所帶來的文化變遷。在不忙於傳播Chef的福音時,他可能會享受醉人的IPA啤酒,探索好的戶外運動或者繼承自己的荷蘭傳統,一邊吃著高達乾酪,一邊觀看橙衣軍團丟掉世界杯。Yvo和妻子及黑色的賴伯犬一起住在華盛頓州西雅圖市。
譯者序
前言
緻謝
關於作者
關於評審人員
關於貢獻者
第一部分 DevOps概述
第1章 DevOps簡介 2
1.1 DevOps原則概述 2
1.2 采用係統思維 3
1.2.1 改變團隊的互動方式 4
1.2.2 改變基礎設施部署方法 5
1.2.3 改變軟件開發和部署方法 6
1.2.4 經常收集和響應有用的係統反饋並相應調整 6
1.3 增進DevOps知識和技能 6
1.4 小結 7
參考文獻 7
第2章 DevOps工具 8
2.1 為成功而組織:看闆 8
2.2 服務器部署 11
2.3 配置管理 11
2.4 持續集成 12
2.5 日誌分析 12
2.6 小結 12
參考文獻 12
第3章 建立DevOps配置管理測試環境 13
3.1 用AutoLab進行環境配給 13
3.2 用Vagrant進行環境配給 14
3.3 用Packer創建映像 18
3.4 管理源代碼 18
3.5 小結 24
參考文獻 24
第二部分 Puppet
第4章 Puppet簡介 26
4.1 Puppet架構 26
4.1.1 獨立部署 27
4.1.2 主機-代理部署 27
4.2 準備Puppet測試實驗室 28
4.3 Puppet資源 29
4.4 Puppet清單 30
4.5 Puppet模塊 35
4.5.1 Puppet Forge 37
4.5.2 創建第一個Puppet模塊 37
4.5.3 Puppet模塊初始化清單(init.pp) 38
4.5.4 模闆 39
4.5.5 使用Puppet模塊 42
4.5.6 最後一步:版本控製提交 42
4.6 小結 42
參考文獻 42
第5章 Puppet係統管理任務 43
5.1 用數據分離優化Web層 43
5.1.1 參數類(params.pp) 45
5.1.2 Hiera 48
5.1.3 節點分類 51
5.2 應用層 51
5.3 數據庫層 53
5.4 實施生産建議措施 53
5.5 部署應用程序環境 54
5.6 小結 54
參考文獻 54
第6章 用Puppet進行VMware vSphere管理 55
6.1 Puppet的VMware vSphere雲配給器 55
6.1.1 準備VM模闆 55
6.1.2 準備Puppet主服務器 56
6.2 VMware的管理模塊 58
6.3 小結 63
參考文獻 63
第三部分 Chef
第7章 Chef簡介 66
7.1 什麼是Chef 66
7.2 Chef的核心思想 67
7.2.1 食譜的順序 67
7.2.2 冪等性 67
7.2.3 基於API的服務器 67
7.2.4 客戶端進行所有搜集工作 68
7.2.5 測試驅動基礎設施 68
7.3 Chef術語 68
7.3.1 食譜 68
7.3.2 烹調書 68
7.3.3 屬性 68
7.3.4 角色 68
7.3.5 運行列錶 69
7.3.6 資源 69
7.3.7 環境 69
7.4 托管Chef和Chef Server之間的差彆 69
7.4.1 托管Chef 69
7.4.2 Chef Server 69
7.5 ChefDK簡介 70
7.5.1 ChefDK是什麼 70
7.5.2 安裝ChefDK 70
7.6 使用Knife 72
7.7 創建第一個“你好,世界”的Chef食譜 73
7.8 小結 76
第8章 使用Chef完成係統管理任務 77
8.1 注冊托管Chef 78
8.2 社區烹調書 81
8.3 設置係統管理 81
8.3.1 準備/設置係統管理任務1:管理時間 82
8.3.2 準備/設置係統管理任務2:管理根密碼 83
8.4 配置虛擬客戶機 84
8.5 係統管理任務 86
8.6 管理根密碼 89
8.6.1 創建兩個環境文件 89
8.6.2 將環境文件上傳到托管Chef組織 90
8.6.3 為每個服務器分配一個環境 91
8.6.4 修改每個服務器的運行列錶,以運行Managedroot烹調書 91
8.6.5 對節點應用更改 92
8.6.6 校驗實施的策略 93
8.7 小結 94
參考文獻 94
第9章 用Chef管理VMware vSphere 95
9.1 Knife插件 96
9.1.1 knife-vsphere入門 97
9.1.2 配置knife.rb文件 97
9.1.3 校驗配置 99
9.1.4 組閤 99
9.2 Chef配給 101
9.2.1 Chef配給架構 102
9.2.2 Chef配給入門 102
9.2.3 啓動某些節點 103
9.3 小結 105
第四部分 Ansible
第10章 Ansible簡介 108
10.1 Ansible架構 108
10.2 準備Ansible測試實驗室 109
10.3 Ansible組 110
10.4 Ansible臨時命令執行 110
10.4.1 Ping模塊 111
10.4.2 Command模塊 111
10.4.3 User模塊 111
10.4.4 Setup模塊 112
10.5 Ansible劇本 112
10.6 Ansible角色 117
10.7 Ansible Galaxy 121
10.8 小結 121
參考文獻 121
第11章 Ansible係統管理任務 122
11.1 Web服務器部署 122
11.2 應用層 123
11.3 數據庫層 124
11.4 角色結構優化 126
11.5 VMware資源管理 128
11.6 小結 132
參考文獻 132
第五部分 PowerShell
第12章 PowerShell預期狀態配置簡介 134
12.1 什麼是PowerShell DSC 134
12.2 PowerShell DSC需求 135
12.3 PowerShell DSC組件 136
12.3.1 原生命令集 136
12.3.2 托管對象格式文件 136
12.3.3 本地配置管理器 137
12.4 PowerShell DSC配置 138
12.5 PowerShell DSC模式 140
12.5.1 本地推送模式 140
12.5.2 遠程推送模式 140
12.5.3 拉取模式 141
12.6 PowerShell DSC資源 142
12.7 小結 144
參考文獻 144
第13章 PowerShell DSC實施策略 145
13.1 PowerShell DSC在VMware環境中的用例 145
13.2 用PowerCLI進行腳本化VM部署 146
13.3 在VM模闆中加入PowerShell DSC 148
13.4 對新VM實施PowerShell DSC配置所麵臨的挑戰 148
13.4.1 PowerCLI Invoke-VMscript 149
13.4.2 PowerCLI Copy-VMGuestFile 150
13.5 經驗教訓總結 151
13.6 未來PowerShell DSC在VMware環境中的用例 151
13.7 小結 152
參考文獻 152
第六部分 利用容器進行應用程序部署
第14章 Docker應用容器簡介 154
14.1 什麼是應用程序 154
14.1.1 隱藏的復雜性 154
14.1.2 依賴性和配置衝突 155
14.2 Linux容器 155
14.2.1 控製組 155
14.2.2 命名空間 156
14.2.3 容器管理 157
14.3 使用Docker 157
14.3.1 安裝Docker 157
14.3.2 Docker守護進程 158
14.3.3 Docker客戶端 158
14.3.4 Docker索引 158
14.3.5 運行Docker容器 158
14.3.6 列齣運行的容器 159
14.3.7 連接到運行的容器 159
14.3.8 構建和分發Docker容器 161
14.3.9 Dockerfile 161
14.3.10 Docker Hub 162
14.3.11 Docker與虛擬機的對比 163
14.3.12 Docker與配置管理的對比 163
14.4 小結 163
參考文獻 163
第15章 大規模運行Docker容器 164
15.1 容器編排 164
15.2 Kubernetes 165
15.3 Kubernetes部署 166
15.3.1 CoreOS和Kubernetes群集管理工具 166
15.3.2 CoreOS群集部署 167
15.3.3 etcd服務器配置 171
15.3.4 Flannel網絡覆蓋 172
15.3.5 Kubernetes群集節點 172
15.3.6 Kubernetes服務部署 174
15.3.7 Kubernetes工作負載部署 175
15.4 用Docker實現平颱即服務 178
15.5 小結 179
參考文獻 179
第七部分 DevOps工具鏈
第16章 使用Razor配給服務器 182
16.1 Razor的工作原理 182
16.2 使用Razor 184
16.2.1 Razor集閤和操作 186
16.2.2 構建Razor集閤 192
16.3 使用Razor API 201
16.4 Razor組件 203
16.4.1 Razor服務器 203
16.4.2 Razor微內核 203
16.4.3 Razor客戶端 203
16.5 安裝Razor 203
16.5.1 PE Razor 204
16.5.2 Puppet安裝 204
16.5.3 從來源安裝 204
16.5.4 人工安裝發行版本 204
16.5.5 其他服務 204
16.6 小結 206
參考文獻 206
第17章 ELK——Elasticsearch、Logstash和Kibana簡介 207
17.1 Elasticsearch概述 207
17.1.1 入門 208
17.1.2 理解索引 208
17.1.3 使用數據 209
17.1.4 安裝插件 212
17.1.5 使用客戶端 214
17.2 Logstash概述 215
17.2.1 入門 216
17.2.2 配置Logstash輸入 216
17.2.3 應用過濾器 218
17.2.4 理解輸齣 219
17.3 Kibana概述 219
17.3.1 共享和保存 223
17.3.2 自定義數據視圖 223
17.4 小結 223
參考文獻 224
第18章 用Jenkins實現持續集成 225
18.1 持續集成概念 225
18.1.1 持續集成還是持續部署 226
18.1.2 測試自動化 226
18.2 Jenkins架構 227
18.3 Jenkins部署 228
18.4 Jenkins工作流 230
18.4.1 Jenkins服務器配置 230
18.4.2 Jenkins構建任務 232
18.4.3 Git鈎子 235
18.4.4 你的第一次構建 237
18.5 質量保證團隊 239
18.5.1 驗收測試 239
18.5.2 開發團隊 239
18.5.3 構建/測試基礎設施 239
18.6 小結 239
參考文獻 239
第八部分 VMware DevOps實踐
第19章 DevOps環境中的VMware vRealize Automation 242
19.1 DevOps的齣現 242
19.2 穩定的敏捷性 243
19.3 人、過程和Conway法則 243
19.4 vRealize Automation 244
19.5 vRealize Application Services 245
19.6 Puppet集成 247
19.7 Code Stream 252
19.8 小結 256
參考文獻 256
什麼是DevOps?是可以從供應商那裏買到,解決所有IT問題的産品嗎?是分析師用來引起CIO注意的行業流行詞嗎?雖然IT社區對DevOps的介紹接近於大肆追捧,但那更多的是因為DevOps確實能夠帶來好處,而不僅僅隻是行業的廣告宣傳。
DevOps這一術語指的是一組幫助各種規模的組織更快地從IT投資中獲得價值的方法、理念和工具。這個詞的確切含義是什麼?想象一下,在你的組織中為瞭將軟件項目從概念階段、軟件開發一直推進到生産部署,需要多少時間和過程?這個過程越長,IT組織嚮整個公司展示價值所需的時間就越長。由於技術無處不在,客戶期待IT服務的交付像移動應用商店那麼容易。他們不願意為瞭一項功能的實現而等待數年,對客戶的要求反應遲鈍的公司難以獲得長期的成功。
DevOps如何解決客戶交付速度問題?例如,配置管理技術可以避免服務器配置漂移,加速在綫購買新服務器處理客戶請求快速增長的過程。持續集成可以確保自動化測試在開發者提交源代碼時進行。這隻是本書所討論技術的兩個例子。
網絡規模IT組織(如Etsy、Netflix和Amazon Web Services)被視為DevOps的典範。但是,Gene Kim的DevOps企業峰會參與者的數量證明DevOps也能給傳統IT組織帶來價值。
所以,做好思想準備,DevOps正在來臨。好消息是,你可以為所在IT組織DevOps行動的成功做齣貢獻。本書的目標不僅是介紹DevOps的概要思路,還將提供DevOps工具和技術的實例。
關於本書在我們的經驗中,DevOps的概念和工具可以顯著地改進IT運營。雖然Amazon和Rackspace等大型IT組織已經在它們的環境中實施DevOps並取得成效,但是許多企業級IT組織對DevOps實踐仍處於熟悉階段。
本書的目標是為讀者提供上述IT組織獲得成功所藉助的DevOps工具的實操示例。
本書的讀者本書是為具備VMware vSphere虛擬化管理程序(hypervisor)和Linux操作係統使用經驗的係統管理員所寫。我們將循序漸進地介紹DevOps從業者所使用軟件解決方案的使用方法,每章都提供後續研究所需的額外資源。
本書內容本書介紹的主題從虛擬化專業人士如何獲得DevOps實踐知識的概述開始,然後討論DevOps從業人員使用的各種工具。
第1章討論DevOps的概念,包括這一術語的定義以及DevOps相關實踐有助於IT組織成功的原因。
第2章介紹DevOps從業人員使用的一些流行工具。第3章準備建立測試環境,以使用本書中的示例代碼。
第4~6章介紹Puppet配置管理解決方案,包括簡介、多層次應用部署,以及Puppet與VMware vSphere服務器和虛擬機管理集成的介紹。
第7~9章介紹Chef配置管理解決方案,包括簡介、常見係統管理任務,以及Chef和VMware vSphere環境管理集成的介紹。
第10章和第11章介紹Ansible配置管理和編排解決方案,包括這種技術和各種應用程序部署的基本知識。
第12章介紹PowerShell 預期狀態配置(PowerShell Desired State Configuration,DSC)的基礎知識,包括Microsoft Windows PowerShell這一新功能的架構和主要用例。為瞭闡述DSC的基本功能、解釋組成該功能的不同組件,提供瞭樣闆代碼。
第13章探索VMware管理員在其環境中實施PowerShell DSC的方法。本章包括專門針對VMware管理員(可能不是Windows係統管理員)使用DSC提供額外價值及能力的用例。本章討論瞭不同的方法,相應地強調和討論瞭每種方法的建議和局限。
第14章討論對企業IT組織來說相對新穎的一種應用程序部署範型:Linux容器的使用。本章用實操示例討論Docker容器管理係統的基礎知識。
第15章進一步討論Linux容器,介紹Google Kubernetes,這是一種在數據中心大規模管理容器的開源工具。
第16章描述如何安裝、配置和使用Razor——一種全生命期自動配給工具,組閤瞭安裝、服務器管理和配置工具。
第16章詳細介紹Razor的所有關鍵概念和組件,首先描述Razor的工作原理和入門使用方法。一旦瞭解瞭Razor的概念和結閤DevOps工具用於自動化配給的方法,你就能夠發現Razor的不同功能組件。最後,本章介紹瞭Razor的最優安裝和配置方法。
第17章介紹Elasticsearch、Logstash和Kibana(ELK)棧。這些工具都可以單獨使用,但是結閤使用可以成為日誌管理的完美組閤。本章單獨介紹每一種工具,以及如何組閤它們、最大限度地利用它們的能力提升日誌管理的效率。
第18章介紹用於持續集成的Jenkins,討論如何在代碼提交到源代碼庫之後自動交付。
第19章討論VMware自身的DevOps倡議,包括VMware vRealize Automation與DevOps工具的集成,以及新的VMware vRealize Code Stream解決方案。
緻 謝?Acknowledgements許多人對本書給予瞭幫助,我要感謝他們在任務完成中對我們的直接和間接影響:
感謝Gene Kim在忙於自己的著作(《The DevOps Handbook》)和DevOps企業峰會規劃工作時抽齣時間,指導本書的內容和寫作過程的多個方麵。
感謝Nick Weaver通過Razor方麵的作品嚮VMware社區介紹Puppet,開啓瞭我的DevOps之旅。
感謝VMware齣版社的Joan Murray,他的有力支持推動瞭本書的寫作。
感謝Kelsey Hightower在Linux容器及其大規模協調方麵提供的專業知識。
感謝Aaron Sweemer提供瞭VMware內部的聯絡人,和本書的讀者分享公司的DevOps願景。
感謝我的閤著者,感謝他們對我所領導的這一書籍項目的耐心和持續支持。
感謝Scott Lowe、Nick Silkey和Matt Oswalt為本書內容提供的寶貴反饋。
——Trevor Roberts,Jr.我要感謝在寫作我自己的那部分內容時給我提供幫助的幾個人。感謝Don Jones、Steven Murawski和Alan Renouf在我尋求VMware管理員可能從PowerShell DSC得到的益處時提供的重要指導。沒有他們的深刻見解和觀點,我可能仍然在實驗室中苦苦思索。還要感謝Trevor Roberts,Jr.邀請我參加這個項目。最後,我要感謝VMware社區的大力支持和對本書的興趣。希望你們和我一樣喜歡這本書。
——Josh Atwell感謝開源社區,沒有你們,我就不能擁有這麼齣色和令人驚異的工具。
——Egle Sigler首先,我要感謝Trevor Roberts,Jr.給我參與本書創作的機會。感謝《Promise Theory: Principles and Applications》的閤著者Mark Burgess,Mark在書中介紹瞭當今配置管理背後的科學知識,其中許多都是我們日常使用的。最後,我對Chef的每個人都心存感激,在Chef社區中,我纔能迸發齣許多靈感。
——Yvo van Doorn
还可以,还没来得及细看。
评分很好。。。很好。。。
评分非常满意的购物。东西不错,下次还会买。希望常有活动。
评分不错,很满意,快递挺快的。
评分没个鸟用。
评分· 集成Microsoft PowerShell预期状态配置(DSC)和VMware PowerCLI,自动化关键Windows Server和vSphere VM管理任务
评分满意,满意,满意!!
评分还可以,包装完整,快递速度一如既往的好
评分公司活动用的,很不错的
本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 tushu.tinynews.org All Rights Reserved. 求知書站 版权所有