应用SDN的混合云管理系统及方法与流程

文档序号:14574541发布日期:2018-06-02 01:10阅读:221来源:国知局
应用SDN的混合云管理系统及方法与流程

本发明涉及云计算技术领域,具体地,涉及一种应用SDN的混合云管理系统及方法。



背景技术:

软件定义网络SDN(Software Defined Network),是网络虚拟化的一种实现方式,其核心技术OpenFlow通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,使网络作为管道变得更加智能。这是一种在物理或者虚拟环境下,通过应用程序、网络设备和驱动间紧密交互(如提供服务、消息和警报等),使网络得以优化或简化的构架方式。由SDN控制器实现逻辑上集中的网络控制。SDN控制器主要起到协调的作用,使得应用程序可以与网络设备交互通信,网络设备也可以向应用程序提供数据。控制器通过支持应用的双向编程接口,对外提供抽象化的网络功能和操作。

与传统网络不同的是,SDN要求集中式控制,要求转发和控制分离,要求网络管理员可以直接操作设备的转发行为,不强制使用任何网络协议来控制转发行为。SDN中的软件完全由管理员所在的组织设计,让管理员可以随心所欲地利用软件来规划自己网络中的任意转发行为,所以称为“软件定义网络”。SDN不是一个具体详细的技术,而是一个框架,一个网络设计的理念。它的核心诉求是通过软件控制网络,实现网络业务的自动化编配。SDN的出现彻底改变了传统网络对数据流控制的方式。SDN把每个设备的控制平台从设备中分离,放到一个统一的控制器上,通过统一的指令集中管理所有设备。控制器可以了解所有必需的信息,并提供API被上层的应用程序控制。这样就消除了大量手动配置的过程,增加了网络的灵活性,增加管理员对全网的整体视图,提高业务部署的效率。

在云计算领域,SDN是非常重要的组成部分,但是绝大多数的公有云和私有云系统现阶段并没有完全使用SDN技术来构建网络,商用案例极少。产生这种情况的原因很多,最主要的原因是SDN技术并没有统一的标准,而在云环境中网络环境非常复杂,有各种不同类型的网络设备,因此没有一个统一的SDN控制器可以管理如此繁杂的网络环境,都需要根据实际需要进行开发定制。主流的SDN方案分为两种,一种是基于厂商的SDN方案,如思科的ACI,华为的AC;另外一种是基于开源社区的SDN方案,如OpenDaylight及OpenContrail。这两种方案的主要区别在于厂商的SDN方案会考虑兼容其传统网络设备,因此其都是通过API或者登陆上传统设备改变其配制来实现,一些私有的网络功能可以支持。而开源社区的方案就没有那么多的限制,主推OpenFlow的方案,对于厂商的支持基本都是厂商的南向驱动来对接,不过由于要兼顾各个厂家,因此只能支持共性的功能。在非混合云的情况下,使用SDN来构建云端网络的需求并没有那么迫切,但是在混合云的情况下,网络的自动化编排问题就显得非常重要了,其决定了混合云的上限。随着云计算的逐渐成熟,越来越多的用户开始在各个云堆栈上建立自己的云资源并使用各项云服务,这个趋势越来越明显。现在用户需要向提供服务的各个云提供商单独申请网络资源并独立维护,缺乏统一的安全线路及支持多租户网络并能够灵活编排的云管理平台,申请效率低下,维护非常复杂。另外,很多公有云提供商提供的网络服务缺少API的支持,有些网络功能无法开放,如L2VPN等功能无法提供,不同云堆栈之间的虚拟机迁移等功能也无法实现。在使用混合云的大背景之下,这些问题都需要解决。



技术实现要素:

针对现有技术中的缺陷,本发明的目的是提供一种应用SDN的混合云管理系统及方法,其应用SDN来构建混合云管理系统,可以解决混合云平台无法统一进行网络自动化编排,提高了网络资源的灵活性。

根据本发明的一个方面,提供一种应用SDN的混合云管理系统,其特征在于,包括:

注册认证模块,用于对各种云堆栈进行注册认证并开放相应的权限,通过调用适配驱动模块,把混合云管理系统中的环境与各云堆栈进行映射绑定;

适配驱动模块,用于对接各云堆栈;

服务开通模块,用于统一提供服务;

配置管理模块,用于对不同云堆栈中的资源进行管理配置;通过DevOps工具进行shell命令及脚本推送,根据服务开通模块的需求进行参数修改,并调用适配驱动模块在各云堆栈上进行部署及管理;

对外服务模块,用于提供对外服务,由第三方进行调用并提供服务。

优选地,所述适配驱动模块包括计算资源适配器、存储资源适配器及网络资源适配器,其中网络资源适配器直接管理其他SDN控制器用于管理网络设备或直接管理网络设备;对于没有物理网络设备的堆栈,在开通服务时需要网络资源时,以虚拟机的方式部署虚拟网络设备到云堆栈中并进行管理;计算资源适配器主要管理生成虚拟机或容器,其可以直接管理VMWARE、KVM等虚拟机资源,也可以管理Docker、LXC等容器;存储资源适配器主要直接管理存储控制器以用于管理存储资源或直接生成存储资源,其可以对接管理厂商存储资源如EMC、NetApp资源,也可以管理Ceph等开源存储资源。

本发明还提供一种应用SDN的混合云管理方法,其特征在于,包括以下步骤:

步骤一:用户登录混合云管理平台进行注册认证,并选择需要对接的云堆栈,填写相关的注册认证信息;

步骤二:用户进行各云堆栈的认证及信息同步,在混合云平台中进行环境的配置,把所有的相关信息进行绑定并统一在混合云管理的用户环境下;

步骤三:选择需要部署的服务类型;

步骤四:选择相关的服务要求;

步骤五:如果需要进行个性化设置可以定义脚本文件对服务进行参数的修改;

步骤六:对服务进行部署,平台根据用户选择及自定义参数在选择的云堆栈上进行部署,以不同的方式进行承载,在网络部分选择需要开通的服务,平台会根据用户的选择对相关网络设备进行动态配置,同时平台也会根据用户的选择分配存储资源;

步骤七:如果需要进行个性化设置定义脚本文件对服务进行参数的修改;

步骤八:用户通过管理台对服务进行管理或直接通过服务地址及端口进行访问。

与现有技术相比,本发明具有如下的有益效果:

一,通过使用SDN技术的混合云管理系统在管理所有云堆栈网络资源的时候,可以通过统一的控制器进行管理。既可以通过厂商的SDN控制器管理厂商的网络设备,也可以通过驱动来直接管理网络设备。一旦有新的网络设备需要管理,只需要简单添加该网元既可。

二,运用了SDN技术的混合云管理系统,在提供网络资源服务的时候以自动化编排的方式构建并提供,并通过统一的控制器来进行相关网络设备的部署及参数修改。所有的部署策略、冗余机制、监控信息等都由混合云管理系统通过控制器统一进行管理配置,进行统一生命周期的管理。

三,通过使用SDN技术部署混合云管理系统的网络资源服务时,可以统一在各个接入的云堆栈上建立完全一样的网络资源服务。对于一些公有云堆栈不支持的网络服务,可以通过部署虚拟机的方式在公有云的内部建立自己的虚拟网络服务。通过这种方式可以统一开通各个堆栈之间的VPN、QoS服务等,在提供了各个业务需要的网络服务后,可以灵活的实现虚拟机在各个云堆栈地迁移,灵活地把各个云堆栈作为一个大的网络资源池来进行使用。对于整个混合云环境也可以实时进行监控分析,提供动态的资源管理。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1是本发明混合云管理系统结构示意图。

图2为混合云管理系统结构示意图。

图3是本发明混合云管理方法的流程图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。

本发明应用SDN的混合云管理系统包括:

注册认证模块,用于对各种云堆栈进行注册认证并开放相应的权限,通过调用适配驱动模块,把混合云管理系统中的环境与各云堆栈进行映射绑定,如映射角色、用户、权限等。

适配驱动模块,用于对接各云堆栈。其中包括计算资源适配器、存储资源适配器及网络资源适配器。其中网络资源适配器可以直接管理其他SDN控制器用于管理网络设备,也可以直接管理网络设备。对于没有物理网络设备的堆栈,在开通服务时需要网络资源时,以虚拟机的方式部署虚拟网络设备到云堆栈中并进行管理。

服务开通模块,用于统一提供服务,包括虚拟机服务、存储服务、网络服务,如VPN服务、QoS服务等。

配置管理模块,用于对不同云堆栈中的资源进行管理配置。通过DevOps工具,如Puppet等,进行shell命令及脚本等推送,根据服务开通模块的需求进行参数修改,如网络等各种参数及映射关系,并调用适配驱动模块在各云堆栈上进行部署及管理。

对外服务模块,用于提供对外服务,比如以RESTAPI等方式提供服务,可由第三方进行调用并提供服务。

所述适配驱动模块包括计算资源适配器、存储资源适配器及网络资源适配器,其中网络资源适配器直接管理其他SDN控制器用于管理网络设备或直接管理网络设备;对于没有物理网络设备的堆栈,在开通服务时需要网络资源时,以虚拟机的方式部署虚拟网络设备到云堆栈中并进行管理;计算资源适配器主要管理生成虚拟机或容器,其可以直接管理VMWARE、KVM等虚拟机资源,也可以管理Docker、LXC等容器;存储资源适配器主要直接管理存储控制器以用于管理存储资源或直接生成存储资源,其可以对接管理厂商存储资源如EMC、NetApp资源,也可以管理Ceph等开源存储资源。

本发明应用SDN的混合云管理方法包括以下步骤:

步骤一:用户登录混合云管理平台进行注册认证,并选择需要对接的云堆栈,如VMware、OpenStack等私有云堆栈及Ali、Azure等公有云堆栈。填写相关的注册认证信息,如各堆栈的用户名、密码、认证服务地址等信息;

步骤二:用户进行各云堆栈的认证及信息同步,在混合云平台中进行环境的配置,如角色、用户、权限等的映射关系,把所有的相关信息进行绑定并统一在混合云管理的用户环境下;

步骤三:选择需要部署的服务类型,可以是PaaS服务,也可以是IaaS服务;

步骤四:选择相关的服务要求,如负载均衡服务,数据库服务的类型、数量等相关参数,中间件服务的类型、数量等相关参数,操作系统类型、版本、依赖关系等相关参数;

步骤五:如果需要进行个性化设置可以定义脚本文件对服务进行参数的修改;

步骤六:对服务进行部署,平台根据用户选择及自定义参数在选择的云堆栈上进行部署,以不同的方式进行承载,可以是裸机、虚拟机、容器等。在网络部分选择需要开通的服务,比如VPN服务等,平台会根据用户的选择对相关网络设备进行动态配置。同时平台也会根据用户的选择分配存储资源;

步骤七:如果需要进行个性化设置可以定义脚本文件对服务进行参数的修改;

步骤八:用户可以通过管理台对服务进行管理或直接通过服务地址及端口进行访问。实施举例1:

图1是本发明混合云管理系统结构示意图,整个混合云管理系统主要由两大部分组成。第一部分为混合云管理服务器100,管理服务器是一个集群,可以分布式部署;第二部分为各云堆栈服务器200,这些堆栈有公有云及私有云,这些堆栈可以在本地,也可以在远端或者云端。所述混合云管理服务器100包括有注册认证模块10、适配驱动模块20、服务开通模块30、配置管理模块40、对外服务模块50,其中:所述注册认证模块10,首先用于用户在混合云管理系统中进行注册,并分配相应的权限。另外也用于对各种云堆栈进行注册认证并开放相应的权限,通过调用适配驱动模块20,把混合云管理系统中的环境与各云堆栈进行映射绑定,如映射角色、用户、权限等。所述适配驱动模块20,用于对接各云堆栈。承载各种不同的适配器,如图2所示,从大类上分为计算资源适配器、网络资源适配器及存储资源适配器。用于动态调用不同云堆栈服务器200的开放接口,以统一的方式进行调用。对于网络资源如果没有开放接口,将直接在不同云堆栈服务器200上以虚拟机的方式部署虚拟网络设备提供网络服务。所述配置服务开通模块30,用于统一提供服务,包括虚拟机服务、存储服务、网络服务,如VPN服务、QoS服务等,同时调用适配驱动模块20在各云堆栈服务器200上进行服务开通,如调用位于服务器200上的SDN控制器开通网络服务或直接控制私有云堆栈中的网络设备开通网络服务。所述配置管理模块40,用于对不同云堆栈进行管理配置。通过DevOps工具,如Puppet等,进行shell命令及脚本等推送,部署服务并修改参数,如网络等各种参数及映射关系,并调用适配驱动模块20在各云堆栈服务器200上进行部署及管理。所述对外服务模块50,用于提供对外服务。以RESTAPI等方式提供服务,可由第三方进行调用并提供服务。

实施举例2:

图3是本发明应用SDN的混合云管理方法,其可通过如图1所示的混合云管理系统实现,包括步骤有:

步骤S201,用户登录混合云管理服务器100,在混合云管理系统中进行注册,并分配相应的权限。权限包括用户的组、角色、用户名、密码、联系方式等信息。这部分的内容也可以通过外部同步信息并由用户进行增删改查。步骤S202,用户添加需要对接的云堆栈,填写用户名、密码、服务地址等信息。步骤S203,用户进行各云堆栈的认证及信息同步,混合云管理服务器100使用用户填写云堆栈的相关信息与各云堆栈服务器200进行验证,通过验证后与各云堆栈建立连接,同步相关的信息,如配置模板、资源配额、监控数据等信息,并在混合云管理系统中显示。步骤S204,用户选择是否部署PaaS服务,若是则执行步骤S205,否则执行步骤S209。步骤S205,若用户选择部署PaaS服务,由用户选择相关的服务要求,如负载均衡服务,数据库服务的类型、数量等相关参数,中间件服务的类型、数量等相关参数,操作系统类型、版本、依赖关系等相关参数。步骤S206,用户选择是否需要进行个性化设置,若是则执行步骤S207,否则执行步骤S208。步骤S207,除步骤S205系统所提供的参数之外,用户根据需要使用自定义的脚本文件或者引入代码进行注入。可以使用有Agent的工具如Puppet进行部署,也可以使用无Agent的工具如Ansible进行部署。步骤S208,混合云管理系统对服务进行部署,根据用户的设置修改参数并打包生成最终部署。步骤S209,平台根据用户选择及自定义参数在选择的云堆栈服务器200上进行部署。调用不同的适配器进行相关资源的部署,如网络资源通过调用SDN控制器。在资源层以不同的方式进行承载,可以是裸机、虚拟机、容器等。步骤S210,用户选择是否需要开通网络服务,若是则执行步骤S211,否则执行步骤S215。步骤S211,用户选择开通的网络服务并填写相应的参数,比如需要开通L2VPN服务,QoS服务等。对于VPN服务,需要填写一系列信息,如两端的IP、握手密码等。步骤S212,在用户选择开通服务并填写参数后,系统会自动判别是否在部署堆栈上需要安装虚拟网络设备完成这些服务的开通,若是执行步骤S213,否则执行步骤S214。步骤S213,系统通过网络SDN控制器在云堆栈部署虚拟网络设备,将根据用户的需求部署虚拟机来提供网络服务。步骤S214,根据用户选择的服务及参数配置物理及虚拟网络设备,并开通网络服务。步骤S210,用户通过混合云管理台对服务进行管理或直接通过服务地址及端口进行访问。用户可以得到部署的PaaS或IaaS服务,同时可以开通自己所需的网络服务。

本发明应用SDN来构建混合云管理系统,可以解决混合云平台无法统一进行网络自动化编排,提高了网络资源的灵活性。本发明使用SDN来构建混合云管理平台,提供的网络资源服务以SDN的方式配制并提供,并可以根据业务的情况灵活地部署及修改,可以业务的视角来进行网络资源统一生命周期的管理。本发明通过使用SDN部署混合云管理系统的网络资源,与传统的网络设备进行解耦,构建统一的网络适配层,既可以管理各种类型的SDN控制器,也可以管理各种类型的网络设备。既可以管理物理网络设备,又可以管理虚拟网络设备。作为混合云系统中管理网络的模块,未来可以很方便的扩容。本发明通过使用SDN部署混合云管理系统的网络资源,可以打造混合云环境下多租户网络资源池。对于使用者来说,不管混合云下有多少云堆栈,就网络资源来说,作为一个租户,这些堆栈统一成了一个大的网络资源池。在这种前提下,使用者很方便地类似在一张局域网中使用各项云服务。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1