基本介紹
- 書名:Open Stack設計與實現
- 作者:英特爾開源技術中心
- ISBN:978-7-121-25830-5
- 頁數:380
- 定價:79.00元
- 出版社:電子工業出版社
- 出版時間:2015年5月
- 裝幀:平裝
- 開本:16
內容提要,作者簡介,目錄,
內容提要
《Open Stack設計與實現》是一本介紹OpenStack設計與實現原理的書。《Open Stack設計與實現》以Juno版本為基礎,覆蓋了OpenStack的學習方法到設計與實現等各個方面內容,致力於幫助讀者形成OpenStack及其各個主要組件與項目的拓撲。
《Open Stack設計與實現》語言通俗易懂,能夠帶領讀者更為快速地走入OpenStack的世界並做出自己的貢獻。《Open Stack設計與實現》適合希望能夠參與OpenStack開發的讀者,也適合對OpenStack茫然的初學者,以及有一定使用部署經驗但是希望了解OpenStack實現原理的廣大用戶。
作者簡介
英特爾開源技術中心(Intel Open Source Technology Center,OTC)是英特爾公司內專職進行開源軟體開發的團隊,負責在系統軟體領域進行與英特爾®平台相關的技術開發和創新,並在Linux作業系統核心、Android/Chrome作業系統、雲計算和虛擬化技術、HTML5 Web Runtime、圖形驅動及多媒體軟體,以及系統軟體的最佳化等方面積累了業界領先的技術能力。同時依託強大的技術團隊,OTC積極參與開源社區對開源軟體的推廣普及活動,並對國內及國際上主流開源作業系統廠商提供有力的支持。
目錄
第1章初識OpenStack 1
1.1 從虛擬化到OpenStack 1
1.1.1 虛擬化 1
1.1.2 雲計算 2
1.1.3 OpenStack 4
1.2 OpenStack體系結構 6
1.3 OpenStack項目發展流程 13
1.3.1 新項目 14
1.3.2 孵化項目 14
1.3.3 核心項目及集成項目 15
1.4 OpenStack社區 15
1.4.1 郵件列表 16
1.4.2 IRC和項目例會 16
1.4.3 Summit和Meetup 17
1.4.4 其他社交平台 19
1.5 其他開源項目 19
第2章OpenStack開發基礎 22
2.1 相關開發資源 22
2.1.1 OpenStack社區 22
2.1.2 OpenStack文檔 22
2.1.3 OpenStack書籍 23
2.1.4 其他網路資源 24
2.2 OpenStack開發的技術基礎 25
2.3 部署開發環境 26
2.3.1 Git 26
2.3.2 Devstack 27
2.4 瀏覽OpenStack原始碼 31
2.4.1 源碼目錄結構 31
2.4.2 瀏覽代碼的工具 33
2.4.3 分析源碼如何入手 35
2.5 OpenStack代碼質量保證體系 38
2.5.1 編碼規範 40
2.5.2 代碼評審Gerrit 43
2.5.3 單元測試Tox 48
2.5.4 持續集成Jenkins 51
2.6 如何貢獻 54
2.6.1 文檔 54
2.6.2 修補Bug 55
2.6.3 增加Feature 57
2.6.4 Review 60
2.6.5 調試 61
第3章虛擬化 62
3.1 概述 62
3.1.1 虛擬化實現方式 64
3.1.2 虛擬化現狀和未來 66
3.2 高層管理工具 74
3.2.1 XenAPI 74
3.2.2 Libvirt 75
3.3 OpenStack相關實現 84
3.3.1 Libvirt驅動 84
3.3.2 XenAPI驅動 86
第4章OpenStack通用技術 88
4.1 訊息匯流排 88
4.2 SQLAlchemy和資料庫(Shane) 92
4.3 RESTful API和WSGI 96
4.4 Eventlet 103
4.5 OpenStack通用庫Oslo 106
4.5.1 Cliff 107
4.5.2 oslo.config 111
4.5.3 oslo.db 113
4.5.4 oslo.i18n 116
4.5.5 oslo.messaging 116
4.5.6 stevedore 123
4.5.7 TaskFlow 127
4.5.8 cookiecutter 133
4.5.9 oslo.policy 134
4.5.10 oslo.rootwrap 135
4.5.11 oslo.test 138
第5章計算 141
5.1 Nova體系結構 141
5.2 Nova API 148
5.2.1 Nova API執行過程 149
5.2.2 Nova API的實現 155
5.3 Conductor服務 161
5.3.1 Object Model 163
5.4 Scheduler 166
5.4.1 調度器 166
5.4.2 Filtering 167
5.4.3 Weighting 169
5.5 Compute 169
5.6 典型工作流程 176
5.6.1 創建虛擬機 176
5.6.2 冷遷移與Resize 178
5.6.3 熱遷移 179
5.6.4 掛起和恢復 181
5.6.5 Rebuild和Evacuate 182
第6章存儲 183
6.1 Swift 183
6.1.1 Swift體系結構 183
6.1.2 Ring 191
6.1.3 Swift API 202
6.1.4 認證 210
6.1.5 對象管理與操作 211
6.1.6 數據一致性 215
6.2 Cinder 218
6.2.1 Cinder體系結構 218
6.2.2 Cinder API 222
6.2.3 cinder-scheduler 224
6.2.4 cinder-volume 226
6.2.5 cinder-backup 230
6.3 Glance 232
6.3.1 Glance體系結構 232
6.3.2 Glance API 234
第7章網路 240
7.1 Neutron體系結構 240
7.1.1 Linux虛擬網路 241
7.1.2 Neutron網路抽象 245
7.1.3 Neutron架構 246
7.1.4 Neutron源碼結構 247
7.2 Neutron API 249
7.2.1 neutron-server 250
7.3 ML2 Plugin 251
7.4 Port Binding擴展 257
7.5 Open vSwitch Agent 260
7.6 Service Plugin 267
7.6.1 Firewall 267
7.6.2 LoadBalance 269
7.7 Neutron熱點話題 270
7.7.1 DVR 271
7.7.2 SDN 271
7.7.3 NFV/SRIOV 272
第8章安全 274
8.1 OpenStack安全概述 274
8.2 Keystone 275
8.2.1 Keystone體系結構 275
8.2.2 Keystone啟動過程 281
8.2.3 用戶認證及令牌獲取 283
8.2.4 簽名證書生成 286
8.3 可信計算池 288
8.3.1 體系結構 289
8.3.2 Intel TXT與TBoot 290
8.3.3 可信認證與OpenAttestation項目 292
8.3.4 TrustedFilter 295
8.3.5 部署 297
8.4 OpenStack安全指南 298
8.4.1 安全域及威脅分類 298
8.4.2 通用的安全指引 302
8.4.3 OpenStack組件的安全 302
第9章計量與監控 305
9.1 Ceilometer體系架構 305
9.1.1 Pipeline 308
9.1.2 Polling Agent與Pollster外掛程式 310
9.1.3 Notification Agent與Notification Listeners外掛程式 311
9.1.4 Collector 與Dispatcher外掛程式 311
9.1.5 Storage/DB 312
9.1.6 API Server 313
9.1.7 Alarm相關 314
9.2 部署與使用 315
9.2.1 選擇資料庫 315
9.2.2 安裝 316
9.2.3 配置 320
9.2.4 使用 323
9.3 Ceilometer外掛程式的開發 323
9.3.1 Pollster 324
9.3.2 Notification Listener 325
9.3.3 DB Backend Driver 326
9.3.4 Compute Agent Inspector 331
9.3.5 Publisher 332
9.3.6 Discover 332
第10章部署 334
10.1 TripleO體系結構 334
10.1.1 DiskImage-Builder 336
10.1.2 Ironic 337
10.1.3 Heat 339
10.1.4 OS-Configuration 341
10.2 TripleO部署範例 342
10.2.1 製作鏡像 342
10.2.2 搭建UnderCloud 345
10.2.3 搭建OverCloud 349
10.3 TripleO新特性 351
10.3.1 iPXE 351
10.3.2 Tuskar 351
10.3.3 Ironic-python-agent 352
10.3.4 Hash-ring 352
10.3.5 Driver-factory 352
第11章控制臺 353
11.1 Horizon體系結構 353
11.1.1 Horizon與Django 353
11.1.2 Horizon網站布局 355
11.1.3 Horzion源碼結構 356
11.2 Horizon部署 358
11.3 頁面渲染流程 360