有劃線標(biāo)記、光盤等附件不全詳細(xì)品相說(shuō)明>>
-
>
決戰(zhàn)行測(cè)5000題(言語(yǔ)理解與表達(dá))
-
>
軟件性能測(cè)試.分析與調(diào)優(yōu)實(shí)踐之路
-
>
第一行代碼Android
-
>
深度學(xué)習(xí)
-
>
Unreal Engine 4藍(lán)圖完全學(xué)習(xí)教程
-
>
深入理解計(jì)算機(jī)系統(tǒng)-原書(shū)第3版
-
>
Word/Excel PPT 2013辦公應(yīng)用從入門到精通-(附贈(zèng)1DVD.含語(yǔ)音視頻教學(xué)+辦公模板+PDF電子書(shū))
OpenStack架構(gòu)分析與實(shí)踐 版權(quán)信息
- ISBN:9787113249632
- 條形碼:9787113249632 ; 978-7-113-24963-2
- 裝幀:70g膠版紙
- 冊(cè)數(shù):暫無(wú)
- 重量:暫無(wú)
- 所屬分類:>
OpenStack架構(gòu)分析與實(shí)踐 內(nèi)容簡(jiǎn)介
本書(shū)以實(shí)戰(zhàn)開(kāi)發(fā)為原則, 以關(guān)鍵模塊架構(gòu)分析及項(xiàng)目開(kāi)發(fā)為主線, 通過(guò)OpenStack開(kāi)發(fā)中*常見(jiàn)的8個(gè)典型模塊和若個(gè)典型項(xiàng)目案例, 詳細(xì)介紹了云平臺(tái)中的計(jì)算、網(wǎng)絡(luò)、存儲(chǔ)、服務(wù)編排、智能運(yùn)維等模塊, 并針對(duì)OpenStack中通用的關(guān)鍵技術(shù)進(jìn)行了詳細(xì)介紹。
OpenStack架構(gòu)分析與實(shí)踐 目錄
1.1 OpenStack是什么 1
1.1.1 OpenStack的作用 1
1.1.2 OpenStack的應(yīng)用場(chǎng)景 2
1.1.3 什么類型的工作要學(xué)OpenStack 3
1.2 為什么要學(xué)習(xí)OpenStack 3
1.2.1 OpenStack在云計(jì)算中的地位 3
1.2.2 云計(jì)算新時(shí)代:容器vs虛擬化 4
1.3 如何學(xué)習(xí)OpenStack 4
1.3.1 對(duì)學(xué)習(xí)者的技術(shù)要求 4
1.3.2 OpenStack的學(xué)習(xí)路線 4
1.4 OpenStack的基本架構(gòu) 5
1.5 OpenStack的核心組件 7
1.5.1 計(jì)算資源管理:Nova組件 7
1.5.2 存儲(chǔ)資源管理:Cinder/Swift組件 8
1.5.3 網(wǎng)絡(luò)資源管理:Neutron組件 9
第2章 OpenStack部署與社區(qū)貢獻(xiàn)流程
2.1 OpenStack部署方式 12
2.1.1 DevStack方式部署 13
2.1.2 手動(dòng)部署分布式OpenStack環(huán)境 18
2.1.3 RDO方式部署OpenStack 22
2.2 為OpenStack社區(qū)作貢獻(xiàn) 25
2.2.1 提交前的環(huán)境準(zhǔn)備 26
2.2.2 代碼貢獻(xiàn)流程 28
【示例2-1】代碼貢獻(xiàn)流程之bug Fix 28
2.2.3 文檔貢獻(xiàn)流程 30
【示例2-2】以heat為例來(lái)演示HTML的生成過(guò)程 31
2.2.4 其他內(nèi)容的貢獻(xiàn)流程 32
2.3 開(kāi)發(fā)工具之Pycharm 33
2.3.1 Pycharm的安裝與配置 33
2.3.2 使用Pycharm對(duì)代碼進(jìn)行遠(yuǎn)程調(diào)試 34
【示例2-3】通過(guò)Pycharm調(diào)試OpenStack中nova list的代碼 34
2.3.3 Pycharm與PDB的選用比較 35
【示例2-4】開(kāi)發(fā)工具之PDB斷點(diǎn)調(diào)試 35
第3章 虛擬化
3.1 虛擬化技術(shù)的現(xiàn)狀 37
3.2 KVM的管理工具Libvirt 38
3.2.1 Libvirt簡(jiǎn)介 38
【示例3-1】通過(guò)Libvirt提供的API virsh對(duì)虛擬機(jī)生命周期實(shí)現(xiàn)管理 39
3.2.2 Libvirt的體系結(jié)構(gòu) 40
3.3 OpenStack與虛擬化的結(jié)合 42
3.4 虛擬機(jī)配置libvirt.xml詳解 45
第4章 OpenStack通用技術(shù)
4.1 RPC服務(wù)實(shí)現(xiàn)分析 49
【示例4-1】在OpenStack RPC中創(chuàng)建Server并實(shí)現(xiàn)Client向Server發(fā)送請(qǐng)求
(以rpc、calll為例) 53
4.2 消息隊(duì)列服務(wù)分析 54
4.2.1 透徹理解中間件RabbitMQ 54
【示例4-2】通過(guò)“Hello World”演示如何RabbitMQ的消息收發(fā)過(guò)程 55
4.2.2 RabbitMQ實(shí)現(xiàn)RPC通信 58
【示例4-3】RabbitMQ之RPC通信案例 58
4.3 RESTful API開(kāi)發(fā)框架 64
4.3.1 靈活但不易用:基于Pastedeploy和Routes的API框架 65
【示例4-4】通過(guò)nova list獲取虛擬機(jī)的命令,根據(jù)Nova的api-paste.ini來(lái)說(shuō)明
是如何路由的 68
4.3.2 基于Pecan的API框架 69
4.4 TaskFlow的實(shí)現(xiàn) 72
4.4.1 TaskFlow常見(jiàn)使用場(chǎng)景 72
4.4.2 TaskFlow中必須理解的重要概念 73
4.4.3 TaskFlow具體實(shí)現(xiàn) 74
【示例4-5】TaskFlow仔細(xì)看,重實(shí)踐得體感 74
【示例4-6】TaskFlow功能多,長(zhǎng)流程特別火 76
4.5 基于Eventlet的多線程技術(shù) 78
4.5.1 進(jìn)程、線程與協(xié)程 78
4.5.2 Eventlet依賴的兩個(gè)庫(kù):greenlet和select.epoll 79
【示例4-7】greenlet庫(kù)應(yīng)用之協(xié)程切換 79
4.5.3 創(chuàng)建協(xié)程的常用API 80
4.5.4 定時(shí)和監(jiān)聽(tīng):Hub 81
4.5.5 Eventlet中的并發(fā)機(jī)制 83
第5章 Nova—計(jì)算組件
5.1 Nova架構(gòu) 84
5.1.1 Nova基本架構(gòu)及服務(wù)組成 85
5.1.2 Nova內(nèi)部服務(wù)間的通信機(jī)制 86
5.1.3 Nova內(nèi)部服務(wù)間協(xié)同工作 88
5.2 nova-api服務(wù) 89
5.2.1 nova-api服務(wù)的作用 89
5.2.2 nova-api服務(wù)的啟動(dòng)流程 91
5.3 nova-scheduler服務(wù) 95
5.3.1 基本原理及代碼結(jié)構(gòu) 96
5.3.2 調(diào)度過(guò)程 97
5.3.3 配置分析 100
5.4 nova-compute服務(wù) 101
5.4.1 nova-compute服務(wù)的作用 101
5.4.2 nova-compute服務(wù)的啟動(dòng)流程 103
5.4.3 nova-compute服務(wù)的日志分析 105
5.5 周期性任務(wù)的實(shí)現(xiàn) 106
5.5.1 什么是周期性任務(wù) 107
5.5.2 周期性任務(wù)的代碼 108
5.6 資源及服務(wù)刷新機(jī)制 111
5.6.1 服務(wù)上報(bào)機(jī)制 111
5.6.2 主機(jī)資源刷新機(jī)制 112
5.7 典型流程分析 117
5.7.1 nova-scheduler服務(wù)的啟動(dòng)流程 117
5.7.2 虛擬機(jī)創(chuàng)建的流程 120
5.8 案例實(shí)戰(zhàn)—Nova以Ceph作為后端存儲(chǔ) 122
第6章 Neutron—網(wǎng)絡(luò)組件
6.1 Neutron的發(fā)展歷程 126
6.2 網(wǎng)絡(luò)基礎(chǔ) 127
6.2.1 網(wǎng)絡(luò)的基本概念 127
6.2.2 常用的網(wǎng)絡(luò)設(shè)備 131
6.2.3 虛擬網(wǎng)絡(luò)技術(shù) 131
6.2.4 Neutron網(wǎng)絡(luò)的基本概念 133
6.3 Neutron核心架構(gòu) 135
6.3.1 Neutron部署結(jié)構(gòu) 135
6.3.2 Neutron組成部件 136
6.3.3 ML2 Core Plugin 138
6.3.4 DHCP服務(wù) 141
6.3.5 路由服務(wù) 142
6.3.6 元數(shù)據(jù)服務(wù) 144
6.3.8 Neutron使用示例 147
6.4 高級(jí)服務(wù)(Advanced Services) 149
6.4.1 Load Balancer as a Service(LBaaS) 149
6.4.2 Firewall as a Service(FWaaS) 153
6.4.3 VPN as a Service(VPNaaS) 155
6.5 典型網(wǎng)絡(luò)模型分析 156
6.5.1 Linux Bridge + Flat/VLAN網(wǎng)絡(luò)模型 156
6.5.2 Open vSwitch + VxLAN網(wǎng)絡(luò)模型 161
6.5.3 小結(jié) 171
第7章 Heat—服務(wù)編排組件
7.1 Heat架構(gòu)分析 172
7.1.1 Heat組件的基本架構(gòu) 173
7.1.2 Heat對(duì)資源的管理 175
7.1.3 認(rèn)識(shí)HOT模板 177
7.1.4 小實(shí)例:通過(guò)HOT模板創(chuàng)建虛擬機(jī) 180
7.2 Heat中的鎖機(jī)制 182
7.3 Heat中的Hook機(jī)制 184
【示例7-1】在通過(guò)Heat進(jìn)行資源定義時(shí),應(yīng)該如何使用Hook(鉤子) 185
【示例7-2】通過(guò)Heat創(chuàng)建一個(gè)Stack,在創(chuàng)建Stack時(shí),需要通過(guò)Environment
來(lái)定義Hook(鉤子) 186
7.4 案例實(shí)戰(zhàn)—Heat典型案例 189
7.4.1 通過(guò)Heat模板創(chuàng)建Stack 189
7.4.2 Heat Stack創(chuàng)建流程 195
第8章 Keystone—認(rèn)證組件
8.1 Keystone的架構(gòu) 198
8.1.1 Keystone的作用 199
8.1.2 Keystone與其他組件間的關(guān)系 201
8.1.3 基本架構(gòu)解析 203
8.1.4 自定義Keystone Plugin 205
8.1.5 支持使用External Plugin 206
8.2 Keystone中的基本概念 207
8.2.1 API V2和API V3 207
8.2.2 其他常見(jiàn)概念 208
8.2.3 多區(qū)域multi-region 209
8.3 Keystone的安裝部署與基本操作 211
8.3.1 Keystone的安裝部署 211
8.3.2 Keystone基本操作 212
【示例8-1】使用OpenStack user create創(chuàng)建一個(gè)名為test的用戶 212
8.4 Keystone的認(rèn)證流程 215
8.4.1 認(rèn)證方式 215
【示例8-2】以查看虛擬機(jī)列表為例,使用X-Auth-Token構(gòu)造一個(gè)
合法的HTTP請(qǐng)求 215
8.4.2 令牌生成方式 216
8.4.3 Keystone工作流程 220
第9章 Cinder—塊存儲(chǔ)組件
9.1 Cinder架構(gòu)分析 222
9.2 Cinder的安裝 225
9.2.1 安裝與配置存儲(chǔ)節(jié)點(diǎn) 225
9.2.2 安裝與配置控制節(jié)點(diǎn) 227
9.2.3 安裝與配置Backup服務(wù) 231
9.2.4 安裝正確性驗(yàn)證及Cinder基本操作 232
9.2.5 Cinder配置存儲(chǔ)后端 234
【示例9-1】LVM作為Cinder的后端存儲(chǔ) 234
9.3 案例實(shí)戰(zhàn)—通過(guò)Heat模板創(chuàng)建Cinder Volume 235
9.4 Cinder API服務(wù)啟動(dòng)過(guò)程分析 238
9.4.1 cinder-api代碼目錄結(jié)構(gòu) 239
9.4.2 cinder-api服務(wù)啟動(dòng)流程 240
9.4.3 REST請(qǐng)求的路由 242
9.5 案例實(shí)戰(zhàn)—關(guān)鍵代碼分析 245
9.5.1 Volume創(chuàng)建示例 245
9.5.2 代碼分析之cinder-api接收請(qǐng)求 247
9.5.3 代碼分析之cinder-scheduler進(jìn)行資源調(diào)度 249
9.5.4 代碼分析之cinder-volume調(diào)用Driver創(chuàng)建Volume 251
第10章 Ceilometer—數(shù)據(jù)采集組件
10.1 Ceilometer架構(gòu)分析 254
10.1.1 Ceilometer中的基本概念 255
10.1.2 舊版Ceilometer架構(gòu) 256
10.1.3 新版Ceilometer架構(gòu) 258
10.2 數(shù)據(jù)處理 260
10.2.1 Notification Agents數(shù)據(jù)收集 261
10.2.2 Polling Agents數(shù)據(jù)收集 262
10.2.3 數(shù)據(jù)轉(zhuǎn)換與發(fā)布 263
10.3 Pipelines 265
10.4 計(jì)量項(xiàng) 267
10.5 Agent和Plugin 269
10.5.1 Polling Agents 270
10.5.2 Plugins 272
10.6 案例實(shí)戰(zhàn)—Heat與Ceilometer結(jié)合,搭建一個(gè)彈性伸縮系統(tǒng) 274
10.6.1 系統(tǒng)介紹 274
10.6.2 準(zhǔn)備模板 275
10.6.3 創(chuàng)建系統(tǒng) 277
第11章 Glance—鏡像組件
11.1 Glance架構(gòu)分析 279
11.2 狀態(tài)分析 280
11.3 代碼結(jié)構(gòu)與概念分析 281
11.3.1 Metadata定義 283
11.3.2 Domain模型 285
【示例11-1】自定義Gateway方法 285
11.3.3 Task定義 287
11.4 Glance的安裝與配置 287
11.4.1 Glance安裝部署 288
11.4.2 Glance基本配置 292
【示例11-2】修改Glance后端存儲(chǔ)為RBD 292
11.5 鏡像緩存 293
11.6 案例實(shí)戰(zhàn)—Glance常見(jiàn)場(chǎng)景之鏡像創(chuàng)建 294
第12章 智能運(yùn)維Vitrage—RCA組件
12.1 Vitrage架構(gòu) 297
12.1.1 High Level架構(gòu)設(shè)計(jì) 298
12.1.2 Low Level架構(gòu)設(shè)計(jì) 300
12.2 Vitrage安裝部署 301
12.2.1 手動(dòng)方式安裝部署Vitrage 301
12.2.2 通過(guò)DevStack安裝Vitrage 303
12.3 Vitrage 模板 304
12.3.1 Templates(模板)的結(jié)構(gòu) 304
【示例12-1】Host處于ERROR狀態(tài)時(shí),觸發(fā)告警的模板 305
12.3.2 模板的加載過(guò)程 306
12.3.3 添加自定義模板 307
12.4 Vitrage Evaluator 310
12.5 自定義Datasources 312
12.6 案例實(shí)戰(zhàn)—Vitrage中的告警解決方案 314
第13章 OpenStack其他組件及智能運(yùn)維方案
13.1 Mistral—工作流組件 317
13.1.1 Mistral應(yīng)用場(chǎng)景 318
13.1.2 Mistral中的重要概念 318
13.1.3 Mistral功能介紹 320
13.1.4 Mistral架構(gòu)分析 322
13.1.5 Mistral實(shí)戰(zhàn)應(yīng)用 322
【示例13-1】為Mistral添加用戶自定義Action 322
【示例13-2】通過(guò)Mistral獲取虛擬機(jī)數(shù)據(jù) 323
13.2 OpenStack智能運(yùn)維解決方案 326
13.2.1 可視化的Dynatrace 327
13.2.2 VirtTool Networks 327
13.2.3 智能運(yùn)維Vitrage 329
第14章 OpenStack應(yīng)用實(shí)戰(zhàn):自動(dòng)編排和配置高可用Redis系統(tǒng)
14.1 利用cloud-init配置虛擬機(jī) 332
14.1.1 cloud-init的安裝與配置 333
14.1.2 cloud-init對(duì)VM進(jìn)行配置 338
【示例14-1】通過(guò)cloud-init配置虛擬機(jī) 341
14.1.3 cloud-init調(diào)試過(guò)程與問(wèn)題分析 343
14.2 Redis數(shù)據(jù)庫(kù)的HA實(shí)現(xiàn)及Redis集群的創(chuàng)建 347
14.2.1 Redis HA方案實(shí)現(xiàn) 347
14.2.2 Redis Cluster集群實(shí)現(xiàn) 358
第15章 OpenStack架構(gòu)與代碼實(shí)踐
15.1 OpenStack架構(gòu)設(shè)計(jì)思路 366
15.1.1 業(yè)務(wù)架構(gòu)設(shè)計(jì)思路 366
15.1.2 部署架構(gòu)設(shè)計(jì)思路 368
15.1.3 平臺(tái)用戶角色設(shè)計(jì) 369
15.2 案例實(shí)戰(zhàn)—向Heat中添加自定義資源 370
15.2.1 實(shí)現(xiàn)原理及思路分析 370
15.2.2 向Heat中添加Zabbix資源 371
15.2.3 定義Zabbix Action 373
15.2.4 實(shí)現(xiàn)AutoScaling模板 375
15.2.5 資源查看 377
OpenStack架構(gòu)分析與實(shí)踐 作者簡(jiǎn)介
管增輝 中國(guó)海洋大學(xué)碩士,曾先后在Alcatel-Lucent和金山云工作,現(xiàn)在供職于阿里巴巴。 擁有豐富的IMS核心網(wǎng)和云計(jì)算設(shè)計(jì)開(kāi)發(fā)經(jīng)驗(yàn),對(duì)云計(jì)算解決方案及AIOps擁有獨(dú)到見(jiàn)解,專注于云計(jì)算、容器及AIOps相關(guān)領(lǐng)域。 熱衷開(kāi)源,先后參與過(guò)MIT MOOS-IvP項(xiàng)目和OpenStack項(xiàng)目的開(kāi)發(fā)。 具有豐富的云平臺(tái)及K8S平臺(tái)開(kāi)發(fā)經(jīng)驗(yàn),設(shè)計(jì)開(kāi)發(fā)了電信級(jí)云存儲(chǔ)平臺(tái)、嵌套虛擬化云平臺(tái)、云平臺(tái)可視化資源管理、云平臺(tái)計(jì)算服務(wù)垃圾資源回收機(jī)制、云平臺(tái)智能運(yùn)維系統(tǒng)、基于K8S的SaaS平臺(tái)及輕量PaaS平臺(tái)。 除此之外,對(duì)于云平臺(tái)的資源編排服務(wù)、彈性伸縮服務(wù)、負(fù)載均衡服務(wù)也有豐富的經(jīng)驗(yàn)。 現(xiàn)在主要負(fù)責(zé)阿里云SaaS平臺(tái)和PaaS平臺(tái)的設(shè)計(jì)與開(kāi)發(fā)。 曾凡浪 中南大學(xué)學(xué)士,曾先后在藝龍旅行網(wǎng)和聯(lián)想北京研究院擔(dān)任系統(tǒng)開(kāi)發(fā)工程師和高級(jí)研究員,目前就職于神州優(yōu)車集團(tuán)總部。 有多年的OpenStack和Kubernetes構(gòu)建、開(kāi)發(fā)經(jīng)驗(yàn),專注于云計(jì)算相關(guān)領(lǐng)域。參與過(guò)多套私有云平臺(tái)的方案調(diào)研、技術(shù)選型和部署實(shí)施,以及OpenStack深度定制,OpenStack、Kubernetes、Ceph集中管理平臺(tái),統(tǒng)一認(rèn)證授權(quán)系統(tǒng)等項(xiàng)目開(kāi)發(fā)工作。
- >
有舍有得是人生
- >
山海經(jīng)
- >
詩(shī)經(jīng)-先民的歌唱
- >
推拿
- >
人文閱讀與收藏·良友文學(xué)叢書(shū):一天的工作
- >
小考拉的故事-套裝共3冊(cè)
- >
上帝之肋:男人的真實(shí)旅程
- >
名家?guī)阕x魯迅:故事新編