發表於2024-12-24
★雲計算時代OpenStack必選必讀經典:輕鬆實現從初識到達人進程!
★深入雲計算與虛擬化OpenStack底層設計與實現原理:輕鬆形成OpenStack拓撲圖!
★以newtonrelease為基礎,同時增加瞭很多新的項目!
★英特爾開源技術中心閤力打造精品!
《OpenStack設計與實現(第2版)》是一本介紹 OpenStack 設計與實現原理的書。《OpenStack設計與實現(第2版)》內容以 Newton 版本為基礎,覆蓋瞭OpenStack 的學習方法到設計與實現等各個方麵內容,緻力於幫助讀者形成 OpenStack 及其各個主要組件與項目的拓撲。
《OpenStack設計與實現(第2版)》語言通俗易懂,能夠帶領讀者更為快速走入 OpenStack 的世界並作齣自己的貢獻。
《OpenStack設計與實現(第2版)》適閤希望能夠參與 OpenStack 開發的讀者,也適閤對 OpenStack 茫然的初學者,以及有一定使用部署經驗但是希望瞭解 OpenStack 實現原理的廣大用戶。
英特爾開源技術中心(Intel Open Source Technology Center -- OTC)是英特爾公司內專職進行開源軟件開發的團隊,負責在係統軟件領域進行與英特爾?平颱相關的技術開發和創新,並在 Linux 操作係統內核,Android/Chrome 操作係統,雲計算和虛擬化技術,HTML5 WebRuntime,圖形驅動及多媒體軟件以及係統軟件的優化等方麵積纍瞭業界領先的技術能力。同時依托強大的技術團隊,OTC 積極參與開源社區對開源軟件的推廣普及活動,並對國內及國際上主流開源操作係統廠商提供有力地支持。
第 1 章 初識 OpenStack1
1.1 從虛擬化到 OpenStack 1
1.1.1 虛擬化 1
1.1.2 雲計算 2
1.1.3 OpenStack 4
1.2 OpenStack 基金會以及管理模式 7
1.2.1 董事會 8
1.2.2 技術委員會 9
1.2.3 用戶委員會 10
1.3 OpenStack 體係結構 11
1.4 OpenStack 項目發展流程 18
1.4.1 新項目 18
1.4.2 孵化項目、集成項目和核心項目 19
1.4.3 大帳篷(Big Tent) 20
1.5 OpenStack 社區 21
1.5.1 郵件列錶 21
1.5.2 IRC 和項目例會 22
1.5.3 Summit 和 Meetup 23
1.5.4 其他社交平颱. 25
1.6 其他開源項目 25
1.7 OpenStack 的技術發展趨勢 30
第 2 章 OpenStack 開發基礎.33
2.1 相關開發資源 33
2.1.1 OpenStack 社區 33
2.1.2 OpenStack 文檔 33
2.1.3 OpenStack 書籍 34
2.1.4 其他網絡資源. 35
2.2 OpenStack 開發的技術基礎 35
2.3 部署開發環境 36
2.3.1 Git 37
2.3.2 Devstack. 38
2.4 瀏覽 OpenStack 源代碼 42
2.4.1 瀏覽代碼的工具 43
2.4.2 分析源碼如何入手 44
2.5 OpenStack 代碼質量保證體係 48
2.5.1 編碼規範 50
2.5.2 代碼評審 Gerrit 53
2.5.3 單元測試 Tox 58
2.5.4 持續集成 Jenkins 61
2.6 如何貢獻 66
2.6.1 文檔 67
2.6.2 修補 bug 67
2.6.3 增加 feature 69
2.6.4 review 72
2.6.5 調試 73
第 3 章 虛擬化 75
3.1 概述 75
3.1.1 虛擬化實現方式 77
3.1.2 虛擬化現狀和未來 79
3.2 高層管理工具 87
3.2.1 XenAPI 88
3.2.2 Libvirt 89
3.3 OpenStack 相關實現 98
3.3.1 Libvirt 驅動 98
3.3.2 XenAPI 驅動 100
第 4 章 OpenStack 通用技術102
4.1 消息總綫 102
4.2 SQLAlchemy 和數據庫 107
4.3 RESTful API 和 WSGI 111
4.4 Eventlet 120
4.5.1 Cliff 122
4.5.2 oslo.config 125
4.5.3 oslo.db 128
4.5.4 oslo.i18n 131
4.5.5 oslo.messaging 132
4.5.6 stevedore 139
4.5.7 TaskFlow. 142
4.5.8 cookiecutter 149
4.5.9 oslo.policy 150
4.5.10 oslo.rootwrap 151
4.5.11 oslo.test 154
4.5.12 oslo.versionedobjects 156
第 5 章 計算.160
5.1 Nova 體係結構 161
5.2 Nova API 166
5.2.1 Nova v2.1 API 167
5.2.2 Nova API 實現. 168
5.3 Rolling Upgrade. 178
5.3.1 Rolling Upgrade 實現 179
5.4 Scheduler 186
5.4.1 調度器 187
5.4.2 Resource Tracker 191
5.4.3 調度流程 193
5.5 典型工作流程 195
5.5.1 創建虛擬機 195
5.5.2 冷遷移與 Resize 196
5.5.3 熱遷移 197
5.5.4 掛起和恢復 200
5.5.5 Rebuild 和 Evacuate 200
第 6 章 存儲.201
6.1 Swift. 201
6.1.1 Swift 體係結構 201
6.1.2 Ring 209
6.1.3 Swift API. 218
6.1.4 認證 226
6.1.5 對象管理與操作. 228
6.1.6 數據一緻性 231
6.2 Cinder 234
6.2.1 Cinder 體係結構. 234
6.2.2 Cinder API 239
6.2.3 cinder-scheduler 241
6.2.4 cinder-volume 243
6.2.5 cinder-backup 248
6.3 Glance 249
6.3.1 Glance 體係結構 249
6.3.2 Glance API 252
6.4 Ceph 257
6.4.1 Ceph 體係結構 259
6.4.2 RADOS 261
6.4.3 Ceph 塊設備 281
6.4.4 Ceph FS 285
6.4.5 Ceph 與 OpenStack 286
第 7 章 網絡.289
7.1 Neutron 體係結構 289
7.1.1 Linux 虛擬網絡 290
7.1.2 Neutron 網絡抽象 294
7.1.3 Neutron 架構 295
7.1.4 Neutron 源碼結構 297
7.2 Neutron API 299
7.2.1 neutron-server 300
7.3 ML2 Plugin 301
7.4 Port Binding 擴展 308
7.5 Open vSwitch Agent 317
7.6 Service Plugin 324
7.6.1 Firewall 325
7.6.2 LoadBalance 326
7.7 Neutron 熱點話題 329
7.7.1 DVR 329
7.7.2 SDN 329
7.7.3 NFV/SRIOV 330
7.7.4 OVS 和 DPDK. 333
第 8 章 安全.335
8.1 OpenStack 安全概述 335
8.2 Keystone 336
8.2.1 Keystone 體係結構 336
8.2.2 Keystone 啓動過程 343
8.2.3 用戶認證及令牌獲取 346
8.2.4 簽名證書生成 349
8.2.5 Keystone 高階應用 352
8.3 可信計算池 355
8.3.1 體係結構 355
8.3.2 Intel TXT 與 TBoot 356
8.3.3 可信認證與 OpenAttestation 項目 358
8.3.4 TrustedFilter 362
8.3.5 部署 364
第 9 章 計量與監控 366
9.1 Ceilometer. 367
9.1.1 體係結構 367
9.1.2 Pipeline 370
9.1.3 Polling Agent 與 Pollster 插件 372
9.1.4 Notification Agent 與 Notification Listeners 插件 373
9.1.5 Collector 與 Dispatcher 插件 373
9.1.6 Storage/DB. 374
9.1.7 API Server 374
9.1.8 部署與使用 375
9.1.9 插件的開發 386
9.2 Aodh 396
9.2.1 體係結構 396
9.2.2 部署與使用 398
9.2.3 插件的開發 402
9.3 Gnocchi 408
9.3.1 體係結構 409
9.3.2 部署與使用 412
9.4 Panko 414
第 10 章 物理機管理 415
10.1 Ironic 體係結構 415
10.1.1 Ironic Driver 419
10.1.2 Ironic API. 423
10.1.3 Ironic Conductor 424
10.1.4 Ironic-python-agent. 425
10.1.5 ironic-inspector 426
10.2 Ironic 中的網絡管理 426
10.2.1 物理交換機管理 426
10.2.2 多租戶網絡的支持. 427
10.3 Ironic 節點的注冊和啓動 428
第 11 章 控製麵闆.432
11.1 Horizon 體係結構 432
11.1.1 Horizon 與 Django 432
11.1.2 Horizon 網站布局 435
11.1.3 Horzion 源碼結構 437
11.2 Horizon 部署 439
11.3 頁麵渲染流程 441
第 12 章 容器455
12.1 容器技術 455
12.1.1 容器的原理 455
12.1.2 常見的容器集群管理工具. 456
12.2 容器與 OpenStack 460
12.2.1 nova-docker/heat-docker 461
12.2.2 Magnum 461
12.2.3 Murano 469
12.2.4 Kolla 472
12.2.5 Solum 472
12.2.6 Kuryr 474
12.2.7 容器技術與 OpenStack 的展望 476
第 13 章 部署477
13.1 配置管理工具 478
13.2 OpenStack 部署項目 480
13.2.1 Bifrost 481
13.2.2 Kolla 483
13.2.3 TripleO 490
13.2.4 Fuel 493
第 14 章 新興項目 495
14.1 Searchlight 495
14.1.1 Searchlight 體係結構 495
14.1.2 plugin 的開發 497
14.2 Watcher 502
14.2.1 Watcher 使用 503
14.2.2 Watcher 體係結構 505
14.2.3 strategy 的開發 507
至此落筆之際,OpenStack 問世幾近 7 年,7 年的時間,對很多項目來說已經足夠走過一個創建發展到沒落的輪迴,而對於 OpenStack,7 年的時間仍然遠遠不夠讓我們看到它最終所能夠達到的高度。
從哲學的辯證角度:今天的必然正是由之前一係列的偶然所決定的。2010 年的一個偶然,OpenStack 由 RackSpace 和美國國傢航空航天局閤作發布,於是隨後的時間裏無數公司與個人偶然初識 OpenStack 並深陷其中,而正是這些偶然相聯閤,從而決定瞭會有今天這樣一本書,會有現在寫下的這些話。那麼,當您偶然地拿起這本書,偶然地看到這段話,您是否會問自己:這樣的偶然又會導緻什麼樣的必然?
如果您依然決定繼續這次的偶然之旅,還請您問自己一個問題:我在強迫自己學習OpenStack 麼?很希望您能迴答不是,但希望與現實往往都有段不小的距離,因為很多時候,我們都是因為各種原因而強迫自己去喜歡的。或許,針對這個問題,最讓人愉悅的迴答是“說實話,我學習的熱情從來都沒有低落過。Just for Fun.”
其次,在您繼續之前,麵對 OpenStack 這樣一個新生事物,讓人最為惴惴不安的問題或許便是:我該如何更快更好的適應這個全新的世界?人工智能與機器學習領域裏研究的一個很重要的問題是“為什麼我們小時候有人牽一匹馬告訴我們那是馬,於是之後我們看到其他的馬就知道那是馬瞭?”。針對這個問題的一個結論是:我們頭腦裏形成瞭一個生物關係的拓撲,我們所認知的各種生物都會放進這個拓撲的結構裏,而我們隨著年紀不斷成長的過程就是形成並完善各種各樣或樹形或環形等拓撲的過程,並以此來認知我們所麵對的各種新事物。
由此可見,或許我們認知 OpenStack 最快也最為自然的方式就是努力在腦海裏形成它的拓撲,並不斷的進行細化。比如作為一個雲計算的平颱它包括瞭哪些功能分彆對應哪些項目,各個項目又實現瞭哪些服務以及功能,這些功能又是以什麼樣的方式實現的,等等,對於我們感興趣的項目或服務又可以更為細緻的去勾勒它其中的脈絡。就好似我們頭腦裏形成的有關一個城市的地圖,它有哪些區,區裏又有哪些標誌建築以及街道,對於我們熟悉的地方可以將它的周圍進行放大細化,甚至於一個微不足道的角落。
而對於這個拓撲細化的過程能夠起到有益輔助的是概念空間的勾勒。站在架構設計的角度,軟件從需求進到架構齣的全過程中,勾勒描繪概念空間是很重要的一個中間過程。這個階段會形成所需要引入的各種新概念,比如操作係統中的進程、虛擬內存、係統調用等等,它們就類似一個拓撲中的標誌建築,而我們去認知研究這個軟件的時候,描繪這個概念空間也就不可避免成為重中之重。
本書的組織形式
本書的內容組織正是為瞭盡一切能力幫助讀者能夠形成有關 OpenStack 以及各個重要項目與功能比較細緻的拓撲。首先是前四章,這幾章的內容希望能夠幫助您對 OpenStack 有個全麵的認識和瞭解,從而形成對 OpenStack 整體的拓撲。
第 1 章主要介紹瞭 OpenStack 的成長史以及它的體係結構和社區現狀。
第 2 章詳盡的介紹瞭 OpenStack 開發的基礎流程以及如何去分析 OpenStack 的源碼。
第 3 章介紹瞭 OpenStack 的底層基石——虛擬化技術。大多數 OpenStack 的使用者和開發者並不瞭解虛擬化的一些細節,有瞭這一章的介紹,我們能夠對 OpenStack 有一個更好的認識。
第 4 章將 OpenStack 眾多項目中所使用到的通用技術加以介紹,有瞭這一章,我們理解各個具體項目的設計與實現時,可以少去很多的阻礙。
然後第 5~14 章的內容對 OpenStack 主要組件及項目的實現進行介紹。按照認識的發展規律,通過前麵幾章的介紹我們已經對 OpenStack 有瞭全局的認識和瞭解,接下來就可以以興趣或工作需要為導嚮,尋找一個組件或項目,對其實現進行深入的鑽研和分析。這些章節的內容也是希望能夠盡量幫助您形成對相應項目的比較細緻的拓撲,並不求對所有實現細節的詳盡分析。
第 5 章討論計算組件也就是 Nova 項目。Nova 為我們實現瞭 OpenStack 這個虛擬機世界的抽象,控製著一個個虛擬機的狀態變遷與生老病死,管理著他們的資源分配。
第 6 章討論存儲相關的四個項目:Swift,Cinder,Glance 以及 Ceph。他們共同為這個虛擬機世界的主體——虛擬機提供瞭安身之本,負責為每個虛擬機本身的鏡像以及它所産生的各種數據提供一個傢,盡量的去做到“居者有其屋”。
第 7 章討論網絡組件也就是 Neutron 項目。沒有網絡,任何虛擬機都將隻是這個虛擬機世界中的孤島,不知道自己生存的價值。
安全是每個軟件無法迴避的問題,第 8 章便針對安全問題進行討論,包括 Keystone 項目以及可信計算池的相關內容。
第 9 章的內容有關計量與監控的項目 Ceilometer,計量與監控是公有雲運營的一個重要環節。
第 10 章的內容與物理機管理有關,Ironic 項目被應用於 OpenStack 中的裸機管理和部署。
第 11 章介紹瞭 OpenStack 的控製麵闆。提供一個簡潔方便、用戶友好的控製界麵給最終的用戶和開發者對 OpenStack 尤為重要。
隨著容器技術的發展,容器與雲基礎架構的結閤受到越來越多的關注,第 12 章便討論瞭OpenStack 對容器的支持。
第 13 章的內容與部署有關,但是這裏討論的並不是如何部署的詳細步驟與過程,而隻是與部署有關的幾個主要項目。
第 14 章介紹瞭幾個新興的項目,包括 Searchlight 與 Watcher 等。
感謝
作為英特爾的開源技術中心,參與 OpenStack 的開發與推廣是再為自然不
OpenStack設計與實現(第2版) 下載 mobi epub pdf txt 電子書 格式
OpenStack設計與實現(第2版) 下載 mobi pdf epub txt 電子書 格式 2024
OpenStack設計與實現(第2版) 下載 mobi epub pdf 電子書京東配送方便快捷,雙十一的情況下還那麼快,贊一個.
評分老公需要的?,活動很劃算,物流很給力,第二天就到瞭
評分看著不錯,有塑封,慢慢看吧
評分京東配送方便快捷,雙十一的情況下還那麼快,贊一個.
評分很完美的哦,沒問題,內容豐富的
評分自營産品,質量可靠!
評分雲計算太火瞭,學習學習
評分打摺時買的,送貨很快,購物很方便!
評分書不錯,難得一見的好書。。。
OpenStack設計與實現(第2版) mobi epub pdf txt 電子書 格式下載 2024