一种资源管理系统、方法、装置、设备及介质
技术领域
本公开涉及云计算
技术领域
,尤其涉及一种资源管理系统、方法、装置、设备及介质。背景技术
相关技术提供的云架构与云平台叠加规划中,多个租户使用统一的资源提供底层硬件资源,为了保证租户数据的安全性,可以对租户进行隔离,通常采用的是基于虚拟局域网(Virtual Local Area Network,VLAN)的方式进行租户隔离。但是上述方式在资源合理利用以及资源管理的灵活性上不能满足要求。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种资源管理系统、方法、装置、设备及介质。
本公开实施例提供了一种资源管理系统,所述系统包括租户层、容器层、网络管理层、虚拟层和物理资源层,所述租户层中包括多个租户,所述容器层中包括多个业务容器,一个所述租户包括多个业务容器;所述物理资源层包括多个物理机,所述虚拟层中包括多个虚拟机,一个所述物理机对应多个所述虚拟机;
所述网络管理层用于:获取所述虚拟局域网与所述业务容器之间的目标对应关系,一个业务容器对应一个虚拟局域网下的多个虚拟机,一个虚拟局域网对应的多个虚拟机分别分布在不同的物理机上;通过Calico网络以及所述目标对应关系,建立各所述虚拟局域网及其对应的业务容器之间的网络连接。
本公开实施例提供了一种资源管理方法,应用于网络管理层,所述方法包括:
获取虚拟局域网与租户下包括的业务容器之间的目标对应关系,一个业务容器对应一个虚拟局域网下的多个虚拟机,一个虚拟局域网对应的多个虚拟机分别分布在不同的物理机上;
通过Calico网络以及所述目标对应关系,建立各所述虚拟局域网及其对应的业务容器之间的网络连接。
本公开实施例还提供了一种资源管理装置,所述装置配置于网络管理层,包括:
关系获取模块,用于获取虚拟局域网与租户下包括的业务容器之间的目标对应关系,一个业务容器对应一个虚拟局域网下的多个虚拟机,一个虚拟局域网对应的多个虚拟机分别分布在不同的物理机上;
连接模块,用于通过Calico网络以及所述目标对应关系,建立各所述虚拟局域网及其对应的业务容器之间的网络连接。
本公开实施例还提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现如本公开实施例提供的资源管理方法。
本公开实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行如本公开实施例提供的资源管理方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:本公开实施例提供的资源管理系统,包括租户层、容器层、网络管理层、虚拟层和物理资源层,租户层中包括多个租户,容器层中包括多个业务容器,一个租户包括多个业务容器;物理资源层包括多个物理机,虚拟层中包括多个虚拟机,一个物理机对应多个虚拟机;网络管理层用于:获取虚拟局域网与业务容器之间的目标对应关系,一个业务容器对应一个虚拟局域网下的多个虚拟机,一个虚拟局域网对应的多个虚拟机分别分布在不同的物理机上;通过Calico网络以及目标对应关系,建立各虚拟局域网及其对应的业务容器之间的网络连接。由于资源管理系统中在虚拟局域网层面通过Calico网络进行网络连接,在基于虚拟局域网的方式进行租户隔离的基础上,Calico网络可以实现更多一层的协议层和通信层面的隔离,提升了隔离性能和扩展性能,并且在租户层面的基础上划分了多个业务容器,实现业务容器之间的隔离,在保障资源使用独占性基础上,更符合实际业务需求,提升了灵活性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种资源管理系统的结构示意图;
图2为本公开实施例提供的另一种资源管理系统的结构示意图;
图3为本公开实施例提供的一种资源管理方法的流程示意图;
图4为本公开实施例提供的一种资源管理装置的结构示意图;
图5为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
在云平台的资源管理的相关技术中,一种可以为基于集群化的硬件资源做整体的租户逻辑隔离的规划,在这种规划设计中,尤其是中小规模的规划场景里,存在着一定的可用性安全隐患,比如在中小规模环境里,发生某高配置的资源节点宕机后,会存在上层的平台即服务(Platform as a Service,PaaS)的管理节点或者其他节点的可用性降低,如果存在部分计算资源是共用的情况,甚至会导致平台整体不可用;另一种可以为基于硬件资源单独的针对不同的租户进行逻辑隔离,并且使用独立的硬件资源,在这种规划设计中,存在着一定的资源浪费的问题,无法做到云资源相对弹性的特点;再一种可以基于虚拟局域网的方式进行租户隔离。上述方式均在资源合理利用以及资源管理的灵活性上均存在一定缺陷,不能满足需求。
为了解决上述技术问题,本公开实施例提供了一种资源管理系统,下面结合具体的实施例对该资源管理系统进行介绍。
图1为本公开实施例提供的一种资源管理系统的结构示意图,该资源管理系统10可以包括租户层11、容器层12、网络管理层13、虚拟层14和物理资源层15,租户层11中包括多个租户,容器层12中包括多个业务容器,一个租户包括多个业务容器;物理资源层15包括多个物理机,虚拟层14中包括多个虚拟机,一个物理机对应多个虚拟机;
网络管理层13用于:获取虚拟局域网与业务容器之间的目标对应关系,一个业务容器对应一个虚拟局域网下的多个虚拟机,一个虚拟局域网对应的多个虚拟机分别分布在不同的物理机上;通过Calico网络以及目标对应关系,建立各虚拟局域网及其对应的业务容器之间的网络连接。
如图1所示,资源管理系统10中的物理资源层15中可以包括多个物理机,该物理机可以是提供服务的硬件资源。物理资源层包括的物理机的数量在预设数量范围内,由于本公开实施例中针对可以针对中小规模资源的场景,预设数量可以根据实际情况设置,例如预设数量可以为200,仅为示例,而非唯一限定。图中示例性的展示了4个物理机。
虚拟层14中可以包括多个虚拟机,物理资源层15中的每个物理机可以对应多个虚拟机,具体数量可以根据实际情况设定,图中示例性的每个物理机对应8个虚拟机。
租户层11中可以包括多个租户,租户的划分可以根据实际的业务项目进行划分,示例性的,租户可以包括开发租户、生产租户和测试租户等中的至少一个,开发租户中还可以包括预开发租户和正式开发租户。
进一步的,图2为本公开实施例提供的另一种资源管理系统的结构示意图,如图1和图2所示,本方案提供的资源管理系统10中,每个租户下还可以划分多个业务容器,业务容器可以基于业务信息进行划分,也即基于当前所属租户对应的业务项目下的具体业务信息进行划分。示例性的,如图2所示,每个租户下的业务容器可以包括服务注册和发现组件(Eureka)、服务配置(Config)、服务负载均衡(Ribbon)、服务熔断(Hystrix)和服务消费(Feign)等,仅为示例,而非对业务容器的具体限定。
参见图1,资源管理系统10还可以包括云管理平台16,该云管理平台16可以为每个虚拟机分配一个或多个虚拟局域网,并且建立租户包括的业务容器与虚拟局域网之间的对应关系,也即上述目标对应关系。每个业务容器可以对应一个虚拟局域网,一个虚拟局域网对应的多个虚拟机分别分布在不同的物理机上,参见图1,以业务容器11为例,业务容器11对应虚拟局域网1,虚拟局域网1分配的虚拟机1分别分布在物理机1、物理机2、物理机3和物理机4上,其他的业务容器与虚拟局域网、虚拟机、物理机之间的对应关系也类似。
云管理平台16可以从相同配置的物理主机层面切割配置一致的虚拟机,并针对均衡分布的虚拟机资源可以对应到PAAS云管理平台形成租户体系,在保障资源与网络有一定逻辑对应关系的基础上,能够确保规划的虚拟局域网的数量和虚拟机资源尽量保持平衡。上述目标对应关系中每个租户下的业务容器对应的独立的虚拟局域网的虚拟机,底层的虚拟机又分布在不同的物理机上,通过虚拟局域网设置不同租户下的业务容器之间不能通信,实现二层隔离,达到提升信息安全的效果,保障了更加细粒度的计算资源使用的独占性,避免资源争抢,既做到了底层物理资源的虚拟化层的隔离,又规避了资源规划过多导致浪费的问题,保障了可用性。
本公开实施例中的网络管理层13可以针对基于Calico的网络管理机制进行不同租户下业务容器的Overlay的网络策略管控。
其中,Calico是一个纯三层的数据中心网络方案,而且无缝集成Paas云架构,能够提供可控的虚拟机(Virtual Machine,VM)、容器、裸机之间的通信,所有的数据包都是通过路由的形式找到对应的主机和容器的,然后通过边界网关协议(Border GatewayProtocol,BGP)协议来将所有路由同步到所有的机器或数据中心,从而完成整个网络的互联。Overlay在网络技术领域可以是一种网络架构上叠加的虚拟化技术模式,其大体框架是对基础网络不进行大规模修改的条件下,实现应用在网络上的承载,并能与其它网络业务分离,并且以基于IP的基础网络技术为主,也即Overlay技术是在现有的物理网络之上构建一个虚拟网络,上层应用只与虚拟网络相关。
本公开实施例中的网络管理层13可以用于:获取虚拟局域网与业务容器之间的目标对应关系,并通过Calico网络以及目标对应关系,建立各虚拟局域网及其对应的业务容器之间的网络连接。网络管理层13可以采用Calico的IPIP模式,把一个网际互连协议(Internet Protocol,IP)数据包又套在一个IP数据包里,即把IP层封装到IP层的一个通道(tunnel),它的作用其实基本上就相当于一个基于IP层的网桥,一般来说,普通的网桥是基于mac层的,根本不需要IP,而IPIP则是通过两端的路由做一个tunnel,把两个本来不通的网络通过点对点连接起来,也即根据目标对应关系将虚拟局域网与其对应的业务容器建立网络连接关系。并且,Calico以IPIP模式部署完毕后,节点上会有一个包括隧道接口(tunl)的网卡设备,用于进行隧道封装,是一种overlay模式的网络。
上述方案中,底层环境将基于虚拟局域网的方式进行隔离,并且通过在虚拟机层面部署Calico网络模型,通过Calico网络进一步实现了环境网络隔离,对Kubernets的PAAS云原生平台将以全局共享形式部署,租户下的业务容器可以绑定不同的虚机资源,可将物理资源做到极致的资源利用以及极致的高可用规划。本公开实施例提供的资源管理系统在规划PAAS云原生平台的资源情况下,尤其针对中小环境,能更加对PAAS云平台进行高效、规范的规划管理,并能让各个租户下业务容器的资源的可用性保障也相对提高。
本公开实施例提供的资源管理系统,包括租户层、容器层、网络管理层、虚拟层和物理资源层,租户层中包括多个租户,容器层中包括多个业务容器,一个租户包括多个业务容器;物理资源层包括多个物理机,虚拟层中包括多个虚拟机,一个物理机对应多个虚拟机;网络管理层用于:获取虚拟局域网与业务容器之间的目标对应关系,一个业务容器对应一个虚拟局域网下的多个虚拟机,一个虚拟局域网对应的多个虚拟机分别分布在不同的物理机上;通过Calico网络以及目标对应关系,建立各虚拟局域网及其对应的业务容器之间的网络连接。由于资源管理系统中在虚拟局域网层面通过Calico网络进行网络连接,在基于虚拟局域网的方式进行租户隔离的基础上,Calico网络可以实现更多一层的协议层和通信层面的隔离,提升了隔离性能和扩展性能,并且在租户层面的基础上划分了多个业务容器,实现业务容器之间的隔离,在保障资源使用独占性基础上,更符合实际业务需求,提升了灵活性。
图3为本公开实施例提供的一种资源管理方法的流程示意图,该方法可以由资源管理装置执行,其中该装置可以采用软件和/或硬件实现,一般可集成在电子设备中。如图3所示,该方法应用于网络管理层,包括:
步骤301、获取虚拟局域网与租户下包括的业务容器之间的目标对应关系。
其中,虚拟局域网(Virtual Local Area Network,VLAN)是一种将局域网(LocalArea Network,LAN)设备从逻辑上划分成一个个网段或者说是更小的局域网,从而实现虚拟工作组(单元)的数据交换技术。虚拟局域网主要应用于交换机和路由器中,但不是所有交换机都具有此功能,只有三层以上交换机才具有此功能。本方案中的网络管理层可以包括虚拟交换机,用于在Underly网络的基础上采用Overlay技术构建虚拟网络,并且对虚拟网络划分不同的虚拟局域网。
Overlay技术是在现有的物理网络之上构建一个虚拟网络,上层应用只与虚拟网络相关。Underlay可以是一个分布式网络,没有中心的控制节点,网路中的各个设备之间通过协议传递的方式学习网络的可达信息,由每台设备自己决定要如何转发,不能从整个网络的角度对流量进行调控。
本公开实施例中的租户的数量可以为多个,属于多租户体系,多租户体系是在探讨与实现如何于多用户的环境下共用相同的系统、程序组件或资源,并且仍可确保各用户之间数据的隔离性。租户的划分可以根据实际的业务项目进行划分,示例性的,租户可以包括开发租户、生产租户和测试租户等中的至少一个,开发租户中还可以包括预开发租户和正式开发租户。进一步的,每个租户下还可以划分多个业务容器,业务容器可以基于业务信息进行划分,也即基于当前所属租户对应的业务项目下的具体业务信息进行划分。示例性的,如图2所示,每个租户下的业务容器可以包括服务注册和发现组件(Eureka)、服务配置(Config)、服务负载均衡(Ribbon)、服务熔断(Hystrix)和服务消费(Feign)等,仅为示例,而非作为业务容器的具体限定。
目标对应关系是指虚拟局域网与业务容器之间的绑定关系,其中,一个业务容器对应一个虚拟局域网下的多个虚拟机,一个虚拟局域网对应的多个虚拟机分别分布在不同的物理机上。具体地,网络管理层可以获取预先建立的虚拟局域网与租户下包括的业务容器之间的目标对应关系。
步骤302、通过Calico网络以及目标对应关系,建立各虚拟局域网及其对应的业务容器之间的网络连接。
其中,Calico是一个纯三层的数据中心网络方案,而且无缝集成Paas云架构,能够提供可控的虚拟机(Virtual Machine,VM)、容器、裸机之间的通信,所有的数据包都是通过路由的形式找到对应的主机和容器的,然后通过边界网关协议(Border GatewayProtocol,BGP)协议来将所有路由同步到所有的机器或数据中心,从而完成整个网络的互联。
本公开实施例中,通过Calico网络以及目标对应关系,建立各虚拟局域网及其对应的业务容器之间的网络连接,可以包括:基于Calico网络的IPIP模式以及目标对应关系,建立各虚拟局域网及其对应的业务容器之间的网络连接。网络管理层可以采用Calico的IPIP模式,把一个IP数据包又套在一个IP数据包里,即把IP层封装到IP层的一个通道(tunnel),它的作用其实基本上就相当于一个基于IP层的网桥,通过两端的路由做一个tunnel,把两个本来不通的网络通过点对点连接起来,也即根据目标对应关系将虚拟局域网与其对应的业务容器建立网络连接关系。并且,Calico以IPIP模式部署完毕后,节点上会有一个包括隧道接口(tunl)的网卡设备,用于进行隧道封装,是一种overlay模式的网络。
在一些实施例中,资源管理方法还可以包括:基于Calico网络建立第一虚拟局域网和第二虚拟局域网之间的网络连接。
其中,第一虚拟局域网和第二虚拟局域网分别为上述资源管理系统中的任意两个需要建立通信的虚拟局域网,具体不限。本方案中,网络管理层采用Calico网络可以在第一虚拟局域网对应的业务容器需要和第二虚拟局域网对应的业务容器进行通信时,建立第一虚拟局域网和第二虚拟局域网之间的网络连接,实现对应的两个业务容器之间的通信。上述采用Calico网络进行网络策略管理,不仅可以实现虚拟局域网层面和环境网络层面的管理,并且在需要的时候还可以灵活地建立通信,提升了网络管理和资源管理的灵活性,并且扩展性也得到提升。
本公开实施例提供的资源管理方法,在上述资源管理系统的基础上,解决了云管理平台在多租户资源层面规划不合理的问题,通过从资源及网络层面的规范设计,并在各个租户下业务容器的资源的可用性保障相对提高的基础上,提升了隔离性能和扩展性能,进而提升平台的价值。本方案解决了多种网络、基础资源、租户管理、策略管理的对场景可用性、集约化管理的要求,可以应用在多种复杂的业务需求场景。
本公开实施例提供的资源管理方法,资源管理系统中的网络管理层可以获取虚拟局域网与租户下包括的业务容器之间的目标对应关系,通过Calico网络以及目标对应关系,建立各虚拟局域网及其对应的业务容器之间的网络连接。由于网络管理层在虚拟局域网层面通过Calico网络进行网络连接,在基于虚拟局域网的方式进行租户隔离的基础上,Calico网络可以实现更多一层的协议层和通信层面的隔离,提升了隔离性能和扩展性能,并且在租户层面的基础上划分了多个业务容器,实现业务容器之间的隔离,在保障资源使用独占性基础上,更符合实际业务需求,提升了灵活性。
图4为本公开实施例提供的一种资源管理装置的结构示意图,该装置可由软件和/或硬件实现,一般可集成在电子设备中。如图4所示,该装置配置于网络管理层,包括:
关系获取模块401,用于获取虚拟局域网与租户下包括的业务容器之间的目标对应关系,一个业务容器对应一个虚拟局域网下的多个虚拟机,一个虚拟局域网对应的多个虚拟机分别分布在不同的物理机上;
连接模块402,用于通过Calico网络以及所述目标对应关系,建立各所述虚拟局域网及其对应的业务容器之间的网络连接。
可选的,所述连接模块402具体用于:
基于Calico网络的IPIP模式以及所述目标对应关系,建立各所述虚拟局域网及其对应的业务容器之间的网络连接。
可选的,所述装置还包括网络管理模块,用于:
基于Calico网络建立第一虚拟局域网和第二虚拟局域网之间的网络连接。
本公开实施例所提供的资源管理装置可执行本公开任意实施例所提供的资源管理方法,具备执行方法相应的功能模块和有益效果。
图5为本公开实施例提供的一种电子设备的结构示意图。如图5所示,电子设备500包括一个或多个处理器501和存储器502。
处理器501可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备500中的其他组件以执行期望的功能。
存储器502可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器501可以运行所述程序指令,以实现上文所述的本公开的实施例的资源管理方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备500还可以包括:输入装置503和输出装置504,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
此外,该输入装置503还可以包括例如键盘、鼠标等等。
该输出装置504可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置504可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图5中仅示出了该电子设备500中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备500还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本公开实施例所提供的资源管理方法。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本公开实施例所提供的资源管理方法。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。