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模块

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

概念架构

服务架构

启动一个虚拟机实例会包含很多服务之间的交互。下图展示了一个普通的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)

Compute service (Nova)

Networking service (Neutron)

Dashboard (Horizon)

Block Storage (Cinder)

Object Storage (Swift)

Orchestration (Heat)

Telemetry (Ceilometer)

Database (Trove)

Data processing service (Sahara)

时间: 2024-10-22 10:40:38

openstack架构简介J版(更新中)的相关文章

openstack架构简单介绍J版(更新中)

title : OPENSTACK架构简单介绍 openstack的发展及历史 openstack是什么? OpenStack是一个美国国家航空航天局和Rackspace合作研发的云端运算?软件,以Apache许可证授权.而且是一个自由软件和开放源码项目. 通俗点来讲,openstack就是一个用python编写的linux软件,openstack是一个开源云平台. openstack能干嘛? openstack最基础的功能就是产生云主机(vm虚拟机).用这些虚拟机能够做你想做的非常多事.比如产

OpenStack架构简介

OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权,旨在为公共及私有云的建设与管理提供软件的开源的云计算管理平台项目.OpenStack 包含三个模块:OpenStackCompute(Nova), OpenStackObjectStorage(Swift),以及OpenStackImageService(Glance). Nova是 NASA 开发的虚拟服务器部署和业务计算模块,为云组织的控制器,它提供一个工具来部署云,包括运

Spring框架教程IDEA版-----更新中

一.spring框架的概述以及spring中基于XML的 TOC配置 1.spring的概述 (1)spring是什么和spring的两大核心? 全栈轻量级的开源框架,以IOC(反转控制)和AOP(面向切面编程)为内核,提供了展现层Spring MVC和持久层JDBC以及业务层事务管理等众多的企业级应用技术,还能整合世界众多的著名的第三方框架和类库. (2) spring的优势 方便解耦,简化开发,AOP编程的支持,声明式事务的支持,方便程序的测试,方便集成各种优秀的框架,降级的JAvaEE A

Icehouse版keystone配置完全详解(更新中)

本文全面解读Icehouse发行版keystone的配置文件keystone.conf [DEFAULT]admin_token=(string value)# 这是一个公知的密码,用于初始化keystone,强烈建议在生产模式中禁用,只需要在# keystone-paste.ini文件中移除AdminTokenAuthMiddleware这个pipeline即可 public_bind_host=(string value)# The IP Address of the network int

合作开发三层架构版机房中的一些工具软件

一,EA 关于EA的使用,以前在http://blog.csdn.net/lhc1105/article/details/38128513 .真心感觉不错. 二,动软代码生成器 这个小东西主要因为是中文的,用起来感觉比EA上手,可以进行一些简单的操作:比如: 1,为数据库自动生成常用存储过程,也可以将自动生成的存储过程导出,交给D层的开发人员复制粘贴使用,减少工作量. 2,导出数据库设计文档,不过这个文档有点儿简单,要自己完善下. 3,生成三层架构的主体代码: 如图,连带有工厂模式的代码都可以生

OpenStack身份管理与访问控制(更新中)

OpenStack身份术语说明 Identity 身份 User 用户 Tenant 租户(工程) Service 服务 Endpoint 终端 X-Auth-Token HTTP请求头字段,应填充操作请求者拥有的由keystone颁发的token X-Subject-Token OpenStack身份管理与访问控制(更新中)

发现 OpenStack: 架构、功能和交互

最近准备回归openstack阵营.一直想把oepnstack从最初的认识到全架构大概写一篇,却发现在developerworks中已经有了一篇.大家共勉 ================================================================================ OpenStack 是由 IBM® 和其他行业领导者推广的一个流行的开源云计算项目.本文将概述总体架构.各个模块的功能和它们之间的交互.本系列的其他文章将详细介绍各类 OpenSta

自己动手写处理器之第一阶段(3)——MIPS32指令集架构简介

将陆续上传本人写的新书<自己动手写处理器>(尚未出版),今天是第四篇,我尽量每周四篇 1.4 MIPS32指令集架构简介 本书设计的处理器遵循MIPS32 Release 1架构,所以本节介绍的MIPS32指令集架构指的就是MIPS32 Release 1. 1.4.1 数据类型 指令的主要任务就是对操作数进行运算,操作数有不同的类型和长度,MIPS32提供的基本数据类型如下. 位(b):长度是1bit. 字节(Byte):长度是8bit. 半字(Half Word):长度是16bit. 字(

ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室 实战系列(不断更新中)

项目简介 利用ASP.NET SignalR技术与Layim前端im框架实现的一个简单的web聊天室,包括单聊,群聊,加好友,加群,好友搜索,管理,群组管理,好友权限设置等功能.涉及技术: ElasticSearch 搜索,支持各种条件搜索,效率高,速度快,稳准狠. Redis缓存,统计在线好友,登录token等 RabbitMQ消息队列,发送消息通过队列降低数据库访问压力,或者延迟执行任务. ASP.NET MVC,UI架构. 以及普通的三层架构等.CRUD 当然其中的这些技术也是纯粹为了使用