C币商城  >  图书  >  技术图书  >  OpenStack系统架构设计实战
商品详情

内容简介

本书对各主流云管理平台进行介绍及对比后,主要对OpenStack平台进行重点介绍。包括OpenStack项目的存储管理(Cinder)模块、Neutron架构及具体功能、Ceilometer的架构及关键组件、Openstack中编排子系统(Heat)的相关概念/架构及其实现、Ironic的架构/运行原理,最后阐述云计算带来的包括虚拟化安全、数据安全、身份和访问管理安全等新的安全挑战。

 

目  录

目录 Contents推荐序前 言第1章 云管理平台概述11.1 主流云管理平台对比21.2 OpenStack简介61.2.1 OpenStack设计原理和体系结构71.2.2 OpenStack社区和项目开发流程111.2.3 OpenStack应用现状与发展趋势121.3 OpenStack入门体验151.3.1初探OpenStack151.3.2创建OpenStack虚拟机实例171.3.3 创建虚拟机的流程概述19第2章 计算管理(Nova)232.1 概述232.2 逻辑架构242.3 物理架构242.4 对主流Hypervisor的支持架构262.5 与VMware的对接272.6 支持的Hypervisor282.7 Nova关键组件282.7.1 API服务(novaapi)282.7.2 消息队列(AMQP)292.7.3novacompute322.7.4novacell352.7.5 novaconductor362.7.6novascheduler372.7.7novavolume392.7.8novanetwork402.8 novaobjectstore612.9 OpenStack使用流程622.9.1 初始化数据库与IP池622.9.2 创建用户与项目622.9.3 使用euca2tools工具632.9.4创建镜像652.9.5 创建虚拟机682.10K版本新特性702.11 小结73第3章 存储管理(Cinder)753.1 Cinder的架构753.2 Cinder API763.3cinder–scheduler773.4cinder–volume793.5 cinderbackup803.6 Cinder对存储设备及Ceph的支持813.7 Nova与Cinder的交互流程分析813.8Cinder功能及典型工作流程843.8.1 cinderapi服务启动流程843.8.2cinderscheduler服务启动流程853.8.3cindervolume服务启动流程863.8.4cinderclient部分创建流程863.9Glance883.10 K版本的存储管理新功能893.10.1Glance新功能893.10.2Cinder新功能903.11小结90第4章 网络管理模块(Neutron)924.1 网络基本概念934.1.1 L2与L3934.1.2交换机与路由器934.1.3防火墙944.1.4负载均衡944.1.5DHCP服务944.1.6子网和ARP944.1.7VLAN954.1.8Overlay网络964.1.9 Network NameSpace974.1.10 NAT地址转换974.2 Neutron的由来984.2.1novanetwork的问题994.2.2Neutron项目要解决的问题1004.3 Neutron的架构1004.3.1Neutron API1024.3.2 Neutron插件及代理介绍1034.3.3ML21044.3.4 Neutron核心数据模型1054.3.5Neutron消息交互1064.3.6租户网络与提供商网络1064.3.7 OpenStack网络部署架构1074.3.8 业务处理流程简述1084.4K版本新功能1124.5 小结113第5章 计量与监控(Ceilometer)1145.1 Ceilometer的体系架构 1145.2Ceilometer计量数据采集机制1165.2.1 概述1165.2.2计量数据采集1175.2.3 计量数据转换和发布1225.2.4 计量数据存储1235.3Ceilometer告警1245.4 Ceilometer API服务器1265.5Ceilometer的二次开发1275.5.1Notification Listener插件开发1285.5.2Pollster插件开发1305.5.3 Discovery插件开发1315.5.4Compute Agent Inspector插件开发1325.5.5Publisher插件开发1335.6OpenStack组件计量1345.6.1Nova计量1345.6.2Glance 计量1385.6.3 Cinder计量1385.6.4 Swift计量1395.6.5Neutron 计量1395.6.6 Keystone计量1405.6.7Heat计量1415.6.8Ironic计量1415.6.9Ceph计量1415.7K版本新功能1425.8Ceilometer对接外部系统1435.9OpenStack监控1445.10小结148第6章 编排(Heat)1506.1Heat概述1506.2Heat架构1506.3Heat API1516.4Heat模板1526.4.1模板结构1526.4.2输入参数1536.4.3资源1536.4.4资源依赖1546.4.5输出参数1546.4.6模板执行1556.4.7模板依赖1566.5 Heat资源类型 1566.5.1资源类型的使用1566.5.2 资源类型的实现1576.6 Heat引擎1586.7 典型场景分析1606.8 K版本新特性1636.9与AWS CloudFormation的对比1646.10小结165第7章 裸机管理(Ironic)1677.1 裸机管理通用技术1677.2 Ironic介绍1697.3Ironic 架构1697.4 基本运行原理和流程1717.5 Ironic安装1737.5.1 完全安装1737.5.2 简化安装1907.6 K版本新功能1927.7 小结194第8章 消息总线1958.1 概述1958.2 AMQP消息队列协议1968.3 OpenStack支持的消息总线类型1988.4 小结200第9章 OpenStack大数据服务(Sahara)2019.1 Sahara概述2019.1.1 Sahara的定位2019.1.2 Sahara的发展历程2029.1.3 Sahara的主要特点2039.2 Sahara的使用模式2059.3 Sahara的架构2079.3.1 Sahara外部架构2079.3.2 Sahara内部架构2089.4 Sahara与EMR、Serengeti的对比2109.4.1 Sahara与Amazon EMR的对比2109.4.2 Sahara与VMware Serengeti的对比2119.5 K版本新特性2139.6 小结214第10章 OpenStack数据库服务(Trove)21510.1 Trove概述21510.2 Trove总体构架21610.3 Trove主要功能和API接口21810.4 Trove的安装和配置22110.5 Trove创建实例过程22510.6 Trove二次开发22610.7 小结 229第11章 OpenStack安全方案23011.1 OpenStack安全概述23011.2 Keystone23111.2.1 Keystone介绍23211.2.2 启动23511.2.3 用户认证和令牌获取23611.2.4 签名证书生成23811.2.5 多级Keystone架构24011.2.6 Keystone与现有用户安全认证系统的对接24111.3 K版本新特性24211.4  基于可信计算的云安全体系24211.4.1 可信计算平台24211.4.2 OpenStack中的可信计算池24411.5 小结246第12章 OpenStack孵化项目简介24812.1 消息队列服务(Zaqar)24912.1.1 概述24912.1.2 使用场景25112.1.3 逻辑架构25112.1.4 本节小结25212.2  共享文件系统服务(Manila)25312.2.1  概述25312.2.2  使用场景25412.2.3 逻辑架构25512.2.4 本节小结25912.3 DNS管理服务(Designate)25912.3.1 概述25912.3.2 使用场景26012.3.3 逻辑架构26012.3.4 本节小结26212.4 密钥管理服务(Barbican)26312.4.1 概述26312.4.2 使用场景26312.4.3 逻辑架构26412.4.4 本节小结26612.5 容器管理服务(Magnum)26612.5.1 概述26612.5.2 使用场景26812.5.3 逻辑架构26812.5.4 本节小结271参考文献273

 

前  言

前言 Preface早在20世纪90年代,云计算就已作为一种全新的技术模型被提出,但直到2007年,才因Google、亚马逊等云计算先驱将其付诸于商业实践并获得丰厚利润,从而得到业界的广泛重视。与互联网、物联网等技术一样,云计算是电子信息技术和信息社会的需求发展到一定阶段的必然产物。从2007年至今,云计算已经成为人们进行信息交互与存储的重要方式,云管理平台也成为大数据处理和深度挖掘的主要平台。 高盛研究公司在2015年的一份报告中指出,花在云计算基础建设以及云管理平台上的费用在2013~2018年的年均增长率为30%,而整个IT行业的预计增长率仅为5%。面对这个蓬勃发展的市场,许多咨询公司和研究机构都对云计算市场有着不同的预测,但是他们都一致认为,在全球范围内,云计算的发展正在加速。在巨大需求的刺激下,云计算核心得到快速发展,商业云计算与开源云计算技术在竞争中共同推进,而云计算与行业结合,也形成了形态各异、特色鲜明的电子政务云、教育云、医疗云、金融云、环保云、旅游云等云计算服务,云计算大数据的发展空间则更加广阔。 中兴通讯公司在云计算方面有多年的技术积累和应用实践。本书结合云计算最新技术趋势和中兴通讯公司的长期实践,对云计算技术提出系统性的阐述,对云计算实践提供了思路和建议。本书首先从云计算的需求和现状出发,分析目前云计算面临的问题,针对这些问题分析了IaaS云管理平台、IaaS云平台部署,并对PaaS(平台即服务)等概念进行了充分的探索和讨论。 本书结构本书由12章组成。 第1章对各主流云管理平台进行介绍及对比,并对OpenStack平台进行了重点介绍。第2章系统地介绍了Nova的各个子模块,以及Nova的基本运行原理。第3章重点介绍了OpenStack项目的存储管理(Cinder)模块,描述了Cinder的架构、API、主要功能和工作流程。第4章从网络虚拟化主要面临的问题出发,讨论了Neutron架构及其具体功能。第5章从Ceilometer的体系架构谈起,首先简单介绍了Ceilometer的起源和几个重要概念,之后介绍Ceilometer的架构及关键组件,使读者对Ceilometer有整体的了解,然后详细剖析Ceilometer的数据采集机制,包括计量数据采集、计量数据转换和发布、计量数据存储,并介绍Ceilometer的二次开发。第6章重点讲述OpenStack中编排子系统(Heat)的相关概念、架构及其实现,并分别介绍Heat模板、Heat资源类型以及Heat引擎,结合典型的场景,对基于Heat的业务弹性伸缩流程进行深入的分析与阐述。第7章从介绍裸机管理的PXE、IPMI通用技术开始,对Ironic的架构、基本运行原理和流程,以及Ironic的完全安装、简化安装等进行介绍。第8章系统地介绍OpenStack的消息总线及其基本运行原理,让读者对OpenStack的消息队列协议以及常用的消息队列方案有一个全面了解。第9章通过对Sahara使用模式、架构的介绍,及其与Amazon、VMware解决方案的对比,让读者对大数据即服务的概念建立清晰的认识。第10章对Trove总体架构、主要功能和API接口、安装和配置,以及二次开发进行全面的介绍。第11章通过对Keystone的介绍,阐明OpenStack作为云管理平台,如何应对云计算带来的包括虚拟化安全、数据安全、身份和访问管理安全等新的安全挑战。第12章分别从使用场景、逻辑架构等视角对当前OpenStack社区中比较活跃的孵化项目,例如,消息队列服务(Zaqar)、共享文件系统服务(Manila)、DNS管理服务(Designate)、密钥管理服务(Barbican)、容器管理服务(Magnum)进行介绍。 本书适合高校计算机相关专业学生、云计算研究人员、云计算开发者和工程技术人员阅读参考。由于作者水平所限,书中难免存在一些谬误和不足之处,敬请读者批评指正。本书在写作过程中得到了很多领导和同事的大力支持,在此一并表示谢意。 作者