內容簡介
掌握OpenStack平台以開發健壯且可擴展的套用開發人員對OpenStack趨之若鶩,因為它是一個免費、可依賴、快速和簡殼采尋單的平紋充棵台,用於開發可擴展的雲套用而無須擔心底層硬體。OpenStack可兼容Amazon Web Service、VMWare等雲技術,允許開發人員獲取阿愉鍵更大的靈活性,而無須妥協性能和安全性。本書是開發健壯OpenStack套用的專業路線圖,在大型套用的構建、部署、網路和保護方面提供了詳細的說明。
主要內容:
◆ 解釋OpenStack基本功能的使用,包括用於構建和部署雲應雄牛兵採用的計算、存儲、網路和編戀恥姜排
◆ 闡述OpenStack生態系統並深入討論網路機制
◆ 詳述目前企業虛擬化網路功能開發的最佳實踐以及專業建議和技巧
◆ 在OpenStack之上構建示例套用,來展示在專業化節奏中企業級IaaS的優勢
◆ 提供OpenStack安全和數據防丟失保護方面的專業指引
圖書目錄
部分 OpenStack概述
章 OpenStack介紹3
1.1 雲計算介紹3
1.1.1 雲計算的類型3
1.1.2 雲基礎設施部署模型5
1.2 我關注OpenStack的原因6
1.2.1 OpenStack簡介8
1.2.2 選擇OpenStack的理由10
1.3 了解OpenStack架構12
1.3.1 軟體架構12
1.3.2 部署架構13
1.3.3 優缺點15
1.3.4 OpenStack版本15
1.4 小結17
2章 了解OpenStack生態系統:核心項目19
2.1 身份認證20
2.1.1 使用令牌和重認證21
2.1.2 OpenStack的各個部分如何相互通信23
2.1.3 套用可否使用Keystone24
2.2 計算25
2.2.1 實例的各個部分25
2.2.2 了解flavor26
2.2.3 調度器26
2.2.4 虛擬機管理程式的類型28
2.3 存儲29
2.3.1 OpenStack Swift介紹29
2.3.2 在Swift中存儲個對象31
2.3.3 臨時Swift URL32
2.3.4 公有容器和訪問控制列表(ACL)33
2.3.5 了解塊存儲34
2.4 鏡像35
2.4.1 存儲在何處36
2.4.2 不同的鏡像格式37
2.5 儀錶板37
2.6 網路38
2.6.1 Nova網路39
2.6.2 Neutron網路40
2.7 將所有內容組合在一起45
2.8 小結48
3章 了解OpenStack生態系統:附加項目49
3.1 OpenStack He*50
3.2 OpenStack資料庫即服務:Trove54
3.2.1 雲資料庫作為軟體定義存儲(SDS)的用例54
3.2.2 OpenStack和Trove55
3.2.3 OpenStack DBaaS詳解56
3.2.4 Trove架構60
3.3 DNS即服務:Design*e61
3.3.1 了解Design*e架構62
3.3.2 使用Design*e63
3.4 MAGNUM66
3.4.1 容器即服務67
3.4.2 使用Flannel、Kuberes和Docker構建67
3.4.3 使用OpenStack構建68
3.4.4 Bay、Pod、Node和Container68
3.4.5 Magnum作為OpenStack的未來69
3.5 套用即服務:Murano69
3.5.1 Applic*ion C*alog69
3.5.2 Applic*ion Publisher70
3.5.3 Applic*ion C*alog管理員70
3.5.4 Applic*ion C*alog終端用戶71
3.5.5 Murano架構71
3.5.6 Murano使用示例72
3.6 Ceilometer:計頌剃膠求量即服務73
3.6.1 Ceilometer架構73
3.6.2 Ceilometer彈性伸縮74
3.7 小結75
部分 使用OpenStack開發和部署套用
4章 套用開發79
4.1 將喇埋遺留套用轉換為OpenStack套用79
4.1.1 遷移到雲的原因80
4.1.2 遷移到雲的方法81
4.2 從頭構建套用82
4.2.1 OpenStack套用設計指南82
4.2.2 雲套用開發佳實踐83
4.3 OpenStack套用描述和部署策略86
4.3.1 雲套用描述86
4.3.2 網路部署策略88
4.4 小結90
5章 改進套用91
5.1 故障場景92
5.1.1 硬體故障92
5.1.2 網路故障92
5.1.3 存儲故障93
5.1.4 軟體故障94
5.1.5 外部故障95
5.2 主機名和IP位址分配96
5.2.1 單一入96
5.2.2 DNS輪詢96
5.2.3 全局伺服器負載均衡(GSLB)97
5.2.4 固定IP位址和浮動IP位址98
5.2.5 Neutron端保留99
5.2.6 IP位址99
5.3 伸縮100
5.3.1 套用剖析100
5.3.2 多台實例101
5.3.3 多位置102
5.3.4 負載均衡102
5.3.5 性能104
5.3.6 數據存儲104
5.3.7 高可用性105
5.4 套用改進106
5.4.1 簡單套用107
5.4.2 複雜套用107
5.4.3 改進Web UI組件108
5.4.4 改進API組件109
5.4.5 改進資料庫組件109
5.4.6 將所有內容組合在一起112
5.4.7 多區域實例113
5.5 小結114
6章 部署套用115
6.1 裸機、虛擬機和容器116
6.1.1 裸機116
6.1.2 虛擬機117
6.1.3 容器118
6.1.4 裸機上的容器120
6.1.5 為問題選擇正確的技*120
6.2 編排和配置管理121
6.2.1 編排工具:He*、Murano和Cloudify等121
6.2.2 配置管理和雲初始化122
6.2.3 Puppet、Chef、Salt和Ansible125
6.2.4 使用快照的方式和原因128
6.3 監控和計量129
6.4 彈性130
6.4.1 確保需要彈性/可伸縮性131
6.4.2 垂直擴展和*擴展腳本的對比132
6.4.3 再論負載均衡133
6.4.4 使用He*和ResourceGroups擴展135
6.4.5 將He*、Ceilometer和AutoScalingGroup組合在一起136
6.5 更新和補丁141
6.5.1 補丁更新選擇142
6.5.2 OpenStack持續集成/持續交付142
6.6 小結143
6.7 本書總結144
2.6.1 Nova網路39
2.6.2 Neutron網路40
2.7 將所有內容組合在一起45
2.8 小結48
3章 了解OpenStack生態系統:附加項目49
3.1 OpenStack He*50
3.2 OpenStack資料庫即服務:Trove54
3.2.1 雲資料庫作為軟體定義存儲(SDS)的用例54
3.2.2 OpenStack和Trove55
3.2.3 OpenStack DBaaS詳解56
3.2.4 Trove架構60
3.3 DNS即服務:Design*e61
3.3.1 了解Design*e架構62
3.3.2 使用Design*e63
3.4 MAGNUM66
3.4.1 容器即服務67
3.4.2 使用Flannel、Kuberes和Docker構建67
3.4.3 使用OpenStack構建68
3.4.4 Bay、Pod、Node和Container68
3.4.5 Magnum作為OpenStack的未來69
3.5 套用即服務:Murano69
3.5.1 Applic*ion C*alog69
3.5.2 Applic*ion Publisher70
3.5.3 Applic*ion C*alog管理員70
3.5.4 Applic*ion C*alog終端用戶71
3.5.5 Murano架構71
3.5.6 Murano使用示例72
3.6 Ceilometer:計量即服務73
3.6.1 Ceilometer架構73
3.6.2 Ceilometer彈性伸縮74
3.7 小結75
部分 使用OpenStack開發和部署套用
4章 套用開發79
4.1 將遺留套用轉換為OpenStack套用79
4.1.1 遷移到雲的原因80
4.1.2 遷移到雲的方法81
4.2 從頭構建套用82
4.2.1 OpenStack套用設計指南82
4.2.2 雲套用開發佳實踐83
4.3 OpenStack套用描述和部署策略86
4.3.1 雲套用描述86
4.3.2 網路部署策略88
4.4 小結90
5章 改進套用91
5.1 故障場景92
5.1.1 硬體故障92
5.1.2 網路故障92
5.1.3 存儲故障93
5.1.4 軟體故障94
5.1.5 外部故障95
5.2 主機名和IP位址分配96
5.2.1 單一入96
5.2.2 DNS輪詢96
5.2.3 全局伺服器負載均衡(GSLB)97
5.2.4 固定IP位址和浮動IP位址98
5.2.5 Neutron端保留99
5.2.6 IP位址99
5.3 伸縮100
5.3.1 套用剖析100
5.3.2 多台實例101
5.3.3 多位置102
5.3.4 負載均衡102
5.3.5 性能104
5.3.6 數據存儲104
5.3.7 高可用性105
5.4 套用改進106
5.4.1 簡單套用107
5.4.2 複雜套用107
5.4.3 改進Web UI組件108
5.4.4 改進API組件109
5.4.5 改進資料庫組件109
5.4.6 將所有內容組合在一起112
5.4.7 多區域實例113
5.5 小結114
6章 部署套用115
6.1 裸機、虛擬機和容器116
6.1.1 裸機116
6.1.2 虛擬機117
6.1.3 容器118
6.1.4 裸機上的容器120
6.1.5 為問題選擇正確的技*120
6.2 編排和配置管理121
6.2.1 編排工具:He*、Murano和Cloudify等121
6.2.2 配置管理和雲初始化122
6.2.3 Puppet、Chef、Salt和Ansible125
6.2.4 使用快照的方式和原因128
6.3 監控和計量129
6.4 彈性130
6.4.1 確保需要彈性/可伸縮性131
6.4.2 垂直擴展和*擴展腳本的對比132
6.4.3 再論負載均衡133
6.4.4 使用He*和ResourceGroups擴展135
6.4.5 將He*、Ceilometer和AutoScalingGroup組合在一起136
6.5 更新和補丁141
6.5.1 補丁更新選擇142
6.5.2 OpenStack持續集成/持續交付142
6.6 小結143
6.7 本書總結144