《OpenStack設計與實現(第2版)》一書由英特爾開源技術中心編著,電子工業出版社2017年5月出版
基本介紹
- 書名:OpenStack設計與實現(第2版)
- 作者:英特爾開源技術中心
- ISBN:978-7-121-31199-4
- 頁數:520
- 定價:99.00
- 出版社:電子工業出版社
- 出版時間:2017年5月
- 開本:16
內容提要,目錄,
內容提要
《OpenStack設計與實現(第2版)》是一本介紹 OpenStack 設計與實現原理的書。《OpenStack設計與實現(第2版)》內容以 Newton 版本為基礎,覆蓋了OpenStack 的學習方法到設計與實現等各個方面內容,致力於幫助讀者形成 OpenStack 及其各個主要組件與項目的拓撲。
《OpenStack設計與實現(第2版)》語言通俗易懂,能夠帶領讀者更為快速走入 OpenStack 的世界並作出自己的貢獻。
《OpenStack設計與實現(第2版)》適合希望能夠參與 OpenStack 開發的讀者,也適合對 OpenStack 茫然的初學者,以及有一定使用部署經驗但是希望了解 OpenStack 實現原理的廣大用戶。
目錄
第 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