作 者:英特爾亞太研發有限公司 著
定 價:109
出 版 社:電子工業出版社
出版日期:2020年08月01日
頁 數:500
裝 幀:平裝
ISBN:9787121392863
"本書內容以Train版本為基礎,覆蓋了OpenStack從學習方法到設計與實現等各個方面的內容,包括★OpenStack的成長史★OpenStack開發的基礎流程★如何分析OpenStack的源碼★OpenStack的底層基石——虛擬化★OpenStack眾多項目中所用到的通用技術★OpenStack主要組件及項目的實現致力於幫助讀者形成OpenStack及其各個主要組件與項目的拓撲圖。"
●第1章 初識OpenStack1
1.1 從虛擬化到OpenStack1
1.1.1 虛擬化1
1.1.2 雲計算2
1.1.3 OpenStack4
1.2 OpenStack基金會及管理模式9
1.2.1 董事會10
1.2.2 技術委員會11
1.2.3 用戶委員會12
1.3 OpenStack體繫結構12
1.4 OpenStack項目發展流程20
1.4.1 新項目20
1.4.2 孵化項目、集成項目和核心項目20
1.4.3 大帳篷(Big Tent)22
1.5 OpenStack社區23
1.5.1 郵件列表23
1.5.2 IRC和項目例會24
1.5.3 Summit和Meetup24
1.5.4 其他社交平臺27
1.6 其他開源項目28
1.7 OpenStack的技術發展趨勢33
第2章 OpenStack開發基礎36
2.1 相關開發資源36
2.1.1 OpenStack社區36
2.1.2 OpenStack文檔36
2.1.3 OpenStack書籍37
2.2 OpenStack開發的技術基礎38
2.3 部署開發環境39
2.3.1 Git39
2.3.2 Devstack40
2.4 瀏覽OpenStack源碼43
2.4.1 瀏覽代碼的工具44
2.4.2 分析源碼如何入手45
2.5 OpenStack代碼質量保證體繫48
2.5.1 編碼規範50
2.5.2 代碼評審Gerrit53
2.5.測試Tox57
2.5.4 持續集成Jenkins60
2.6 如何貢獻66
2.6.1 文檔66
2.6.2 修補Bug66
2.6.3 增加Feature68
2.6.4 Review71
2.6.5 調試72
第3章 虛擬化74
3.1 概述74
3.1.1 虛擬化的實現方式76
3.1.2 虛擬化的現狀和未來78
3.2 高層管理工具86
3.2.1 XenAPI87
3.2.2 Libvirt88
3.3 OpenStack相關實現97
3.3.1 Libvirt驅動98
3.3.2 XenAPI驅動99
第4章 OpenStack通用技術101
4.1 消息總線101
4.2 SQLAlchemy和數據庫106
4.3 RESTful API和WSGI110
4.4 Eventlet和AsyncIO119
4.5 命令行構建120
4.6 OpenStack通用庫Oslo124
4.6.1 oslo.config124
4.6.2 oslo.db126
4.6.3 oslo.i18n130
4.6.4 oslo.messaging131
4.6.5 stevedore138
4.6.6 TaskFlow141
4.6.7 cookiecutter148
4.6.8 oslo.policy149
4.6.9 oslo.rootwrap150
4.6.10 oslo.test153
4.6.11 oslo.versionedobjects155
第5章 計算159
5.1 Nova體繫結構160
5.2 Nova API165
5.2.1 Nova v2.1 API165
5.2.2 Nova API實現167
5.3 Rolling Upgrade175
5.4 Scheduler184
5.4.1 調度器184
5.4.2 Resource Tracker188
5.4.3 調度流程191
5.5 Cells v2192
5.6 典型工作流程194
5.6.1 創建虛擬機194
5.6.2 冷遷移與Resize195
5.6.3 熱遷移197
5.6.4 掛起和恢復199
5.6.5 Rebuild和Evacuate200
5.7 資源管理服務Placement200
5.7.1 Placement API201
5.7.2 API版本管理202
5.7.3 錯誤機制204
5.7.4 管理Nova資源204
5.7.5 查看資源消耗211
5.7.6 Placement的發展212
第6章 存儲213
6.1 Swift213
6.1.1 Swift體繫結構213
6.1.2 Ring221
6.1.3 Swift API231
6.1.4 認證238
6.1.5 對像管理與操作240
6.1.6 數據一致性243
6.2 Cinder246
6.2.1 Cinder體繫結構246
6.2.2 Cinder API250
6.2.3 cinder-scheduler253
6.2.4 cinder-volume254
6.2.5 cinder-backup259
6.3 Glance261
6.3.1 Glance體繫結構261
6.3.2 Glance API264
6.4 Ceph268
6.4.1 Ceph體繫結構270
6.4.2 RADOS272
6.4.3 Ceph塊設備292
6.4.4 Ceph FS296
6.4.5 Ceph與OpenStack297
第7章 網絡300
7.1 Neutron體繫結構300
7.1.1 Linux虛擬網絡301
7.1.2 Neutron網絡資源模型305
7.1.3 網絡實現模型311
7.1.4 Neutron軟件架構315
7.2 Neutron Plugin316
7.2.1 ML2 Plugin316
7.2.2 Service Plugin320
7.3 Neutron Agent323
第8章 安全327
8.1 OpenStack安全概述327
8.2 Keystone328
8.2.1 Keystone體繫結構328
8.2.2 Keystone啟動過程335
8.2.3 用戶認證及令牌獲取337
8.2.4 Keystone 高階應用343
8.3 可信計算池346
8.3.1 體繫結構346
8.3.2 Intel TXT與TBoot347
8.3.3 可信認證與OpenAttestation項目349
8.3.4 TrustedFilter353
8.3.5 部署355
第9章 計量與監控357
9.1 Ceilometer358
9.1.1 體繫結構358
9.1.2 Pipeline360
9.1.3 Polling Agent與Pollster插件362
9.1.4 Notification Agent與Notification Listener插件363
9.1.5 Storage/DB364
9.1.6 部署與使用364
9.1.7 插件的開發367
9.2 Aodh374
9.2.1 體繫結構374
9.2.2 部署與使用376
9.2.3 插件的開發380
9.3 Gnocchi386
9.3.1 體繫結構386
9.3.2 部署與使用390
9.4 Panko391
第10章 物理機管理392
10.1 Ironic體繫結構392
10.1.1 Ironic Driver395
10.1.2 Ironic API399
10.1.3 Ironic Conductor400
10.1.4 ironic-python-agent401
10.1.5 ironic-inspector402
10.2 Ironic中的網絡管理402
10.2.1 物理交換機管理402
10.2.2 多租戶網絡的支持403
10.3 Ironic節點的注冊和啟動405
10.4 Ironic使用技巧407
10.4.1 如何設置MySQL的root密碼407
10.4.2 Ironic環境搭建408
10.4.3 Neutron配置408
10.4.4 使用Devstack搭建Ironic物理機環境408
第11章 控制面板413
11.1 Horizon體繫結構413
11.1.1 Horizon與Django413
11.1.2 Horizon網站布局416
11.1.3 Horizon源碼結構418
11.2 Horizon部署420
11.3 頁面渲染流程423
第12章 容器437
12.1 容器技術437
12.1.1 容器的原理437
12.1.2 常見的容器集群管理工具438
12.2 容器與OpenStack442
12.2.1 nova-docker/heat-docker443
12.2.2 Magnum443
12.2.3 rano452
12.2.4 Kolla453
12.2.5 Solum454
12.2.6 Kuryr456
12.2.7 容器技術與OpenStack的展望457
12.3 Kata安全容器458
12.3.1 容器技術與虛擬機技術458
12.3.2 Kata容器技術與實現原理459
12.3.3 Kata容器架構及實現460
12.3.4 Kata容器創建流程461
第13章 部署463
13.1 配置管理工具464
13.2 OpenStack部署項目466
13.2.1 Bifrost467
13.2.2 Kolla469
13.2.3 TripleO476
第14章 加速設備管理481
14.1 Cyborg體繫結構481
14.2 Cyborg數據模型482
14.3 Cyborg與Nova等組件的交互486
本書是一本介紹OpenStack設計與實現原理的書。本書內容以Train版本為基礎,覆蓋了OpenStack從學習方法到設計與實現等各個方面的內容,包括OpenStack的成長史、OpenStack開發的基礎流程、如何分析OpenStack的源碼、OpenStack的底層基石――虛擬化、OpenStack眾多項目中所用到的通用技術,以及OpenStack主要組件及項目的實現,致力於幫助讀者形成OpenStack及其各個主要組件與項目的拓撲圖。本書語言通俗易懂,能夠帶領讀者更為快速地走入OpenStack的世界並做出自己的貢獻。本書適合希望參與OpenStack開發的讀者,也適合對OpenStack茫然的初學者,以及有一定使用部署經驗但是希望了解OpenStack實現原理的廣大用戶。