内容简介:
《Open Stack设计与实现》是一本介绍OpenStack设计与实现原理的书。《Open Stack设计与实现》以Juno版本为基础,覆盖了OpenStack的学习方法到设计与实现等各个方面内容,致力于帮助读者形成OpenStack及其各个主要组件与项目的拓扑。
《Open Stack设计与实现》语言通俗易懂,能够带领读者更为快速地走入OpenStack的世界并做出自己的贡献。《Open Stack设计与实现》适合希望能够参与OpenStack开发的读者,也适合对OpenStack茫然的初学者,以及有一定使用部署经验但是希望了解OpenStack实现原理的广大用户。
资源目录:
第1章初识OpenStack 1
1.1 从虚拟化到OpenStack 1
1.1.1 虚拟化 1
1.1.2 云计算 2
1.1.3 OpenStack 4
1.2 OpenStack体系结构 6
1.3 OpenStack项目发展流程 13
1.3.1 新项目 14
1.3.2 孵化项目 14
1.3.3 核心项目及集成项目 15
1.4 OpenStack社区 15
1.4.1 邮件列表 16
1.4.2 IRC和项目例会 16
1.4.3 Summit和Meetup 17
1.4.4 其他社交平台 19
1.5 其他开源项目 19
第2章OpenStack开发基础 22
2.1 相关开发资源 22
2.1.1 OpenStack社区 22
2.1.2 OpenStack文档 22
2.1.3 OpenStack书籍 23
2.1.4 其他网络资源 24
2.2 OpenStack开发的技术基础 25
2.3 部署开发环境 26
2.3.1 Git 26
2.3.2 Devstack 27
2.4 浏览OpenStack源代码 31
2.4.1 源码目录结构 31
2.4.2 浏览代码的工具 33
2.4.3 分析源码如何入手 35
2.5 OpenStack代码质量保证体系 38
2.5.1 编码规范 40
2.5.2 代码评审Gerrit 43
2.5.3 单元测试Tox 48
2.5.4 持续集成Jenkins 51
2.6 如何贡献 54
2.6.1 文档 54
2.6.2 修补Bug 55
2.6.3 增加Feature 57
2.6.4 Review 60
2.6.5 调试 61
第3章虚拟化 62
3.1 概述 62
3.1.1 虚拟化实现方式 64
3.1.2 虚拟化现状和未来 66
3.2 高层管理工具 74
3.2.1 XenAPI 74
3.2.2 Libvirt 75
3.3 OpenStack相关实现 84
3.3.1 Libvirt驱动 84
3.3.2 XenAPI驱动 86
第4章OpenStack通用技术 88
4.1 消息总线 88
4.2 SQLAlchemy和数据库(Shane) 92
4.3 RESTful API和WSGI 96
4.4 Eventlet 103
4.5 OpenStack通用库Oslo 106
4.5.1 Cliff 107
4.5.2 oslo.config 111
4.5.3 oslo.db 113
4.5.4 oslo.i18n 116
4.5.5 oslo.messaging 116
4.5.6 stevedore 123
4.5.7 TaskFlow 127
4.5.8 cookiecutter 133
4.5.9 oslo.policy 134
4.5.10 oslo.rootwrap 135
4.5.11 oslo.test 138
第5章计算 141
5.1 Nova体系结构 141
5.2 Nova API 148
5.2.1 Nova API执行过程 149
5.2.2 Nova API的实现 155
5.3 Conductor服务 161
5.3.1 Object Model 163
5.4 Scheduler 166
5.4.1 调度器 166
5.4.2 Filtering 167
5.4.3 Weighting 169
5.5 Compute 169
5.6 典型工作流程 176
5.6.1 创建虚拟机 176
5.6.2 冷迁移与Resize 178
5.6.3 热迁移 179
5.6.4 挂起和恢复 181
5.6.5 Rebuild和Evacuate 182
第6章存储 183
6.1 Swift 183
6.1.1 Swift体系结构 183
6.1.2 Ring 191
6.1.3 Swift API 202
6.1.4 认证 210
6.1.5 对象管理与操作 211
6.1.6 数据一致性 215
6.2 Cinder 218
6.2.1 Cinder体系结构 218
6.2.2 Cinder API 222
6.2.3 cinder-scheduler 224
6.2.4 cinder-volume 226
6.2.5 cinder-backup 230
6.3 Glance 232
6.3.1 Glance体系结构 232
6.3.2 Glance API 234
第7章网络 240
7.1 Neutron体系结构 240
7.1.1 Linux虚拟网络 241
7.1.2 Neutron网络抽象 245
7.1.3 Neutron架构 246
7.1.4 Neutron源码结构 247
7.2 Neutron API 249
7.2.1 neutron-server 250
7.3 ML2 Plugin 251
7.4 Port Binding扩展 257
7.5 Open vSwitch Agent 260
7.6 Service Plugin 267
7.6.1 Firewall 267
7.6.2 LoadBalance 269
7.7 Neutron热点话题 270
7.7.1 DVR 271
7.7.2 SDN 271