您当前的位置:首页 > 电脑百科 > 程序开发 > 架构

openstack基础构架以及服务方式解析

时间:2019-11-27 16:26:24  来源:  作者:

一:什么是openstack

Rackspace是(美国航天局)和NASA(一家公司)共同发起的开源项目,他是一系列软件项目的组合。
这些项目是松耦合的关系,可以进行独立的安装,启动和停止,只有在必要的时候才进行通信(优点:扩展性好,安全性高,缺点:安装和配置比较复杂)

二:openstack的主要功能组件

1:简介

主要分为5个不同的层次16个不同功能模块:

Presentation【表示层】:api模块,ui模块

Logic(Control)【逻辑控制层】:Orchostration【编排服务】,Scheduling【调度服务】,Policy【策略服务】,Image Registry【镜像注册服务】,Logging【日志服务】

Resource【资源管理层】:Compute【计算资源管理模块】,Volume【存储资源管理模块】,Network【网络资源管理模块】

Integration【集成层】:Billing【计量模块】,Identity【身份认证模块】

Mabagement【管理层】:Admin【管理api】,Monitoring【监测】

子项目是怎样对接起来的:

Horizon-UI服务:对应User Dashboard【云下服务给运维用户使用】和Customer Portal【给云上用户使用】

Keystone-身份认证:对应Identity

Nova-计算服务模块:Compute API,scheduling【调度服务】,policy【策略服务】和Compute【计算管理模块】以及部分Admin API

Glance-镜像服务:Image Registry【镜像注册】,Image Registry【镜像API】

Cinder【块存储】/swift【网络对象存储】-存储服务:volume【存储资源管理模块】

Neutron-网络服务:Network【网络资源管理模块】

Heat-编排组织服务:Orchostration【编排服务】

Ceilometer-监控计量服务:Billing【计量模块】,,Monitoring【监测】

2:Horizon-UI模块

主要服务为openstack用户提供UI服务,也就是负责用户在管理控制台上的所有操作转化为后台API的调用。

用户:云管理员【负责整个云平台的运营,资源管理和分配】,普通云用户【在配额范围内,自由操作,使用资源】

云管理员界面:

openstack基础构架以及服务方式解析

 

3:Keystone-身份认证模块

主要负责openstack中的身份认证和权限控制,

User:即用户,代表可以通过keystone进行访问的人或者程序,User通过认证信息(如密码,api Key等)进行验证

Tenant:即租户,它是各个服务中的一些可以访问的资源集合

Role:即角色,代表一组用户可以访问资源的权限

一家人【租户】租用了一百平米的房子【角色权限】那么这家人每个人【用户】的管理权限是不同的,父母比孩子的管理权限大。
Service:即服务,如Nova,Glance,Swift。服务只有在keystone上进行注册才能被分配

Endpoint:一个服务暴露出来的访问点,如果要访问一个服务,则必须要知道他的endpoint

Token:访问资源的令牌,相当于钥匙

keystone到底提供了什么服务:

Identity服务:验证了身份验证凭证。

Token服务:将会验证并管理用于验证请求身份的令牌

Catalog:每个服务需要在keystone上进行注册,而他们就是注册在catalog上

Policy:决定每个用户有哪些访问控制的权限

4:Nova-计算服务

openstack的核心服务。

一:主要功能包括:

1:实例生命周期管理:实例的创建,删除,启动,停止

2:计算资源的管理

3:向外提供Rest风格的API

二:3个不同的功能模块组成

nova-api:位于表示层主要接受外部的rest请求

nova-scheduler:位于逻辑控制层,主要负责居中调停,选择由哪个主机创建vm

nova-compute:负责虚拟机测创建,以及资源的分配,本身并不提供任何虚拟化功能,但他却支持不同的虚拟机形式

他们之间并不是听过直接传递,而是通过消息中间件进行消息的传递

openstack基础构架以及服务方式解析

 

5: Glance-镜像服务

功能:提供虚拟机镜像的存储,查询和检索服务

主要为Nova组件提供服务,通过nova创建虚拟机的时候,就必须听过glance获取相应的镜像,然后根据镜像创建虚拟机。

依赖于存储服务和数据库服务:存储服务用于存储镜像本身,数据库服务主要用于存储跟镜像相关的各种元数据

glance的架构

openstack基础构架以及服务方式解析

 

6:swift-存储服务

功能:对外提供高可用分布式对象存储服务

特点:无限可扩展,没有端点故障,使用swift不用担心使用的对象会丢失,因为它本身就提供高可用的功能

可以通过HTTP(S),object api及s3接口存取

swift原理图

所有的请求都通过proxy进行处理,通过proxy到合适的Account下面找相应的Containe中的某一个object进行存储服务

在这中间会针对不同的object进行复制,从而保证某一个对象的信息丢失时能够从其他地方找回来

openstack基础构架以及服务方式解析

 

7:cinder-块存储服务

功能:管理所以的块存储设备,为vm服务,

对象存储服务主要用于存储分布式的对象,也就意味着你可以从任何地方发起请求存储你的对象

块存储服务是本地的,它只能挂在vm上进行使用

cinder原理图:

当一个请求发来时,首先还是发送到cinder本身的api上面,api模块对发过来的请求进行处理,处理后的结果通过消息中间件进行传递,通过消息中间件mq传到cinder-scheduler上面再通过调度器,

再决定到哪里申请块存储服务,并且创建一个vm,cinder具体的存储模块的管理都是通过cinder-volume来进行生命周期管理

openstack基础构架以及服务方式解析

 

8:Neutron-网络服务

功能:提供云计算环境下的虚拟网络功能,为每个租户建立独立的网络环境

三种模式:

Flat模式:网桥模式,所有的都需要手工配置

Flat DHCP模式:网桥模式,在网关处单独取了一个DHCP的进程,可以辅助用户进行网络配置

VLAN模式:为每个不同的租户设置了不同的虚拟子网,在这个虚拟子网中,用户可以有自己的ip

三:组件间关系和访问流程

1:组件之间的关系

openstack基础构架以及服务方式解析

 

2:访问控制流程

openstack基础构架以及服务方式解析

 

原文来自:https://www.linuxprobe.com/openstack-method-analysis.html



Tags:openstack   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
很多人听说过云计算,这已经不算新名词了。还有一个词叫虚拟化,它是云计算的奠基了。本文尝试用通俗易懂的方式,讲述OpenStack是什么。OpenStack是什么?OpenStack是云计算管理的...【详细内容】
2020-07-24  Tags: openstack  点击:(96)  评论:(0)  加入收藏
一:什么是openstackRackspace是(美国航天局)和NASA(一家公司)共同发起的开源项目,他是一系列软件项目的组合。 这些项目是松耦合的关系,可以进行独立的安装,启动和停止,只有在必要的...【详细内容】
2019-11-27  Tags: openstack  点击:(109)  评论:(0)  加入收藏
OpenStack是一个开源平台,可让你构建在商用硬件上运行的基础架构即服务(IaaS)云。OpenStack背后的技术由一系列项目组成,这些项目为云基础架构解决方案提供了各种组件。它可以处...【详细内容】
2019-11-11  Tags: openstack  点击:(173)  评论:(0)  加入收藏
▌简易百科推荐
为了构建高并发、高可用的系统架构,压测、容量预估必不可少,在发现系统瓶颈后,需要有针对性地扩容、优化。结合楼主的经验和知识,本文做一个简单的总结,欢迎探讨。1、QPS保障目标...【详细内容】
2021-12-27  大数据架构师    Tags:架构   点击:(5)  评论:(0)  加入收藏
前言 单片机开发中,我们往往首先接触裸机系统,然后到RTOS,那么它们的软件架构是什么?这是我们开发人员必须认真考虑的问题。在实际项目中,首先选择软件架构是非常重要的,接下来我...【详细内容】
2021-12-23  正点原子原子哥    Tags:架构   点击:(7)  评论:(0)  加入收藏
现有数据架构难以支撑现代化应用的实现。 随着云计算产业的快速崛起,带动着各行各业开始自己的基于云的业务创新和信息架构现代化,云计算的可靠性、灵活性、按需计费的高性价...【详细内容】
2021-12-22    CSDN  Tags:数据架构   点击:(10)  评论:(0)  加入收藏
▶ 企业级项目结构封装释义 如果你刚毕业,作为Java新手程序员进入一家企业,拿到代码之后,你有什么感觉呢?如果你没有听过多模块、分布式这类的概念,那么多半会傻眼。为什么一个项...【详细内容】
2021-12-20  蜗牛学苑    Tags:微服务   点击:(9)  评论:(0)  加入收藏
我是一名程序员关注我们吧,我们会多多分享技术和资源。进来的朋友,可以多了解下青锋的产品,已开源多个产品的架构版本。Thymeleaf版(开源)1、采用技术: springboot、layui、Thymel...【详细内容】
2021-12-14  青锋爱编程    Tags:后台架构   点击:(21)  评论:(0)  加入收藏
在了解连接池之前,我们需要对长、短链接建立初步认识。我们都知道,网络通信大部分都是基于TCP/IP协议,数据传输之前,双方通过“三次握手”建立连接,当数据传输完成之后,又通过“四次挥手”释放连接,以下是“三次握手”与“四...【详细内容】
2021-12-14  架构即人生    Tags:连接池   点击:(17)  评论:(0)  加入收藏
随着移动互联网技术的快速发展,在新业务、新领域、新场景的驱动下,基于传统大型机的服务部署方式,不仅难以适应快速增长的业务需求,而且持续耗费高昂的成本,从而使得各大生产厂商...【详细内容】
2021-12-08  架构驿站    Tags:分布式系统   点击:(23)  评论:(0)  加入收藏
本系列为 Netty 学习笔记,本篇介绍总结Java NIO 网络编程。Netty 作为一个异步的、事件驱动的网络应用程序框架,也是基于NIO的客户、服务器端的编程框架。其对 Java NIO 底层...【详细内容】
2021-12-07  大数据架构师    Tags:Netty   点击:(17)  评论:(0)  加入收藏
前面谈过很多关于数字化转型,云原生,微服务方面的文章。虽然自己一直做大集团的SOA集成平台咨询规划和建设项目,但是当前传统企业数字化转型,国产化和自主可控,云原生,微服务是不...【详细内容】
2021-12-06  人月聊IT    Tags:架构   点击:(23)  评论:(0)  加入收藏
微服务看似是完美的解决方案。从理论上来说,微服务提高了开发速度,而且还可以单独扩展应用的某个部分。但实际上,微服务带有一定的隐形成本。我认为,没有亲自动手构建微服务的经历,就无法真正了解其复杂性。...【详细内容】
2021-11-26  GreekDataGuy  CSDN  Tags:单体应用   点击:(35)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条