关于本书的内容有任何问题,请联系 刘博
第1章 OpenStack云计算基础....................1 1.1 云计算概述 ..................1 1.1.1 云计算的概念 ................1 1.1.2 云计算架构 ................2 1.1.3 云计算部署模式 .............3 1.1.4 云计算解决方案 ............4 1.1.5 裸金属云 ...................5 1.2 Linux虚拟化技术 ...............6 1.2.1 计算机虚拟化基础 ............6 1.2.2 OpenStack所支持的虚拟化技术 ......................7 1.2.3 KVM——基于 Linux内核的虚拟化解决方案 ...............8 1.2.4 Libvirt套件 ................10 1.3 了解 OpenStack .............11 1.3.1 什么是 OpenStack ..........11 1.3.2 OpenStack项目的组成 .......12 1.3.3 OpenStack基金会与社区 ......14 1.3.4 OpenStack版本演变 ..........14 1.4 OpenStack的架构 .............15 1.4.1 OpenStack的概念架构 .......15 1.4.2 OpenStack的逻辑架构 .......16 1.4.3 OpenStack组件之间的通信关系 ....................17 1.4.4 OpenStack的物理架构 ......18 1.4.5 OpenStack的物理网络类型 ...21 1.5 部署 OpenStack .............22 1.5.1 选择操作系统平台 ..........22 1.5.2 部署拓扑 .................22 1.5.3 OpenStack部署工具 ..........22 1.5.4 部署 OpenStack的技术需求 .....26 1.6 习题 .......................27 第2章 单节点的 OpenStack一体化部署 ..............28 2.1 使用Packstack安装单节点OpenStack云平台 .............28 2.1.1 准备安装环境 ..............28 2.1.2 准备所需的软件库 ..........32 2.1.3 安装Packstack安装器 .......33 2.1.4 运行 Packstack安装 OpenStack .................33 2.2 OpenStack Dashboard操作界面....................36 2.2.1 OpenStack Dashboard 主界面 ..................36 2.2.2 项目管理界面 ..............38 2.2.3 管理员管理界面 ..............38 2.2.4 身份管理界面 ..............39 2.3 创建虚拟机实例 ............... 40 2.3.1 添加安全组访问规则 ......... 40 2.3.2 创建或导入密钥对 ......... 41 2.3.3 添加镜像 .................42 2.3.4 创建并运行虚拟机实例 .......43 2.4 定制虚拟网络实现虚拟机与外网通信................... 48 2.4.1 将网络接口与外部桥接口 br-ex进行关联 ................. 48 2.4.2 配置虚拟网络 ............. 49 2.4.3 为虚拟机实例分配浮动 IP 地址 ....................54 2.4.4 使用 SSH访问虚拟机实例 .....55 2.4.5 基于提供者网络的虚拟机实例 ...57 2.5 习题 .......................58 第3章 OpenStack基础环境..................59 3.1 OpenStack云部署架构设计 ......59 3.1.1 示例架构的物理部署 ..........60 3.1.2 示例架构的虚拟网络方案 .......61 3.1.3 主机节点的网络拓扑 ..........62 3.2 主机节点网络设置 ............63 3.2.1 NetworkManager服务 ......63 3.2.2 网络连接配置 ..............63 3.2.3 禁用防火墙与 SELinux .......63 3.2.4 配置主机节点时钟同步 .......63 3.3 数据库服务器及其配置 .........65 3.3.1 SQL数据库 ................65 3.3.2 NoSQL数据库 ............68 3.4 消息队列服务及其配置 .........70 3.4.1 消息队列与消息总线 ..........70 3.4.2 AMQP模型与原理 .........70 3.4.3 AMQP与 OpenStack .........72 3.4.4 RabbitMQ及其部署 ...........73 3.5 习题 .......................74 第4章 OpenStack API与 客户端 ................75 4.1 RESTful API和 WSGI ..........75 4.1.1 RESTful API简介 ..........75 4.1.2 OpenStack的 RESTful API ...76 4.1.3 Web服务器网关接口 WSGI ...77 4.1.4 OpenStack API的传统框架 ...77 4.1.5 OpenStack API的新型框架 ...80 4.2 OpenStack API的基本使用 ......81 4.2.1 调用 OpenStack API的方式 .....81 4.2.2 OpenStack的认证与 API请求 流程 ................83 4.2.3 获取 OpenStack认证令牌 ......83 4.2.4 发送 API请求 .............85 4.3 OpenStack命令行客户端 .......87 4.3.1 使用命令行的必要性 ..........87 4.3.2 安装命令行客户端 ..........87 4.3.3 OpenStack客户端语法 .......87 4.3.4 OpenStack客户端认证 ...... 88 4.3.5 通过 OpenStack客户端创建一个 实例 ................ 88 4.4 基于 Horizon的 Dashboard 界面.................. 89 4.4.1 Horizon主要功能 .......... 89 4.4.2 Horizon设计理念 .......... 89 4.4.3 Horizon与 Django框架 ........ 90 4.4.4 Horizon功能框架 .......... 91 4.4.5 自定义 OpenStack Horizon ....92 4.4.6 手动安装 Horizon .......... 94 4.5 通过日志排查故障 ............95 4.6 通用库 Oslo ................ 96 4.7 习题 .......................97 第5章 OpenStack身份服务.................... 98 5.1 身份服务基础 ............... 98 5.1.1 Keystone主要功能 ........... 98 5.1.2 Keystone基本概念 ........... 99 5.1.3 Keystone的管理层次结构 ...100 5.1.4 Keystone体系结构 ..........101 5.1.5 Keystone认证流程 ..........104 5.2 基于 Dashboard界面进行身份管理 操作..............105 5.2.1 项目管理 ...............105 5.2.2 用户管理 ...............108 5.2.3 组管理 ..................109 5.2.4 角色管理 ...............110 5.3 基于命令行界面进行身份管理 操作................111 5.3.1 管理项目、用户和角色 ........111 5.3.2 创建并管理服务和服务用户 .....113 5.4 通过 oslo.policy实现权限管理 ....114 5.5 手动安装和部署 Keystone .......116 5.5.1 创建 Keystone数据库 ......116 5.5.2 安装和配置 Keystone及相关 组件 .................117 5.5.3 配置 Apache HTTP服务器 ....118 5.5.4 完成安装 ...............118 5.5.5 为后续的服务创建统一的服务项目 ..................119 5.6 习题 .....................119 第6章 OpenStack镜像服务...................120 6.1 镜像服务基础 .................120 6.1.1 镜像与镜像服务 ............120 6.1.2 Glance架构 ..............124 6.1.3 Glance工作流程 ...........125 6.1.4 理解镜像和实例的关系 ........126 6.1.5 镜像元数据定义 ...........129 6.1.6 Glance的配置文件 ..........130 6.2 管理 Glance镜像 ..............131 6.2.1 基于 Web界面管理镜像 ......131 6.2.2 基于命令行管理镜像 ........133 6.2.3 镜像的问题排查 ............135 6.3 制作 OpenStack镜像 ..........135 6.3.1 制作 OpenStack Linux镜像 ....135 6.3.2 cloud-init工作机制及其 应用 ..................139 6.3.3 制作 OpenStack Windows 镜像 ..................145 6.4 手动安装和部署 Glance ........155 6.4.1 基础工作 ...............155 6.4.2 安装和配置组件 ...........155 6.4.3 完成安装 ...............157 6.5 习题 .....................157 第7章 OpenStack计算服务...................158 7.1 OpenStack计算服务基础 ........158 7.1.1 什么是 Nova .............158 7.1.2 Nova系统架构 .............159 7.1.3 API组件 ...............159 7.1.4 Scheduler组件 ............160 7.1.5 Compute组件 ..............163 7.1.6 Conductor组件 ............164 7.1.7 Placement API组件 ........164 7.1.8 控制台接口 ...............165 7.1.9 虚拟机实例化流程 ...........165 7.2 Nova部署架构 ..............166 7.2.1 Nova物理部署 .............166 7.2.2 Nova的 Cell架构 .........166 7.3 Nova的元数据工作机制 .......169 7.3.1 元数据及其注入 ............169 7.3.2 配置驱动器 ...............169 7.3.3 元数据服务 ...............171 7.3.4 虚拟机实例访问元数据服务 .....172 7.4 使用和管理计算服务 ..........173 7.4.1 部署虚拟机实例的前提 ........173 7.4.2 创建虚拟机实例 ............174 7.4.3 访问虚拟机实例 ............177 7.4.4 管理虚拟机实例 ............178 7.4.5 管理实例类型 ............179 7.4.6 为虚拟机实例注入管理员密码 ..................182 7.5 手动安装和部署 Nova ...........183 7.5.1 在控制节点上安装和配置 Nova 组件 .................184 7.5.2 在计算节点上安装和配置 Nova 组件 ...............186 7.6 习题 .....................187 第8章 OpenStack网络服务...................189 8.1 Linux虚拟网络 ..............189 8.1.1 Linux网络虚拟化 .........189 8.1.2 Linux虚拟网桥 ............190 8.1.3 虚拟局域网 ...............190 8.1.4 开放虚拟交换机 ...........191 8.2 OpenStack网络服务基础 ........192 8.2.1 Neutron网络结构 ...........192 8.2.2 网络、子网与端口 ...........193 8.2.3 网络拓扑类型 ............193 8.2.4 Neutron基本架构 ...........194 8.2.5 neutron-server ...........195 8.2.6 插件、代理与网络提供者 .....196 8.2.7 Neutron的物理部署 ........196 8.3 Neutron主要插件、代理与服务 ...197 8.3.1 ML2插件 .................197 8.3.2 Linux Bridge代理 ...........198 8.3.3 Open vSwitch代理 ..........199 8.3.4 DHCP代理 ...............200 8.3.5 Linux网络名称空间 .........202 8.3.6 Neutron路由器 ............203 8.3.7 L3代理 .................204 8.3.8 FWaaS..................205 8.4 Neutron网络配置和管理 ......205 8.4.1 虚拟网络类型 ............206 8.4.2 OpenStack网络命令行 ........209 8.4.3 创建提供者网络 ...........210 8.4.4 创建自服务网络 ...........211 8.4.5 配置虚拟路由器 ...........214 8.5 手动安装和部署 Neutron ......217 8.5.1 主机网络配置 ............217 8.5.2 安装和配置控制节点 ........218 8.5.3 安装和配置计算节点 ........220 8.6 习题 .....................221 第9章 OpenStack存储服务...................222 9.1 Cinder块存储服务基础 ........222 9.1.1 Cinder的主要功能 ...........222 9.1.2 Cinder与 Nova的交互 ........223 9.1.3 Cinder架构 ..............223 9.1.4 cinder-api服务 ...........225 9.1.5 cinder-scheduler服务 ........225 9.1.6 cinder-volume服务 ........226 9.1.7 cinder-backup服务 ........229 9.1.8 Cinder的物理部署 ...........230 9.2 Cinder的配置与管理 .........230 9.2.1 图形界面的卷操作 ...........230 9.2.2 命令行的卷操作 ............235 9.2.3 配置存储后端 ............237 9.2.4 管理块存储服务配额 ........239 9.3 手动安装和部署 Cinder .........240 9.3.1 安装和配置存储节点 ........240 9.3.2 安装和配置控制节点 ........242 9.3.3安装和配置备份服务 ........243 9.4 Swift对象存储系统 ............243 9.4.1 Swift概述 ................243 9.4.2 对象的层次数据模型 ........244 9.4.3对象存储的组件 ............245 9.4.4 对象存储集群的层次结构 .....248 9.4.5Swift架构 ................249 9.5 Swift的配置与管理 ............250 9.5.1 代理服务及其配置 ...........250 9.5.2 存储服务及其配置 ...........252 9.5.3 一致性服务及其配置 ........253 9.5.4 环的创建和管理 ............255 9.5.5 存储策略管理 ............258 9.6 手动安装和部署 Swift ...........260 9.6.1 配置网络 ...............260 9.6.2 安装和配置控制节点 ........260 9.6.3 安装和配置存储节点 ........261 9.6.4 创建和分发初始环 ...........263 9.6.5 完成安装 ...............265 9.7 习题 .....................265 第10章 OpenStack计量与监控................267 10.1 Telemetry服务概述 ...........267 10.1.1 Telemetry服务的子项目 ...267 10.1.2 Telemetry服务的架构 ......268 10.2 Ceilometer数据收集服务 ......269 10.2.1 Ceilometer的主要功能 .....269 10.2.2 数据类型计量项和事件 ......269 10.2.3 Ceilometer的架构 .........270 10.2.4 数据处理和管道 ..........272 10.2.5 存储和访问数据 ..........273 10.3 Gnocchi资源索引和计量存储服务 .................273 10.3.1 Gnocchi简介 .............274 10.3.2 Gnocchi的基本架构 .......274 10.3.3 Gnocchi的后端存储 .......275 10.3.4 Gnocchi的归档策略 .......275 10.3.5 规划 Gnocchi的存储 ......276 10.3.6Statsd .................277 10.3.7 API..................277 10.3.8 Metricd...............277 10.4 配置和管理计量和监控服务 .....277 10.4.1 数据收集配置 .............277 10.4.2 管道配置 ................280 10.4.3 发布器配置 .............281 10.4.4 配置和管理 Gnocchi .......281 10.4.5 通过 Gnocchi API管理和使用计量服务 ................283 10.5 手动安装计量和监控服务 ........284 10.5.1 安装和配置 Telemetry服务....................284 10.5.2 启用计算服务计量 .........286 10.5.3 启用块存储计量 ..........287 10.5.4 启用对象存储计量 .........288 10.5.5 启用其他 OpenStack服务计量....................288 10.6 Aodh警告服务 ............289 10.6.1 Aodh的组件 ..............289 10.6.2 Aodh的系统架构 ...........289 10.6.3管理和使用 Aodh警告 ......291 10.6.4使用警告 ................291 10.6.5 手动安装 Aodh警告服务 ...293 10.7 习题 ......................295 第11章 OpenStack编排服务................296 11.1 Heat编排服务基础 ..........296 11.1.1 什么是编排服务 ..........296 11.1.2 Heat的目的和任务 ........297 11.1.3 Heat架构 ...............297 11.2 Heat编排模板 .............298 11.2.1 模板结构 .................299 11.2.2 模板版本与描述信息 .......300 11.2.3 参数组 .................300 11.2.4 输入参数 ................300 11.2.5资源 ....................302 11.2.6输出参数 .................303 11.2.7条件 ....................303 11.2.8 内置函数 .................303 11.3 管理和使用 Heat编排 .........305 11.3.1 使用 packstack命令安装 Heat 服务...............305 11.3.2 创建栈完成编排任务 .......306 11.3.3 创建模板定制编排任务 ......308 11.4 安装和配置 Heat .............312 11.4.1准备 ....................312 11.4.2安装和配置组件 ..........313 11.4.3 完成安装 ................314 11.5 习题 ......................314 第12章 多节点 OpenStack 云平台...............315 12.1 增加一个计算节点 ............315 12.1.1 准备安装 .................315 12.1.2 编辑应答文件 .............316 12.1.3运行 Packstack安装 ......317 12.1.4 验证双节点部署 ..........318 12.1.5 管理主机聚合 .......320 12.2虚拟机实例的迁移 ........322 12.2.1 在计算节点之间配置 SSH无密码访问 .......322 12.2.2 虚拟机实例的冷迁移 ...323 12.2.3 虚拟机实例的实时迁移 ...325 12.3 多节点 OpenStack的部署 .....333 12.3.1 使用工具部署多节点 OpenStack........333 12.3.2 手动部署多节点 OpenStack ...333 12.4 习题 .............334
本书通过不断调整与优化,形成了结构合理、循序渐进、容量适度的10个教学单元:计算机基础知识、计算机硬件基础、计...
本书是一本采用任务驱动式体例编写的ECharts数据可视化技术教材,以通俗易懂的语言和丰富实用的任务,帮助读者...
本书是面向PHP语言和MySQL数据库初学者的一本入门教材,使用通俗易懂的语言、丰富的图解和实用的案例,详细讲...
本书为Java基础入门教材,适合初学者使用。全书共13章,第1~2章主要讲解Java技术的一些基础知识,内容包...
本书全面、系统地介绍银河麒麟桌面操作系统的基础知识、WPS Office的基本操作,以及其他信息技术的相关内容...
我要评论