书籍详情
OpenStack设计与实现(第3版)
作者:英特尔亚太研发有限公司 著
出版社:电子工业出版社
出版时间:2020-08-01
ISBN:9787121392863
定价:¥109.00
购买这本书可以去
内容简介
本书是一本介绍OpenStack设计与实现原理的书。本书内容以Train版本为基础,覆盖了OpenStack从学习方法到设计与实现等各个方面的内容,包括OpenStack的成长史、OpenStack开发的基础流程、如何分析OpenStack的源码、OpenStack的底层基石――虚拟化、OpenStack众多项目中所用到的通用技术,以及OpenStack主要组件及项目的实现,致力于帮助读者形成OpenStack及其各个主要组件与项目的拓扑图。本书语言通俗易懂,能够带领读者更为快速地走入OpenStack的世界并做出自己的贡献。本书适合希望参与OpenStack开发的读者,也适合对OpenStack茫然的初学者,以及有一定使用部署经验但是希望了解OpenStack实现原理的广大用户。
作者简介
英特尔亚太区研发有限公司于 2005 年 9 月在上海市紫竹科学园区正式成立。作为一个职能完备的研发机构,它兼具先进产品的开发能力和市场推广能力,将为中国及全球提供创新产品,为客户提供全面支持。
目录
第1章 初识OpenStack 1
1.1 从虚拟化到OpenStack 1
1.1.1 虚拟化 1
1.1.2 云计算 2
1.1.3 OpenStack 4
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和Meetup 24
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 Git 39
2.3.2 Devstack 40
2.4 浏览OpenStack源码 43
2.4.1 浏览代码的工具 44
2.4.2 分析源码如何入手 45
2.5 OpenStack代码质量保证体系 48
2.5.1 编码规范 50
2.5.2 代码评审Gerrit 53
2.5.3 单元测试Tox 57
2.5.4 持续集成Jenkins 60
2.6 如何贡献 66
2.6.1 文档 66
2.6.2 修补Bug 66
2.6.3 增加Feature 68
2.6.4 Review 71
2.6.5 调试 72
第3章 虚拟化 74
3.1 概述 74
3.1.1 虚拟化的实现方式 76
3.1.2 虚拟化的现状和未来 78
3.2 高层管理工具 86
3.2.1 XenAPI 87
3.2.2 Libvirt 88
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和WSGI 110
4.4 Eventlet和AsyncIO 119
4.5 命令行构建 120
4.6 OpenStack通用库Oslo 124
4.6.1 oslo.config 124
4.6.2 oslo.db 126
4.6.3 oslo.i18n 130
4.6.4 oslo.messaging 131
4.6.5 stevedore 138
4.6.6 TaskFlow 141
4.6.7 cookiecutter 148
4.6.8 oslo.policy 149
4.6.9 oslo.rootwrap 150
4.6.10 oslo.test 153
4.6.11 oslo.versionedobjects 155
第5章 计算 159
5.1 Nova体系结构 160
5.2 Nova API 165
5.2.1 Nova v2.1 API 165
5.2.2 Nova API实现 167
5.3 Rolling Upgrade 175
5.4 Scheduler 184
5.4.1 调度器 184
5.4.2 Resource Tracker 188
5.4.3 调度流程 191
5.5 Cells v2 192
5.6 典型工作流程 194
5.6.1 创建虚拟机 194
5.6.2 冷迁移与Resize 195
5.6.3 热迁移 197
5.6.4 挂起和恢复 199
5.6.5 Rebuild和Evacuate 200
5.7 资源管理服务Placement 200
5.7.1 Placement API 201
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 Swift 213
6.1.1 Swift体系结构 213
6.1.2 Ring 221
6.1.3 Swift API 231
6.1.4 认证 238
6.1.5 对象管理与操作 240
6.1.6 数据一致性 243
6.2 Cinder 246
6.2.1 Cinder体系结构 246
6.2.2 Cinder API 250
6.2.3 cinder-scheduler 253
6.2.4 cinder-volume 254
6.2.5 cinder-backup 259
6.3 Glance 261
6.3.1 Glance体系结构 261
6.3.2 Glance API 264
6.4 Ceph 268
6.4.1 Ceph体系结构 270
6.4.2 RADOS 272
6.4.3 Ceph块设备 292
6.4.4 Ceph FS 296
6.4.5 Ceph与OpenStack 297
第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 Plugin 316
7.2.1 ML2 Plugin 316
7.2.2 Service Plugin 320
7.3 Neutron Agent 323
第8章 安全 327
8.1 OpenStack安全概述 327
8.2 Keystone 328
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与TBoot 347
8.3.3 可信认证与OpenAttestation
项目 349
8.3.4 TrustedFilter 353
8.3.5 部署 355
第9章 计量与监控 357
9.1 Ceilometer 358
9.1.1 体系结构 358
9.1.2 Pipeline 360
9.1.3 Polling Agent与Pollster插件 362
9.1.4 Notification Agent与Notification Listener插件 363
9.1.5 Storage/DB 364
9.1.6 部署与使用 364
9.1.7 插件的开发 367
9.2 Aodh 374
9.2.1 体系结构 374
9.2.2 部署与使用 376
9.2.3 插件的开发 380
9.3 Gnocchi 386
9.3.1 体系结构 386
9.3.2 部署与使用 390
9.4 Panko 391
第10章 物理机管理 392
10.1 Ironic体系结构 392
10.1.1 Ironic Driver 395
10.1.2 Ironic API 399
10.1.3 Ironic Conductor 400
10.1.4 ironic-python-agent 401
10.1.5 ironic-inspector 402
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与Django 413
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 容器与OpenStack 442
12.2.1 nova-docker/heat-docker 443
12.2.2 Magnum 443
12.2.3 Murano 452
12.2.4 Kolla 453
12.2.5 Solum 454
12.2.6 Kuryr 456
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 Bifrost 467
13.2.2 Kolla 469
13.2.3 TripleO 476
第14章 加速设备管理 481
14.1 Cyborg体系结构 481
14.2 Cyborg数据模型 482
14.3 Cyborg与Nova等组件的
交互 486
1.1 从虚拟化到OpenStack 1
1.1.1 虚拟化 1
1.1.2 云计算 2
1.1.3 OpenStack 4
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和Meetup 24
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 Git 39
2.3.2 Devstack 40
2.4 浏览OpenStack源码 43
2.4.1 浏览代码的工具 44
2.4.2 分析源码如何入手 45
2.5 OpenStack代码质量保证体系 48
2.5.1 编码规范 50
2.5.2 代码评审Gerrit 53
2.5.3 单元测试Tox 57
2.5.4 持续集成Jenkins 60
2.6 如何贡献 66
2.6.1 文档 66
2.6.2 修补Bug 66
2.6.3 增加Feature 68
2.6.4 Review 71
2.6.5 调试 72
第3章 虚拟化 74
3.1 概述 74
3.1.1 虚拟化的实现方式 76
3.1.2 虚拟化的现状和未来 78
3.2 高层管理工具 86
3.2.1 XenAPI 87
3.2.2 Libvirt 88
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和WSGI 110
4.4 Eventlet和AsyncIO 119
4.5 命令行构建 120
4.6 OpenStack通用库Oslo 124
4.6.1 oslo.config 124
4.6.2 oslo.db 126
4.6.3 oslo.i18n 130
4.6.4 oslo.messaging 131
4.6.5 stevedore 138
4.6.6 TaskFlow 141
4.6.7 cookiecutter 148
4.6.8 oslo.policy 149
4.6.9 oslo.rootwrap 150
4.6.10 oslo.test 153
4.6.11 oslo.versionedobjects 155
第5章 计算 159
5.1 Nova体系结构 160
5.2 Nova API 165
5.2.1 Nova v2.1 API 165
5.2.2 Nova API实现 167
5.3 Rolling Upgrade 175
5.4 Scheduler 184
5.4.1 调度器 184
5.4.2 Resource Tracker 188
5.4.3 调度流程 191
5.5 Cells v2 192
5.6 典型工作流程 194
5.6.1 创建虚拟机 194
5.6.2 冷迁移与Resize 195
5.6.3 热迁移 197
5.6.4 挂起和恢复 199
5.6.5 Rebuild和Evacuate 200
5.7 资源管理服务Placement 200
5.7.1 Placement API 201
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 Swift 213
6.1.1 Swift体系结构 213
6.1.2 Ring 221
6.1.3 Swift API 231
6.1.4 认证 238
6.1.5 对象管理与操作 240
6.1.6 数据一致性 243
6.2 Cinder 246
6.2.1 Cinder体系结构 246
6.2.2 Cinder API 250
6.2.3 cinder-scheduler 253
6.2.4 cinder-volume 254
6.2.5 cinder-backup 259
6.3 Glance 261
6.3.1 Glance体系结构 261
6.3.2 Glance API 264
6.4 Ceph 268
6.4.1 Ceph体系结构 270
6.4.2 RADOS 272
6.4.3 Ceph块设备 292
6.4.4 Ceph FS 296
6.4.5 Ceph与OpenStack 297
第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 Plugin 316
7.2.1 ML2 Plugin 316
7.2.2 Service Plugin 320
7.3 Neutron Agent 323
第8章 安全 327
8.1 OpenStack安全概述 327
8.2 Keystone 328
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与TBoot 347
8.3.3 可信认证与OpenAttestation
项目 349
8.3.4 TrustedFilter 353
8.3.5 部署 355
第9章 计量与监控 357
9.1 Ceilometer 358
9.1.1 体系结构 358
9.1.2 Pipeline 360
9.1.3 Polling Agent与Pollster插件 362
9.1.4 Notification Agent与Notification Listener插件 363
9.1.5 Storage/DB 364
9.1.6 部署与使用 364
9.1.7 插件的开发 367
9.2 Aodh 374
9.2.1 体系结构 374
9.2.2 部署与使用 376
9.2.3 插件的开发 380
9.3 Gnocchi 386
9.3.1 体系结构 386
9.3.2 部署与使用 390
9.4 Panko 391
第10章 物理机管理 392
10.1 Ironic体系结构 392
10.1.1 Ironic Driver 395
10.1.2 Ironic API 399
10.1.3 Ironic Conductor 400
10.1.4 ironic-python-agent 401
10.1.5 ironic-inspector 402
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与Django 413
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 容器与OpenStack 442
12.2.1 nova-docker/heat-docker 443
12.2.2 Magnum 443
12.2.3 Murano 452
12.2.4 Kolla 453
12.2.5 Solum 454
12.2.6 Kuryr 456
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 Bifrost 467
13.2.2 Kolla 469
13.2.3 TripleO 476
第14章 加速设备管理 481
14.1 Cyborg体系结构 481
14.2 Cyborg数据模型 482
14.3 Cyborg与Nova等组件的
交互 486
猜您喜欢