内容简介
第1章 初识OpenStack
1.1 从虚拟化到OpenStack
1.1.1 虚拟化
1.1.2 云计算
1.1.3 OpenStack
1.2 OpenStack基金会以及管理模式
1.2.1 董事会
1.2.2 技术委员会
1.2.3 用户委员会
1.3 OpenStack体系结构
1.4 OpenStack项目发展流程
1.4.1 新项目
1.4.2 孵化项目、集成项目和核心项目
1.4.3 大帐篷(Big Tent)
1.5 OpenStack社区
1.5.1 邮件列表
1.5.2 IRC和项目例会
1.5.3 Summit和Meetup
1.5.4 其他社交平台
1.6 其他开源项目
1.7 OpenStack的技术发展趋势
第2章 OpenStack开发基础
2.1 相关开发资源
2.1.1 OpenStack社区
2.1.2 OpenStack文档
2.1.3 OpenStack书籍
2.1.4 其他网络资源
2.2 OpenStack开发的技术基础
2.3 部署开发环境
2.3.1 Git
2.3.2 Devstack
2.4 浏览OpenStack源代码
2.4.1 浏览代码的工具
2.4.2 分析源码如何入手
2.5 OpenStack代码质量保证体系
2.5.1 编码规范
2.5.2 代码评审Gerrit
2.5.3 单元测试Tox
2.5.4 持续集成Jenkins
2.6 如何贡献
2.6.1 文档
2.6.2 修补bug
2.6.3 增加feature
2.6.4 review
2.6.5 调试
第3章 虚拟化
3.1 概述
3.1.1 虚拟化实现方式
3.1.2 虚拟化现状和未来
3.2 高层管理工具
3.2.1 XenAPI
3.2.2 Libvirt
3.3 OpenStack相关实现
3.3.1 Libvirt驱动
3.3.2 XenAPI驱动
第4章 OpenStack通用技术
4.1 消息总线
4.2 SQLAlchemy和数据库
4.3 RESTful API和W SGI
4.4 Eventlet
4.5 OpenStack通用库Oslo
4.5.1 Cliff
4.5.2 oslo.config
4.5.3 oslo.db
4.5.4 oslo.i18n
4.5.5 oslo.messaging
4.5.6 stevedore
4.5.7 TaskFlow
4.5.8 cookiecutter
4.5.9 oslo.policy
4.5.10 oslo.rootwrap
4.5.11 oslo.test
4.5.12 oslo.versionedobjects
第5章 计算
5.1 Nova体系结构
5.2 Nova API
5.2.1 Nova v2.1 API
5.2.2 Nova API实现
5.3 Rolling Upgrade
5.3.1 Rolling Upgrade实现
5.4 Scheduler
5.4.1 调度器
5.4.2 Resource Tracker
5.4.3 调度流程
5.5 典型工作流程
5.5.1 创建虚拟机
5.5.2 冷迁移与Resize
5.5.3 热迁移
5.5.4 挂起和恢复
5.5.5 Rebuild和Evacuate
第6章 存储
6.1 Swift
6.1.1 Swift体系结构
6.1.2 Ring
6.1.3 Swift API
6.1.4 认证
6.1.5 对象管理与操作
6.1.6 数据一致性
6.2 Cinder
6.2.1 Cinder体系结构
6.2.2 Cinder API
6.2.3 cinder-scheduler
6.2.4 cinder-volume
6.2.5 cinder-backup
6.3 Glance
6.3.1 Glance体系结构
6.3.2 Glance API
6.4 Ceph
6.4.1 Ceph体系结构
6.4.2 RADOS
6.4.3 Ceph块设备
6.4.4 Ceph FS
6.4.5 Ceph与OpenStack
第7章 网络
7.1 Neutron体系结构
7.1.1 Linux虚拟网络
7.1.2 Neutron网络抽象
7.1.3 Neutron架构
7.1.4 Neutron源码结构
7.2 Neutron API
7.2.1 neutron-server
7.3 ML2 Plugin
7.4 Port Binding扩展
7.5 Open vSwitch Agent
7.6 Service Plugin
7.6.1 Firewall
7.6.2 LoadBalance
7.7 Neutron热点话题
7.7.1 DVR
7.7.2 SDN
7.7.3 NFV/SRIOV
7.7.4 OVS和DPDK
第8章 安全
8.1 OpenStack安全概述
8.2 Keystone
8.2.1 Keystone体系结构
8.2.2 Keystone启动过程
8.2.3 用户认证及令牌获取
8.2.4 签名证书生成
8.2.5 Keystone高阶应用
8.3 可信计算池
8.3.1 体系结构
8.3.2 Intel TXT与TBoot
8.3.3 可信认证与OpenAttestation项目
8.3.4 TrustedFilter
8.3.5 部署
第9章 计量与监控
9.1 Ceilometer
9.1.1 体系结构
9.1.2 Pipeline
9.1.3 Polling Agent与Pollster插件
9.1.4 Notification Agent与Notification Listeners插件
9.1.5 Collector与Dispatcher插件
9.1.6 Storage/DB
9.1.7 API Server
9.1.8 部署与使用
9.1.9 插件的开发
9.2 Aodh
9.2.1 体系结构
9.2.2 部署与使用
9.2.3 插件的开发
9.3 Gnocchi
9.3.1 体系结构
9.3.2 部署与使用
9.4 Panko
第10章 物理机管理
10.1 Ironic体系结构
10.1.1 Ironic Driver
10.1.2 Ironic API
10.1.3 Ironic Conductor
10.1.4 Ironic-python-agent
10.1.5 ironic-inspector
10.2 Ironic中的网络管理
10.2.1 物理交换机管理
10.2.2 多租户网络的支持
10.3 Ironic节点的注册和启动
第11章 控制面板
11.1 Horizon体系结构
11.1.1 Horizon与Django
11.1.2 Horizon网站布局
11.1.3 Horzion源码结构
11.2 Horizon部署
11.3 页面渲染流程
第12章 容器
12.1 容器技术
12.1.1 容器的原理
12.1.2 常见的容器集群管理工具
12.2 容器与OpenStack
12.2.1 nova-docker/heat-docker
12.2.2 Magnum
12.2.3 Murano
12.2.4 Kolla
12.2.5 Solum
12.2.6 Kuryr
12.2.7 容器技术与OpenStack的展望
第13章 部署
13.1 配置管理工具
13.2 OpenStack部署项目
13.2.1 Bifrost
13.2.2 Kolla
13.2.3 TripleO
13.2.4 Fuel
第14章 新兴项目
14.1 Searchlight
14.1.1 Searchlight体系结构
14.1.2 plugin的开发
14.2 Watcher
14.2.1 Watcher使用
14.2.2 Watcher体系结构
14.2.3 strategy的开发