openstack架构简介J版(部分)

title : OPENSTACK架构简介

openstack的发展及历史

openstack是什么?

OpenStack是一个美国国家航空航天局和Rackspace合作研发的云端运算‎软件,以Apache许可证授权,并且是一个自由软件和开放源代码项目。
通俗点来讲,openstack就是一个用python编写的linux软件,openstack是一个开源云平台

openstack能干嘛?

openstack最基础的功能就是产生云主机(vm虚拟机),用这些虚拟机可以做你想做的很多事。例如产生一台windows虚拟机,你可以用它写word文档、上网、qq聊天……它在功能上与物理机几乎没有差别(桌面云);你也可以用它来作为服务器使用,在他上面搭建站点什么的(服务器)

openstack的优点

类似vmware workstation这样的软件不也可以产生虚拟机吗,干嘛搞得这么麻烦。

1.vmware workstation要收费,费用并不低;而且相当有局限性
2.openstack免费并开源,想怎么搞就怎么搞,拓展性强。

干嘛要产生虚拟机呢,直接用物理机不好吗?

1.通常一台物理机或者一群物理机只能实现一个功能,而安装openstack后这群物理机就可以做好多事,可以实现多种功能
2.物理机维护成本高,资源可调度性差,发生故障后补救较为困难,openstack则在这 三方面解决的比较好
……

openstack的历史(参考http://www.ibm.com/developerworks/cn/cloud/library/cl-openstack-overview/)

OpenStack 是由 Rackspace Cloud 和 NASA 在 2010 年发起的,集成了 NASA 的 Nebula 平台的代码与 Rackspace 的 Cloud Files 平台。第一个核心模块被称为 Compute and Object Storage(计算和对象存储),但更常见的是它们的项目名称,即 Nova 和 Swift。
OpenStack 使用了 YYYY.N 表示法,基于发布的年份以及当时发布的主版本来指定其发布。例如,2011 (Bexar) 的第一次发布的版本号为 2011.1,而下一次发布(Cactus)则被标志为 2011.2。次要版本进一步扩展了点表示法(例如,2011.3.1)。
开发人员经常根据代号来指定发行版本,发行版是按字母顺序排列的。Austin 是第一个主发行版,其次是 Bexar、Cactus 、Diablo、Essex、Folsom、Grizzly、Havana、Icehouse、Jonu、Kilo。这些代号是通过 OpenStack 设计峰会上的民众投票选出的,一般使用峰会地点附近的地理实体名称。具体版本变更情况请点击这里

opnstack模块

服务项目名称说明
DashboardHorizon提供了一个基于web的自服务门户,与OpenStack底层服务交互,诸如启动一个实例,分配IP地址以及配置访问控制。
ComputeNova在OpenStack环境中计算实例的生命周期管理。按需响应包括生成、调度、回收虚拟机等操作。
NetworkingNeutron确保为其它OpenStack服务提供网络连接即服务,比如OpenStack计算。为用户提供API定义网络和使用。基于插件的架构其支持众多的网络提供商和技术。
Object StorageSwift通过一个 RESTful,基于HTTP的应用程序接口存储和任意检索的非结构化数据对象。它拥有高容错机制,基于数据复制和可扩展架构。它的实现并像是一个文件服务器需要挂载目录。在此种方式下,它写入对象和文件到多个硬盘中,以确保数据是在集群内跨服务器的多份复制。
Block StorageCinder为运行实例而提供的持久性块存储。它的可插拔驱动架构的功能有助于创建和管理块存储设备。
IdentityKeystone为其他OpenStack服务提供认证和授权服务,为所有的OpenStack服务提供一个端点目录。
ImageGlance存储和检索虚拟机磁盘镜像,OpenStack计算会在实例部署时使用此服务。
TelemetryCeilometer为OpenStack云的计费、基准、扩展性以及统计等目的提供监测和计量。
OrchestrationHeat既可以使用本地HOT模板格式,亦可使用AWS CloudFormation模板格式,来编排多个综合的云应用,通过OpenStack本地REST API或者是CloudFormation相兼容的队列API。
Data processingTrove提供可扩展和稳定的云数据库即服务的功能,可同时支持关系性和非关系性数据库引擎。

#概念架构

服务架构

启动一个虚拟机实例会包含很多服务之间的交互。下图展示了一个普通的OpenStack环境的概念架构。

这里写图片描述

网络架构(三节点网络架构)

这里写图片描述

服务布局

这里写图片描述

各节点之间的通信由网络负责,各组件之间的通信由rabbit消息队列负责

openstack各服务及组件之间的功能

Identity service (Keystone)

Keystone服务执行以下功能:

1.跟踪用户及其权限。
2.提供一个目录可用服务的API端点。

keystone 各组件概念:

1.用户:使用OpenStack云服务的用户、系统或者服务,身份服务验证用户提交的请求。用户需要登录,然后可能会分配令牌已访问资源。多用户可以直接分配给特定的租户,并且表现就像他们包含在该租户内。
2.认证信息:确认用户身份的数据。比如用户名和密码,用户名和API键,或者由身份服务提供的认证令牌
3.认证:确认用户身份的过程。OpenStack身份服务通过验证用户提供的认证信息确认请求,当认证信息被验证后,OpenStack认证服务发给用户认证令牌,在后续的请求中用户将使用该令牌。
4.令牌:文本形式的字母-数字字符串,使用该字符串访问OpenStack的API和资源。令牌在有限的时间内是有效的,可能在任何时间被取消。
5.租户:分组或隔离资源的容器,租户也用于分组或隔离身份对象。基于服务操作者,租户可能映射为客户、账户、组织或项目
6.服务:一个OpenStack服务,比如Compute(nova),对象存储(Swift),镜像服务(glance)。服务提供了一个或多个端点(endpoint),在端点内用户可以访问资源或者执行操作。
6.API端点:网络可访问的地址,通常是URL地址,通过该地址可以访问服务。如果正在使用扩展的模板,一个端点模板会被创建,该模板表示所有可用服务的模板。
7.角色:定义了执行特定操作的用户权限的集合。在身份服务中,发给用户的令牌包括角色的列表。被用户访问的服务确定如何解释用户拥有的角色和每个角色可以访问的操作和资源。
8.KeyStone客户端:OpenStack身份服务API的命令行接口。比如:运行keystone service-create和keystone endpoint-creat在OpenStack中注册服务。

keystone服务拓扑

1.这里写图片描述

2.这张图有点老,但是基本意思没什么差异这里写图片描述

Image service (Glance)

###glance功能
它提供了一个REST API,使您可以查询虚拟机镜像元数据和检索实际的镜像。在简易的对象存储系统,你可以通过镜像服务在不同的地方存储虚拟机镜像。如OpenStack对象存储文件系统。
openstack镜像服务支持在它上面上运行的大量的周期性程序的缓存。通过应答服务可保持集群的可靠性和一致性。其他的定期的进程包括审查、更新和回收。
###glance组件
1.glance-api 接收镜像API的调用,例如:镜像的发现,检索和存储
2.glance-registry 存储、处理和恢复镜像的元数据,元数据包含像大小,类型等
安全注意:这是一个glance内部私有服务,仅供glance服务使用,不要给其他用户授权
3.Database 存放镜像元数据,用户是可以依据个人喜好选择数据库的,多数的部署使用MySQL或SQLite。
4.Storage repository for image files 支持多类型的普通文件系统、对象存储、RADOS块设备、HTTP和亚马逊S3.请注意某些仓库只能做只读使用
来自网络
点这儿镜像服务详细介绍镜像服务讲的比较详细

Compute service (Nova)

compute代号为nova,他根据需求来提供虚拟机,例如虚拟机创建虚拟机热迁移。
先借一张图来说明虚拟机的创建流程
这里写图片描述
这张图出自http://blog.csdn.net/xuriwuyun/article/details/16845601 在复习面试的时候也是看的这个博客,感谢

Networking service (Neutron)

Dashboard (Horizon)

Block Storage (Cinder)

Object Storage (Swift)

Orchestration (Heat)

Telemetry (Ceilometer)

Database (Trove)

Data processing service (Sahara)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值