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