一种混合云系统、混合云盘申请方法和数据存储方法

著录项
  • CN202011139068.X
  • 20201022
  • CN112230857A
  • 20210115
  • 杭州朗澈科技有限公司
  • 王玉虎;蔡锡生;李逸锋;吴江法;王一钧;古强
  • G06F3/06
  • G06F3/06

  • 浙江省杭州市余杭区余杭街道文一西路1818-2号12幢811室
  • 浙江(33)
  • 杭州华知专利事务所(普通合伙)
  • 李姣姣
摘要
本申请涉及一种混合云系统、混合云盘申请方法和数据存储方法。所述混合云系统包括:Kubernetes容器服务模块,用于管理kubernetes集获取云盘申请请求;混合云SCI插件,用于根据所述云盘申请请求,向混合云管模块发送API请求;混合云管模块,用于根据所述API请求中云厂家标识,获取所述云厂家API接口,并根据所述云厂家API接口申请和创建云盘。采用本系统能够降低系统的开发成本。
权利要求

1.一种混合云系统,其特征在于,所述系统包括:

Kubernetes容器服务模块,用于管理kubernetes集获取云盘申请请求;

混合云SCI插件,用于根据所述云盘申请请求,向混合云管模块发送API请求;

混合云管模块,用于根据所述API请求中云厂家标识,获取所述云厂家API接口,并根据所述云厂家API接口申请和创建云盘。

2.根据权利要求1所述的混合云系统,其特征在于,还包括:

多个云厂家的Iaas服务模块,用于提供管理云资源;

所述混合云管模块,还用于向所述Iaas服务模块申请释放管理云资源;

容器云服务模块,用于向所述混合云管模块申请所述管理云资源,所述管理云资源用于创建kubernetes集,所述kubernetes集运行在每个所述云厂家的Kubernetes容器服务模块,所述kubernetes集通过所述Kubernetes容器服务模块管理。

3.根据权利要求1所述的混合云系统,其特征在于,所述混合云CSI插件,通过调用所述混合云管模块的接口,实现对云盘的创建、挂载和删除。

4.根据权利要求1所述的混合云系统,其特征在于,所述混合云管模块用于对多个云厂家的云资源进行管理,向用户终端提供统一的API接口。

5.根据权利要求1所述的混合云系统,其特征在于,所述容器云服务模块,还用于删除所述kubernetes集。

6.一种混合云盘申请方法,其特征在于,所述方法包括:

容器云服务模块管理的kubernetes集获取云盘申请请求;

混合云SCI插件监控到所述容器云服务模块的云盘申请请求,并根据所述云盘申请请求,向混合云管模块发送API请求;

所述混合云管模块根据所述API请求中云厂家标识,获取所述云厂家API接口,并根据所述云厂家API接口申请和创建云盘。

7.根据权利要求6所述的混合云盘申请方法,其特征在于,所述容器云服务模块管理的kubernetes集获取云盘申请请求,包括:

接收用户终端发送的初始云盘申请请求;

所述容器云服务模块管理的kubernetes集根据所述初始云盘申请请求定义持久化卷声明,并生成云盘申请请求;其中,所述持久化卷声明用于描述所述初始云盘申请请求中要申请的云盘。

8.一种数据存储方法,其特征在于,所述方法包括:

向运行在kubernetes集中的容器组输入持久化卷声明,生成数据存储请求;所述kubernetes集运行在每个所述云厂家的Kubernetes容器服务模块;

混合云SCI插件监控到所述容器云服务模块的数据存储请求,并根据所述数据存储请求调用混合云管模块API接口,通过所述混合云管模块API接口将云盘挂载于所述数据存储请求中云厂家标识对应的Iaas服务模块;

kubernetes集控制所述容器组运行在所述Iaas服务模块;

所述混合云SCI插件通过所述混合云管模块API接口将云盘挂载于所述容器组内部,并通过所述容器组写入所述数据存储请求中的数据到所述云盘。

9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求6至7中任一项所述的方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求6至7中任一项所述的方法的步骤。

说明书
技术领域

本申请涉及数据云存储技术领域,特别是涉及一种混合云系统、混合云盘申请方法和数据存储方法。

随着云计算的发展,越来越多的用户使用云盘来存储数据,通过云盘在任何终端只需要登录就可以数据的存储和读取,提高了数据存取的便利性。现有各种各样的云厂家开发云端服务,通过登录各个云厂家账号登录来实现在对应云厂家的数据的存取。在各个云厂家实现数据的云端存储过程中,都需要使用容器云服务管理的kubernetes集来定义云盘申请数据;kubernetes集的创建方式包括:容器云服务直接调各个云厂家的IAAS层服务创建kubernetes集,或者是直接调用各个云厂家的创建kubernetes集接口达到创建管理kubernetes集的目录,或是调用混合云管的接口申请资源创建kubernetes集。其中,Kubernetes是个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署、规划、更新、维护的一种机制。各个云厂家提供各自的CSI插件来保证kubernetes正常创建存储;其中,CSI插件为容器存储接口,通过kubernetes引入,方便各个云厂家对接kubernetes,把kubernetes运行在各个云服务商。

然而,现有每个云厂家提供的CSI插件的参数是不一样的,在进行kubernetes集创建时,容器云服务需要知道各个云厂家的CSI插件以及用法,导致kubernetes集创建的效率低,导致混合云存储的开发难度大。

基于此,有必要针对上述技术问题,提供一种能够降低混合云存储开发难度的混合云系统、混合云盘申请方法和数据存储方法。

一种混合云系统,所述系统包括:

Kubernetes容器服务模块,用于管理kubernetes集获取云盘申请请求;

混合云SCI插件,用于根据所述云盘申请请求,向混合云管模块发送API请求;

混合云管模块,用于根据所述API请求中云厂家标识,获取所述云厂家API接口,并根据所述云厂家API接口申请和创建云盘。

在其中一个实施例中,所述混合云系统,还包括:多个云厂家的Iaas服务模块,用于提供管理云资源;所述混合云管模块,还用于向所述Iaas服务模块申请释放管理云资源;容器云服务模块,用于向所述混合云管模块申请所述管理云资源,所述管理云资源用于创建kubernetes集,所述kubernetes集运行在每个所述云厂家的Kubernetes容器服务模块,所述kubernetes集通过所述Kubernetes容器服务模块管理。

在其中一个实施例中,所述混合云CSI插件,通过调用所述混合云管模块的接口,实现对云盘的创建、挂载和删除。

在其中一个实施例中,所述混合云管模块用于对多个云厂家的云资源进行管理,向用户终端提供统一的API接口。

在其中一个实施例中,所述容器云服务模块,还用于删除所述kubernetes集。

一种混合云盘申请方法,所述方法包括:

容器云服务模块管理的kubernetes集获取云盘申请请求;

混合云SCI插件监控到所述容器云服务模块的云盘申请请求,并根据所述云盘申请请求,向混合云管模块发送API请求;

所述混合云管模块根据所述API请求中云厂家标识,获取所述云厂家API接口,并根据所述云厂家API接口申请和创建云盘。

在其中一个实施例中,所述容器云服务模块管理的kubernetes集获取云盘申请请求,包括:接收用户终端发送的初始云盘申请请求;所述容器云服务模块管理的kubernetes集根据所述初始云盘申请请求定义持久化卷声明,并生成云盘申请请求;其中,所述持久化卷声明用于描述所述初始云盘申请请求中要申请的云盘。

一种数据存储方法,所述方法包括:

向运行在kubernetes集中的容器组输入持久化卷声明,生成数据存储请求;所述kubernetes集运行在每个所述云厂家的Kubernetes容器服务模块;

混合云SCI插件监控到所述容器云服务模块的数据存储请求,并根据所述数据存储请求调用混合云管模块API接口,通过所述混合云管模块API接口将云盘挂载于所述数据存储请求中云厂家标识对应的Iaas服务模块;

kubernetes集控制所述容器组运行在所述Iaas服务模块;

所述混合云SCI插件通过所述混合云管模块API接口将云盘挂载于所述容器组内部,并通过所述容器组写入所述数据存储请求中的数据到所述云盘。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

容器云服务模块管理的kubernetes集获取云盘申请请求;

混合云SCI插件监控到所述容器云服务模块的云盘申请请求,并根据所述云盘申请请求,向混合云管模块发送API请求;

所述混合云管模块根据所述API请求中云厂家标识,获取所述云厂家API接口,并根据所述云厂家API接口申请和创建云盘。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

容器云服务模块管理的kubernetes集获取云盘申请请求;

混合云SCI插件监控到所述容器云服务模块的云盘申请请求,并根据所述云盘申请请求,向混合云管模块发送API请求;

所述混合云管模块根据所述API请求中云厂家标识,获取所述云厂家API接口,并根据所述云厂家API接口申请和创建云盘。

上述混合云系统、混合云盘申请方法和数据存储方法,通过混合云SCI插件向混合云管模块发送API请求,来申请各个云厂家的API接口创建云盘,混合云SCI插件能够屏蔽各个云厂家API接口的不同,对用户提供统一的API接口,来实现混合云存储,混合云SCI插件能够安装在任何云厂家的kubernetes集上,在进行混合云系统开发时,只需要开发一个混合云SCI插件,就能使用所有云厂家的云盘服务,提高了系统的开发效率。

图1为现有混合云系统的结构示意图;

图2为一个实施例中混合云系统的机构示意图;

图3为一个实施例中混合云盘申请方法的流程示意图;

图4为一个实施例中数据存储方法的流程示意图

图5为一个实施例中计算机设备的内部结构图。

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

如图1所示,提供了现有技术中混合云系统的结构示意图,在目前的混合云系统,在各个云厂家实现数据的云端存储过程中,基本上是直接调各个云厂家的IAAS层服务创建kubernetes集,或者是直接调用各个云厂家的创建kubernetes集接口达到创建管理kubernetes集的目录,或是调用混合运管的接口申请资源创建集。而对于CSI插件,各个云厂家提供自己的CSI插件来保证kubernetes的正常创建。而且每个云厂家的CSI插件的参数是不一样的,混合云系统在安装kubernetes集的时候需要知道各个云厂家的CSI插件以及用法,而且有些云厂家并未对外提供CSI插件,需要混合云系统自己开发。

在其中一个实施例中,Kubernetes是个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署、规划、更新和维护的一种机制;CSI插件为容器存储接口,通过kubernetes引入的标准的容器存储接口,方便各个云厂家对接kubernetes,把kubernetes运行再各个云服务商;混合云管(混合云管模块)负责统一管理各个云厂家的各种云服务,包括创建虚拟机、创建网络、创建云盘等;容器云服务(容器云服务模块)基于混合云管可以在各个云厂家创建、管理、删除kubernetes集,容器云服务提供kubernetes集的统一生命周期管理。

在一个实施例中,如图2所示,提供了一种混合云系统,包括:Kubernetes容器服务模块,用于管理kubernetes集获取云盘申请请求;混合云SCI插件,用于根据所述云盘申请请求,向混合云管模块发送API请求;混合云管模块,用于根据所述API请求中云厂家标识,获取所述云厂家API接口,并根据所述云厂家API接口申请和创建云盘。

其中,用户终端通过Kubernetes容器服务模块向kubernetes集发送云盘申请请求,云盘申请请求中包括云厂家标识、云盘大小等。混合云SCI插件在监控到kubernetes集中的云盘申请请求后,向混合云管申请API接口,用于创建云盘。在图2中,Kubernetes容器服务模块、混合云管模块省略了模块二字。

上述混合云系统中,通过混合云SCI插件向混合云管模块发送API请求,来申请各个云厂家的API接口创建云盘,混合云SCI插件能够屏蔽各个云厂家API接口的不同,对用户提供统一的API接口,来实现混合云存储,混合云SCI插件能够安装在任何云厂家的kubernetes集上,在进行混合云系统开发时,只需要开发一个混合云SCI插件,就能使用所有云厂家的云盘服务,提高了系统的开发效率。

在其中一个实施例中,所述混合云系统,还包括:多个云厂家的Iaas服务模块,用于提供管理云资源;所述混合云管模块,还用于向所述Iaas服务模块申请释放管理云资源;容器云服务模块,用于向所述混合云管模块申请所述管理云资源,所述管理云资源用于创建kubernetes集,所述kubernetes集运行在每个所述云厂家的Kubernetes容器服务模块,所述kubernetes集通过所述Kubernetes容器服务模块管理。

其中,Iaas(Infrastructure as a Service)服务模块为基础设施服务模块。在图2中,Iaas服务模块、混合云管模块、容器云服务模块、Kubernetes容器服务模块省略了模块二字。

在其中一个实施例中,所述混合云CSI插件,通过调用所述混合云管模块的接口,实现对云盘的创建、挂载和删除。

在其中一个实施例中,所述混合云管模块用于对多个云厂家的云资源进行管理,向用户终端提供统一的API接口。

在其中一个实施例中,所述容器云服务模块,还用于删除所述kubernetes集。

在一个实施例中,如图3所示,提供了一种混合云盘申请方法,所述方法包括:

S310,容器云服务模块管理的kubernetes集获取云盘申请请求。

S320,混合云SCI插件监控到所述容器云服务模块的云盘申请请求,并根据所述云盘申请请求,向混合云管模块发送API请求。

S330,所述混合云管模块根据所述API请求中云厂家标识,获取所述云厂家API接口,并根据所述云厂家API接口申请和创建云盘。

在其中一个实施例中,所述容器云服务模块管理的kubernetes集获取云盘申请请求,包括:接收用户终端发送的初始云盘申请请求;所述容器云服务模块管理的kubernetes集根据所述初始云盘申请请求定义持久化卷声明,并生成云盘申请请求;其中,所述持久化卷声明用于描述所述初始云盘申请请求中要申请的云盘。其中,用户终端包括手机终端、电脑终端等。

在一个实施例中,如图4所示,提供了一种数据存储方法,其特征在于,所述方法包括:

S410,向运行在kubernetes集中的容器组输入持久化卷声明,生成数据存储请求;所述kubernetes集运行在每个所述云厂家的Kubernetes容器服务模块。

S420,混合云SCI插件监控到所述容器云服务模块的数据存储请求,并根据所述数据存储请求调用混合云管模块API接口,通过所述混合云管模块API接口将云盘挂载于所述数据存储请求中云厂家标识对应的Iaas服务模块;

S430,kubernetes集控制所述容器组运行在所述Iaas服务模块;

S440,所述混合云SCI插件通过所述混合云管模块API接口将云盘挂载于所述容器组内部,并通过所述容器组写入所述数据存储请求中的数据到所述云盘。

其中,容器组(POD)为运行在kubernetes中的容器实例,用户可以编写自己的程序,容器化后在Kubernetes中运行。持久化卷声明(PVC)是用户存储的一种声明,持久化卷声明消耗的是持久化卷(PV)资源,持久化卷声明可以请求特定的存储空间和访问模式;对于真正使用存储的用户不需要关心底层的存储实现细节,只需要直接使用持久化卷声明即可。

应该理解的是,虽然图3-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3-4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

关于混合云盘申请方法、数据存储方法的具体限定可以参见上文中对于混合云系统的限定,在此不再赘述。上述混合云系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种混合云盘申请方法或数据存储方法。

本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

本文发布于:2024-09-24 18:18:08,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/85552.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议