图书介绍
OpenStack架构分析与实践pdf电子书版本下载
- 管增辉,曾凡浪编著 著
- 出版社: 北京:中国铁道出版社
- ISBN:9787113249632
- 出版时间:2018
- 标注页数:378页
- 文件大小:50MB
- 文件页数:394页
- 主题词:计算机网络
PDF下载
下载说明
OpenStack架构分析与实践PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 走进OpenStack 1
1.1 OpenStack是什么 1
1.1.1 OpenStack的作用 1
1.1.2 OpenStack的应用场景 2
1.1.3 什么类型的工作要学OpenStack 3
1.2 为什么要学习OpenStack 3
1.2.1 OpenStack在云计算中的地位 3
1.2.2 云计算新时代:容器vs虚拟化 4
1.3 如何学习OpenStack 4
1.3.1 对学习者的技术要求 4
1.3.2 OpenStack的学习路线 4
1.4 OpenStack的基本架构 5
1.5 OpenStack的核心组件 7
1.5.1 计算资源管理:Nova组件 7
1.5.2 存储资源管理:Cinder/Swift组件 8
1.5.3 网络资源管理:Neutron组件 9
第2章 OpenStack部署与社区贡献流程 12
2.1 OpenStack部署方式 12
2.1.1 DevStack方式部署 13
2.1.2 手动部署分布式OpenStack环境 18
2.1.3 RDO方式部署OpenStack 22
2.2 为OpenStack社区作贡献 25
2.2.1 提交前的环境准备 26
2.2.2 代码贡献流程 28
【示例2-1】代码贡献流程之bug Fix 28
2.2.3 文档贡献流程 30
【示例2-2】以heat为例来演示HTML的生成过程 31
2.2.4 其他内容的贡献流程 32
2.3 开发工具之Pycharm 33
2.3.1 Pycharm的安装与配置 33
2.3.2 使用Pycharm对代码进行远程调试 34
【示例2-3】通过Pycharm调试OpenStack中nova list的代码 34
2.3.3 Pycharm与PDB的选用比较 35
【示例2-4】开发工具之PDB断点调试 35
第3章 虚拟化 37
3.1 虚拟化技术的现状 37
3.2 KVM的管理工具Libvirt 38
3.2.1 Libvirt简介 38
【示例3-1】通过Libvirt提供的API virsh对虚拟机生命周期实现管理 39
3.2.2 Libvirt的体系结构 40
3.3 OpenStack与虚拟化的结合 42
3.4 虚拟机配置libvirt.xml详解 45
第4章 OpenStack通用技术 49
4.1 RPC服务实现分析 49
【示例4-1】在OpenStack RPC中创建Server并实现Client向Server发送请求(以rpc、calll为例) 53
4.2 消息队列服务分析 54
4.2.1 透彻理解中间件RabbitMQ 54
【示例4-2】通过“Hello World”演示如何RabbitMQ的消息收发过程 55
4.2.2 RabbitMQ实现RPC通信 58
【示例4-3】RabbitMQ之RPC通信案例 58
4.3 RESTful API开发框架 64
4.3.1 灵活但不易用:基于Pastedeploy和Routes的API框架 65
【示例4-4】通过nova list获取虚拟机的命令,根据Nova的api-paste.ini来说明是如何路由的 68
4.3.2 基于Pecan的API框架 69
4.4 TaskFlow的实现 72
4.4.1 TaskFlow常见使用场景 72
4.4.2 TaskFlow中必须理解的重要概念 73
4.4.3 TaskFlow具体实现 74
【示例4-5】TaskFlow仔细看,重实践得体感 74
【示例4-6】TaskFlow功能多,长流程特别火 76
4.5 基于Eventlet的多线程技术 78
4.5.1 进程、线程与协程 78
4.5.2 Eventlet依赖的两个库:greenlet和select.epoll 79
【示例4-7】greenlet库应用之协程切换 79
4.5.3 创建协程的常用API 80
4.5.4 定时和监听:Hub 81
4.5.5 Eventlet中的并发机制 83
第5章 Nova——计算组件 84
5.1 Nova架构 84
5.1.1 Nova基本架构及服务组成 85
5.1.2 Nova内部服务间的通信机制 86
5.1.3 Nova内部服务间协同工作 88
5.2 nova-api服务 89
5.2.1 nova-api服务的作用 89
5.2.2 nova-api服务的启动流程 91
5.3 nova-scheduler服务 95
5.3.1 基本原理及代码结构 96
5.3.2 调度过程 97
5.3.3 配置分析 100
5.4 nova-compute服务 101
5.4.1 nova-compute服务的作用 101
5.4.2 nova-compute服务的启动流程 103
5.4.3 nova-compute服务的日志分析 105
5.5 周期性任务的实现 106
5.5.1 什么是周期性任务 107
5.5.2 周期性任务的代码 108
5.6 资源及服务刷新机制 111
5.6.1 服务上报机制 111
5.6.2 主机资源刷新机制 112
5.7 典型流程分析 117
5.7.1 nova-scheduler服务的启动流程 117
5.7.2 虚拟机创建的流程 120
5.8 案例实战——Nova以Ceph作为后端存储 122
第6章 Neutron——网络组件 126
6.1 Neutron的发展历程 126
6.2 网络基础 127
6.2.1 网络的基本概念 127
6.2.2 常用的网络设备 131
6.2.3 虚拟网络技术 131
6.2.4 Neutron网络的基本概念 133
6.3 Neutron核心架构 135
6.3.1 Neutron部署结构 135
6.3.2 Neutron组成部件 136
6.3.3 ML2 Core Plugin 138
6.3.4 DHCP服务 141
6.3.5 路由服务 142
6.3.6 元数据服务 144
6.3.8 Neutron使用示例 147
6.4 高级服务(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 典型网络模型分析 156
6.5.1 Linux Bridge+Flat/VLAN网络模型 156
6.5.2 Open vSwitch+VxLAN网络模型 161
6.5.3 小结 171
第7章 Heat——服务编排组件 172
7.1 Heat架构分析 172
7.1.1 Heat组件的基本架构 173
7.1.2 Heat对资源的管理 175
7.1.3 认识HOT模板 177
7.1.4 小实例:通过HOT模板创建虚拟机 180
7.2 Heat中的锁机制 182
7.3 Heat中的Hook机制 184
【示例7-1】在通过Heat进行资源定义时,应该如何使用Hook(钩子) 185
【示例7-2】通过Heat创建一个Stack,在创建Stack时,需要通过Environment来定义Hook(钩子) 186
7.4 案例实战——Heat典型案例 189
7.4.1 通过Heat模板创建Stack 189
7.4.2 Heat Stack创建流程 195
第8章 Keystone——认证组件 198
8.1 Keystone的架构 198
8.1.1 Keystone的作用 199
8.1.2 Keystone与其他组件间的关系 201
8.1.3 基本架构解析 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 其他常见概念 208
8.2.3 多区域multi-region 209
8.3 Keystone的安装部署与基本操作 211
8.3.1 Keystone的安装部署 211
8.3.2 Keystone基本操作 212
【示例8-1】使用OpenStack user create创建一个名为test的用户 212
8.4 Keystone的认证流程 215
8.4.1 认证方式 215
【示例8-2】以查看虚拟机列表为例,使用X-Auth-Token构造一个合法的HTTP请求 215
8.4.2 令牌生成方式 216
8.4.3 Keystone工作流程 220
第9章 Cinder——块存储组件 222
9.1 Cinder架构分析 222
9.2 Cinder的安装 225
9.2.1 安装与配置存储节点 225
9.2.2 安装与配置控制节点 227
9.2.3 安装与配置Backup服务 231
9.2.4 安装正确性验证及Cinder基本操作 232
9.2.5 Cinder配置存储后端 234
【示例9-1】LVM作为Cinder的后端存储 234
9.3 案例实战——通过Heat模板创建Cinder Volume 235
9.4 Cinder API服务启动过程分析 238
9.4.1 cinder-api代码目录结构 239
9.4.2 cinder-api服务启动流程 240
9.4.3 REST请求的路由 242
9.5 案例实战——关键代码分析 245
9.5.1 Volume创建示例 245
9.5.2 代码分析之cinder-api接收请求 247
9.5.3 代码分析之cinder-scheduler进行资源调度 249
9.5.4 代码分析之cinder-volume调用Driver创建Volume 251
第10章 Ceilometer——数据采集组件 254
10.1 Ceilometer架构分析 254
10.1.1 Ceilometer中的基本概念 255
10.1.2 旧版Ceilometer架构 256
10.1.3 新版Ceilometer架构 258
10.2 数据处理 260
10.2.1 Notification Agents数据收集 261
10.2.2 Polling Agents数据收集 262
10.2.3 数据转换与发布 263
10.3 Pipelines 265
10.4 计量项 267
10.5 Agent和Plugin 269
10.5.1 Polling Agents 270
10.5.2 Plugins 272
10.6 案例实战——Heat与Ceilometer结合,搭建一个弹性伸缩系统 274
10.6.1 系统介绍 274
10.6.2 准备模板 275
10.6.3 创建系统 277
第11章 Glance——镜像组件 279
11.1 Glance架构分析 279
11.2 状态分析 280
11.3 代码结构与概念分析 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后端存储为RBD 292
11.5 镜像缓存 293
11.6 案例实战——Glance常见场景之镜像创建 294
第12章 智能运维Vitrage——RCA组件 297
12.1 Vitrage架构 297
12.1.1 High Level架构设计 298
12.1.2 Low Level架构设计 300
12.2 Vitrage安装部署 301
12.2.1 手动方式安装部署Vitrage 301
12.2.2 通过DevStack安装Vitrage 303
12.3 Vitrage模板 304
12.3.1 Templates(模板)的结构 304
【示例12-1】Host处于ERROR状态时,触发告警的模板 305
12.3.2 模板的加载过程 306
12.3.3 添加自定义模板 307
12.4 Vitrage Evaluator 310
12.5 自定义Datasources 312
12.6 案例实战——Vitrage中的告警解决方案 314
第13章 OpenStack其他组件及智能运维方案 317
13.1 Mistral——工作流组件 317
13.1.1 Mistral应用场景 318
13.1.2 Mistral中的重要概念 318
13.1.3 Mistral功能介绍 320
13.1.4 Mistral架构分析 322
13.1.5 Mistral实战应用 322
【示例13-1】为Mistral添加用户自定义Action 322
【示例13-2】通过Mistral获取虚拟机数据 323
13.2 OpenStack智能运维解决方案 326
13.2.1 可视化的Dynatrace 327
13.2.2 VirtTool Networks 327
13.2.3 智能运维Vitrage 329
第14章 OpenStack应用实战:自动编排和配置高可用Redis系统 332
14.1 利用cloud-init配置虚拟机 332
14.1.1 cloud-init的安装与配置 333
14.1.2 cloud-init对VM进行配置 338
【示例14-1】通过cloud-init配置虚拟机 341
14.1.3 cloud-init调试过程与问题分析 343
14.2 Redis数据库的HA实现及Redis集群的创建 347
14.2.1 Redis HA方案实现 347
14.2.2 Redis Cluster集群实现 358
第15章 OpenStack架构与代码实践 366
15.1 OpenStack架构设计思路 366
15.1.1 业务架构设计思路 366
15.1.2 部署架构设计思路 368
15.1.3 平台用户角色设计 369
15.2 案例实战——向Heat中添加自定义资源 370
15.2.1 实现原理及思路分析 370
15.2.2 向Heat中添加Zabbix资源 371
15.2.3 定义Zabbix Action 373
15.2.4 实现AutoScaling模板 375
15.2.5 资源查看 377