一种云计算环境下的提供Openstack即服务的方法技术

技术编号:20272043 阅读:21 留言:0更新日期:2019-02-02 03:29
本发明专利技术公开了一种云计算环境下的提供Openstack即服务的方法,首先部署Openstack控制层软件,通过捕获API层注册在消息队列上的消息,进行相关创建虚拟机、云硬盘的操作,并将操作执行的信息通过消息适配层是配成Openstack标准消息之后,重新发送到消息队列之上,从而是虚拟机、硬盘等成功通过Openstack进行管理。本发明专利技术的一种云计算环境下的提供Openstack即服务的方法和现有技术相比实现了对用户提供隔离的Openstack服务的效果,在提供标准Openstack API支持的前提下,降低了部署的复杂度,避免了嵌套虚拟化带来的性能影响;本发明专利技术还支持监控数据的收集,客户端可以获取不同的运营商的监控数据,保护用户的数据和服务安全。

【技术实现步骤摘要】
一种云计算环境下的提供Openstack即服务的方法
本专利技术涉及云计算
,具体地说是一种云计算环境下的提供Openstack即服务的方法。
技术介绍
云计算是一种革新的IT商业模式,是分布式计算、并行计算、网格计算的延续。其核心思想是用网络对计算资源进行连接,使其构成一个巨大的计算资源池,通过屏蔽底层的基础设施,提供虚拟机资源以及各种服务供用户透明使用,并根据用户使用资源情况向用户收取一定的费用。云计算模式使得企业的IT运营模式发生根本变化,由以前的自给自足变成由云计算服务运营商提供服务。云计算按照云计算提供者与使用者的关系分为公有云、私有云社会云和混合云四类;公有云是有云提供商或云服务提供商向企业或用户提供服务的云,企业或用户不需要自己搭建软硬件平台就可以使用云中的服务,免去了创建和维护云平台的成本及烦恼。随着云计算技术的快速发展,公有云已经成为了越来越多企业的未来发展的方向。越来越的的企业开始将业务转移到公有云上。但是很多企业已经自建了内部的Openstack集群,企业的业务也以来Openstack提供的接口。为了使企业能够更快速的将业务转移到公有云上,需要提供全面的OpenstackAPI支持。现有的一种方法是将OpenStack部署在虚拟机上,例如一种创建OpenStack虚拟机方法及OpenStack虚拟机系统(申请号:201710457887.0),配置控制节点以及多个计算节点;将控制节点配置为服务器,将计算节点配置为预创建的虚拟机;控制节点为每个计算节点分配IP地址;采用虚拟网络实现机制,为控制节点和计算节点提供通信连接,并且配置安全组规则;在OpenStack界面创建计算节点的虚拟机,在计算节点的虚拟机选择预设的镜像以及配置的安全组规则;启动各个计算节点的虚拟机,测试控制节点分别与各个计算节点虚拟机的网络连接。本专利技术基于Neutron模型使用Linux网桥实现,能够有效突破传统模型的局限性,提升OpenStack虚拟机网络的性能。但是,存在的弊端如下:这种方法存在嵌套虚拟化的副作用,另外也存在服务供应商不支持的问题。
技术实现思路
本专利技术的技术任务是针对以上不足之处,提供一种云计算环境下的提供Openstack即服务的方法,在提供标准OpenstackAPI支持的前提下,降低了部署的复杂度,避免了嵌套虚拟化带来的性能影响。本专利技术解决其技术问题所采用的技术方案是:一种云计算环境下的提供Openstack即服务的方法,具体方法如下:用户调用OpenStackAPI,向Controller端发起请求;Controller端接受到请求,判断是否可以直接获取所要求的的信息;若用户所需要的信息不能直接从数据库中获取,则Controller端向消息队列中注册一条或者多条信息;Server端持续监听消息队列中的请求,若接受到请求后,根据请求中的数据,直接调用公有云供应商的接口,执行创建操作;Server端将创建过程中的中间状态推到消息队列上,Controller对其记录的状态进行更新;Server端将创建成功的消息推到消息队列上;Controller接受到创建成功的消息,更新数据库,并将创建成功的消息返回到用户界面。进一步的,优选的方法为,所述的创建操作为创建虚拟机、创建云硬盘、创建云网络中的一种或者几种。进一步的,优选的方法为,多用户通过虚拟主机的方式,在消息队列上进行隔离。进一步的,优选的方法为,所述的Server端一方面将Openstack消息转译为后端所需的形式,另一方面将后端的响应转译成Openstack所能认知的形式。一种云计算环境下的提供Openstack即服务的系统,包括控制模块、消息队列模块以及后端的虚拟资源模块;控制模块,用于将用户请求发布到消息队列模块上并接收消息队列模块的创建消息,然后将创建消息返回到用户界面;消息队列模块,用于前端API在接收到用户的请求之后,将请求转发到消息队列模块上;消息队列模块接收服务模块在用户请求处理过程中产生的关键信息;后端的虚拟资源模块,用于调用公有云厂商的接口,执行创建操作。进一步的,优选的结构为,消息队列模块还包括消息适配层单元;消息适配层单元,一方面将Openstack消息转译为后端所需的形式,另一方面将后端的响应转译成Openstack所能认知的形式。进一步的,优选的结构为,所述的消息适配层单元,用于监听在不同虚拟主机上注册的消息,并通过虚拟主机对用户进行识别,获取用户的权限和配额,从而决定是否进行下一步操作。进一步的,优选的结构为,后端虚拟模块包括虚拟机单元、云硬盘单元和云网络单元;虚拟机单元,用于调用公有云厂商的API,执行虚拟机的创建、删除、迁移,并将消息发回到消息队列模块上;云硬盘单元,用于调用公有云厂商软件定义存储的操作;云网络单元,用于调用公有云厂商的虚拟网络接口的操作。进一步的,优选的结构为,调用公有云厂商软件定义存储的操作,操作包括创建云硬盘、删除云硬盘和将云硬盘挂载到虚拟机上;调用公有云厂商的虚拟网络接口的操作,操作包括创建网络、删除网络以及调整网络拓扑。本专利技术的一种云计算环境下的提供Openstack即服务的方法和现有技术相比,有益效果如下:1、部署简单易行,直接部署OpenStack基础组件和控制平面组件即可;2、兼容OpenStack的各版本的API,无需重复开发API代码,提高了开发的效率,避免了重复的操作;3、可以直接部署OpenStack的控制平面组件,通过注册在消息队列上的消息的虚拟主机系统(virtualhost)区分用户,简单易行;4、利用消息队列的方式,消息队列一方面缓解了后端服务器的压力,另一方面用户不能直接访问消息队列,提高了安全性;5、通过对后端服务器的修改,可以适配不同的云供应商,可以使OpenStack接管不同来源的虚拟资源,实现了统一OpenStack集群管理不同供应商虚拟机和硬盘的需求,提高了灵活性;6、直接调用供应商接口即用即取,避免了因嵌套虚拟化带来的性能损耗;7、通过消息队列允许多个租户注册,从而消息适配层可以直接服务多个用户,提高了效率,降低了部署的复杂度。附图说明下面结合附图对本专利技术进一步说明。附图1为一种云计算环境下的提供Openstack即服务的方法的原理图。附图2为一种云计算环境下的提供Openstack即服务的方法的装置结构示意图。具体实施方式下面结合附图和具体实施例对本专利技术作进一步说明。本专利技术为一种云计算环境下的提供Openstack即服务的方法,实施例1:如附图2所示,一种云计算环境下的提供Openstack即服务的系统,包括控制模块、消息队列模块以及后端的虚拟资源模块;消息队列模块包括消息队列(MQ)和消息适配层单元;控制模块,OpenstackController:原生的Openstack控制平面组件,主要包括虚拟机相关、虚拟网络相关和软件定义存储相关的API。这些组件对外提供Http/Https的服务,并将指令发不到消息队列上。子API层,也包括了MySql数据库。消息队列,消息中间件实现了前端和后端组件的解耦,前端API在接收到用户的请求之后,会将请求转发到消息队列上,后端的组件会监听消息队列上的消息,并在接收到请求后将执行相关的操作,并肩操作本文档来自技高网
...

【技术保护点】
1.一种云计算环境下的提供Openstack即服务的方法,其特征在于,具体方法如下:用户调用OpenStackAPI,向Controller端发起请求;Controller端接受到请求,判断是否可以直接获取所要求的的信息;若用户所需要的信息不能直接从数据库中获取,则Controller端向消息队列中注册一条或者多条信息;Server端持续监听消息队列中的请求,若接受到请求后,根据请求中的数据,直接调用公有云供应商的接口,执行创建操作;Server端将创建过程中的中间状态推到消息队列上,Controller对其记录的状态进行更新;Server端将创建成功的消息推到消息队列上;Controller接受到创建成功的消息,更新数据库,并将创建成功的消息返回到用户界面。

【技术特征摘要】
1.一种云计算环境下的提供Openstack即服务的方法,其特征在于,具体方法如下:用户调用OpenStackAPI,向Controller端发起请求;Controller端接受到请求,判断是否可以直接获取所要求的的信息;若用户所需要的信息不能直接从数据库中获取,则Controller端向消息队列中注册一条或者多条信息;Server端持续监听消息队列中的请求,若接受到请求后,根据请求中的数据,直接调用公有云供应商的接口,执行创建操作;Server端将创建过程中的中间状态推到消息队列上,Controller对其记录的状态进行更新;Server端将创建成功的消息推到消息队列上;Controller接受到创建成功的消息,更新数据库,并将创建成功的消息返回到用户界面。2.根据权利要求1所述的一种云计算环境下的提供Openstack即服务的方法,其特征在于,所述的创建操作为创建虚拟机、创建云硬盘、创建云网络中的一种或者几种。3.根据权利要求1所述的一种云计算环境下的提供Openstack即服务的方法,其特征在于,多用户通过虚拟主机的方式,在消息队列上进行隔离。4.根据权利要求3所述的一种云计算环境下的提供Openstack即服务的方法,其特征在于,所述的Server端一方面将Openstack消息转译为后端所需的形式,另一方面将后端的响应转译成Openstack所能认知的形式。5.一种云计算环境下的提供Openstack即服务的系统,其特征在于,包括控制模块、消息队列模块以及后端的虚拟资源模块;控制模块,用于将用户请求发布到消息队列模...

【专利技术属性】
技术研发人员:申嘉童梁栋
申请(专利权)人:山东浪潮云信息技术有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1