第 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
· · · · · · (
收起)