OpenStack 設計與實現, 2/e

英特爾開源技術中心

買這商品的人也買了...

商品描述

《OpenStack設計與實現(第2版)》內容提要
《OpenStack設計與實現(第2版)》是一本介紹 OpenStack 設計與實現原理的書。《OpenStack設計與實現(第2版)》內容以 Newton 版本為基礎,覆蓋了OpenStack 的學習方法到設計與實現等各個方面內容,致力於幫助讀者形成 OpenStack 及其各個主要組件與項目的拓撲。
《OpenStack設計與實現(第2版)》語言通俗易懂,能夠帶領讀者更為快速走入 OpenStack 的世界並作出自己的貢獻。
《OpenStack設計與實現(第2版)》適合希望能夠參與 OpenStack 開發的讀者,也適合對 OpenStack 茫然的初學者,以及有一定使用部署經驗但是希望瞭解 OpenStack 實現原理的廣大用戶。

作者簡介

英特爾開源技術中心(Intel Open Source Technology Center -- OTC)是英特爾公司內專職進行開源軟件開發的團隊,負責在系統軟件領域進行與英特爾平台相關的技術開發和創新,並在Linux 操作系統內核,Android /Chrome 操作系統,雲計算和虛擬化技術,HTML5 WebRuntime,圖形驅動及多媒體軟件以及系統軟件的優化等方面積累了業界領先的技術能力。同時依托強大的技術團隊,OTC 積極參與開源社區對開源軟件的推廣普及活動,並對國內及國際上主流開源操作系統廠商提供有力地支持。

目錄大綱

第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 Plug in 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部署與使用41 2 
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 Horizo​​n體系結構432 
11.1.1 Horizo​​n與Django 432 
11.1.2 Horizo​​n網站佈局435 
11.1.3 Horzion源碼結構437 
11.2 Horizo​​n部署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