集群通信网络的创建方法、装置、电子设备及存储介质与流程
未命名
07-27
阅读:91
评论:0
1.本技术涉及互联网技术领域:
:,尤其涉及一种集群通信网络的创建方法、装置、电子设备及存储介质。
背景技术:
::2.越来越多的企业和组织采用通过本地云+公有云的混合云架构,该架构在结合公有云的优势和本地云好处的同时,也增加了系统的复杂性,尤其是不同云、不同数据中心、k8s集群之间的网络互通的复杂性。3.现有技术中,不同云或数据中心的k8s集群创建时,很难对多个k8s集群的无类域间路由网络地址进行统一分配和规划,无论是之前组织内部的存量k8s集群,还是组织外部的k8s集群,通常都会存在无类域间路由网络地址重叠冲突的情况,导致集群间不能进行网络互通的问题。技术实现要素:4.有鉴于此,本技术提供了一种集群通信网络的创建方法、装置、电子设备及存储介质,以解决现有技术中不同集群通常都会存在无类域间路由网络地址重叠冲突的情况,导致集群间不能进行网络互通的问题。5.为实现上述目的,本技术提供如下技术方案:6.本技术第一方面公开了一种集群通信网络的创建方法,应用于第一集群,所述第一集群为需要互联的多个集群中的任意一个,其中,所述集群通信网络的创建方法,包括:7.创建集群之间的通信隧道;8.获取全局无类域间路由网络地址段,其中,所述全局无类域间路由网络地址段具备唯一性;9.基于所述全局无类域间路由网络地址段,分配全局ip,其中,所述全局ip包括全局出口ip和全局入口ip;10.配置所述全局ip对应的路由和防火墙规则。11.可选的,上述的方法,所述获取全局无类域间路由网络地址段,包括:12.通过预设的管理集群获取所述全局无类域间路由网络地址段。13.可选的,上述的方法,所述基于所述全局无类域间路由网络地址段,分配全局ip之后,还包括:14.基于所述全局无类域间路由网络地址段,创建全局ip资源池;15.基于所述全局ip资源池,分配所述全局出口ip和所述全局入口ip。16.可选的,上述的方法,所述基于所述全局无类域间路由网络地址段,分配全局ip之后,还包括:17.创建本地ip与所述全局ip的映射表,并保存到数据库。18.本技术第二方面公开了一种集群通信网络的创建装置,应用于第一集群,所述第一集群为需要互联的多个集群中的任意一个,其中,所述集群通信网络的创建装置,包括:19.第一创建单元,用于创建集群之间的通信隧道;20.获取单元,用于获取全局无类域间路由网络地址段,其中,所述全局无类域间路由网络地址段具备唯一性;21.第一分配单元,用于基于所述全局无类域间路由网络地址段,分配全局ip,其中,所述全局ip包括全局出口ip和全局入口ip;22.配置单元,用于配置所述全局ip对应的路由和防火墙规则。23.可选的,上述的装置,所述获取单元,包括:24.获取子单元,用于通过预设的管理集群获取所述全局无类域间路由网络地址段。25.可选的,上述的装置,还包括:26.第二创建单元,用于基于所述全局无类域间路由网络地址段,创建全局ip资源池;27.第二分配单元,用于基于所述全局ip资源池,分配所述全局出口ip和所述全局入口ip。28.可选的,上述的装置,还包括:29.第三创建单元,用于创建本地ip与所述全局ip的映射表,并保存到数据库。30.本技术第三方面公开了一种电子设备,包括:31.一个或多个处理器;32.存储装置,其上存储有一个或多个程序;33.当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如本技术第一方面中任意一项所述的方法。34.本技术第四方面公开了一种计算机存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如本技术第一方面中任意一项所述的方法。35.从上述技术方案可以看出,本技术提供的集群通信网络的创建方法中,首先创建集群之间的通信隧道。然后获取全局无类域间路由网络地址段,其中,全局无类域间路由网络地址段具备唯一性。接着基于全局无类域间路由网络地址段,分配全局ip,其中,全局ip包括全局出口ip和全局入口ip。最后配置全局ip对应的路由和防火墙规则。由此可知,利用本技术的方法,通过创建一个集群间通信的虚拟全局网络,使集群获取一个全局唯一的全局无类域间路由网络地址段,并进行全局出口ip和全局入口ip的分配以及配置路由和防火墙规则,实现跨集群的网络数据通信。解决了现有技术中不同集群通常都会存在无类域间路由网络地址重叠冲突的情况,导致集群间不能进行网络互通的问题。附图说明36.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。37.图1为为本技术实施例公开的一种集群通信网络的创建方法的流程图;38.图2为本技术另一实施例公开的一种多k8s集群的网络通信系统的示意图;39.图3为本技术另一实施例公开的不同集群间通信的示意图;40.图4为本技术另一实施例公开的一种集群通信网络的创建装置的示意图;41.图5为本技术另一实施例公开的一种电子设备的示意图。具体实施方式42.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。43.在本技术中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。44.并且,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。45.由
背景技术:
:可知,现有技术中,不同云或数据中心的k8s集群创建时,很难对多个k8s集群的无类域间路由网络地址进行统一分配和规划,无论是之前组织内部的存量k8s集群,还是组织外部的k8s集群,通常都会存在无类域间路由网络地址重叠冲突的情况,导致集群间不能进行网络互通的问题。46.鉴于此,本技术提供了一种集群通信网络的创建方法、装置、电子设备及存储介质,以解决现有技术中不同集群通常都会存在无类域间路由网络地址重叠冲突的情况,导致集群间不能进行网络互通的问题。47.本技术实施例提供了一种集群通信网络的创建方法,应用于第一集群,所述第一集群为需要互联的多个集群中的任意一个,其中,所述集群通信网络的创建方法,如图1所示,具体包括:48.s101、创建集群之间的通信隧道。49.需要说明的是,通过部署在集群上的gateway组件(网关组件,以独立进程或者容器组的方式部署在集群之中,用于跨集群的流量转发,所有跨集群的网络通信请求都会通过该组件,类似于通信桥梁的作用)创建与其他需要网络互联的各个集群之间的通信隧道,集群可以两个或者两个以上。本实施例以两个k8s(kubernetes,开源容器编排系统)集群为例,如第一集群和第二集群,分别通过部署在两个集群上的gateway组件,创建需要实现互联通信的两个集群之间的ipsec(internetprotocolsecurity,互联网安全协议)专用通信隧道。其中,每个k8s集群内部的节点通过routeagent(路由代理)和gateway组件之间建立vxlan(一种虚拟化网络技术,用于在物理网络之上构建虚拟网络)网络链路,用于集群内部节点之间的通信。50.s102、获取全局无类域间路由网络地址段,其中,全局无类域间路由网络地址段具备唯一性。51.需要说明的是,在创建各个集群之间的通信隧道之后,第一集群则检查各个全局无类域间路由网络地址段的占用情况,从中获取到当前集群的一个不重叠且唯一的全局无类域间路由网络地址段。52.可选的,在本技术的另一实施例中,步骤s102的一种实施方式,可以包括:53.通过预设的管理集群获取全局无类域间路由网络地址段。54.需要说明的是,预先设置一个管理集群,这个管理集群可以是创建的一个独立的集群,也可以由上述实施例中的任意一个集群充当。在需要获取全局无类域间路由网络地址段时,首先向管理集群发起注册请求,管理集群在收到注册请求后,由管理集群给发起请求的集群分配一个不重叠且唯一的全局无类域间路由网络地址段(globalcidr)。55.s103、基于全局无类域间路由网络地址段,分配全局ip,其中,全局ip包括全局出口ip和全局入口ip。56.需要说明的是,获取到全局无类域间路由网络地址段,第一集群对全局无类域间路由网络地址段进行本地记录,并基于全局无类域间路由网络地址段,通过集群中的ip地址管理器,确定全局无类域间路由网络地址所约束的ip地址范围,从ip地址范围中分配一些全局唯一的全局ip(globalip)作为全局出口ip(globalegressip),用于集群的出口流量;以及分配一些全局唯一的globalip作为全局入口ip(globalingressip)。57.可选的,在本技术的另一实施例中,步骤s103的一种实施方式,可以包括:58.基于全局无类域间路由网络地址段,创建全局ip资源池。59.基于全局ip资源池,分配全局出口ip和全局入口ip。60.需要说明的是,集群中的ip地址管理器基于全局无类域间路由网络地址段,创建一系列的全局ip资源池。然后基于全局ip资源池,从全局ip资源池中分配集群的全局出口ip和全局入口ip,即分配globalip给集群内部所有的ingress(k8s中的一种资源对象,用于描述是对集群中服务访问外部网络的入口进行管理的api对象)和egress(k8s中的一种资源对象,用于描述是对集群中服务访问外部网络的出口进行管理的api对象)。同时ip地址管理器也负责ip资源的回收工作。61.可选的,在本技术的另一实施例中,在执行步骤s103之后,还可以包括:62.创建本地ip与全局ip的映射表,并保存到数据库。63.需要说明的是,集群的ip地址管理器内部可以维护一张本地ip地址到全局ip地址的映射表,例如,以ingressip地址作为键值,对应的globalip作为值。64.s104、配置全局ip对应的路由和防火墙规则。65.需要说明的是,在分配集群的全局ip之后,通过集群的全局网络控制器(globalnetworkcontroller)为这些全局ip配置上对应的路由和防火墙(iptables)规则,实现入口流量和出口流量网络包的nat网络地址转换和流量转发。主要包括创建初始的防火墙链表、为每个全局出口ip创建snat(源地址转换)规则,用于将源流量的pod(容器组)ip地址转换成全局出口ip,为每个全局入口ip的流量创建dnat(destinationnetworkaddresstranslation,目的地址转换)规则,用于将全局入口ip的地址转换成真实的目标podip地址。最后,通过这些规则实现真实的流量转发规则,实现来自跨集群的网络数据通信。66.本技术实施例提供的集群通信网络的创建方法中,首先创建集群之间的通信隧道。然后获取全局无类域间路由网络地址段,其中,全局无类域间路由网络地址段具备唯一性。接着基于全局无类域间路由网络地址段,分配全局ip,其中,全局ip包括全局出口ip和全局入口ip。最后配置全局ip对应的路由和防火墙规则。由此可知,利用本技术的方法,通过创建一个集群间通信的虚拟全局网络,使集群获取一个全局唯一的全局无类域间路由网络地址段,并进行全局出口ip和全局入口ip的分配以及配置路由和防火墙规则,实现跨集群的网络数据通信。解决了现有技术中不同集群通常都会存在无类域间路由网络地址重叠冲突的情况,导致集群间不能进行网络互通的问题。67.本技术另一实施例中提供了一种多k8s集群的网络通信系统的示意图,如图2所示,其中集群一和集群二可以处于不同的数据中心,两个集群可以通过公共网络实现互信的双向数据通信。68.每个集群都部署了gateway组件,gateway组件通过建立ipsec隧道,为两个集群之间创建ipsec专用通信隧道。每个k8s集群内部的节点通过routeagent和gateway组件之间建立vxlan网络链路,用于集群内部节点之间的通信。集群内部节点的与外部集群通信的网络流量数据通过内部的vxlan网络,最终都会通过gateway组件进行转发。其中,集群一的全局无类别域间路由为242.0.1.0/24,容器组无类别域间路由为10.0.0.0/16,服务无类别域间路由为172.11.0.0/16。集群二的全局无类别域间路由为242.0.2.0/24,容器组无类别域间路由为10.0.0.0/16,服务无类别域间路由为172.11.0.0/16。69.然后,每个集群都有一个虚拟全局ip管理器ipaddressmanager,用于全局globalip的分配等。ipaddressmanager负责根据分配的集群globalcidr创建一系列的全局globalip资源池。从资源池中分配globalip给集群内部所有的ingress和egress资源,并负责ip资源的回收工作。70.每个集群的全局网络控制器globalnetworkcontroller为这些全局globalip配置上对应的路由和iptables规则。实现入口流量和出口流量网络包的nat网络地址转换和流量转发。主要包括创建初始的iptables链表、为每个globalegressip创建snat规则用于将源流量的podip地址转换成全局的globalip,为每个globalingressip的流量创建dnat规则用于将globalingressip的地址转换成真实的目标podip地址。最后,通过这些规则实现真实的流量转发规则,实现来自跨集群的网络数据通信。71.为方便理解,本技术的另一实施例中假设存在两个集群,集群一和集群二,如图3所示。其中,集群一的内部podcidr的范围10.0.0.0/24,存在两个pod:pod1和pod2,其中pod1的ip是10.0.0.1,pod2的ip是10.0.0.2。集群二的内部podcidr的范围也是10.0.0.0/24,内部也存在两个pod:pod1’和pod2’,其中pod1’的ip是10.0.0.1,pod2’的ip是10.0.0.2。因为集群一和集群二的内部cidr地址空间存在重叠,此时集群一中的pod1想要访问集群二中的pod2’是无法通过10.0.0.2进行直接访问的。72.而利用本技术的方法,通过创建一个集群通信网络,分配globalcidr242.0.1.0/24给集群一,分配globalcidr242.0.2.0/24给集群二。同时分配globalip242.0.1.1给集群一的pod1,分配globalip242.0.2.2给pod2’。通过全局网络控制器globalnetworkcontroller为这些全局globalip配置上对应的路由和iptables规则。这样,集群一中的pod1可以通过虚拟globalip242.0.1.1作为源地址,globalip242.0.2.2作为目标地址进行访问集群二的pod2’。源地址的snat转换和目标地址的dnat转换分别发生在各自集群的内部。73.在本技术的另一实施例中还提供了一种集群通信网络的创建装置,应用于第一集群,第一集群为需要互联的多个集群中的任意一个,其中,集群通信网络的创建装置,如图4所示,具体包括:74.第一创建单元401,用于创建集群之间的通信隧道。75.获取单元402,用于获取全局无类域间路由网络地址段,其中,全局无类域间路由网络地址段具备唯一性。76.第一分配单元403,用于基于全局无类域间路由网络地址段,分配全局ip,其中,全局ip包括全局出口ip和全局入口ip。77.配置单元404,用于配置全局ip对应的路由和防火墙规则。78.本实施例中,第一创建单元401、获取单元402、第一分配单元403以及配置单元404的具体执行过程,可参见对应图1的方法实施例内容,此处不再赘述。79.本技术实施例提供的集群通信网络的创建装置中,首先第一创建单元401创建集群之间的通信隧道。然后获取单元402获取全局无类域间路由网络地址段,其中,全局无类域间路由网络地址段具备唯一性。接着第一分配单元403基于全局无类域间路由网络地址段,分配全局ip,其中,全局ip包括全局出口ip和全局入口ip。最后配置单元404配置全局ip对应的路由和防火墙规则。由此可知,利用本技术的方法,通过创建一个集群间通信的虚拟全局网络,使集群获取一个全局唯一的全局无类域间路由网络地址段,并进行全局出口ip和全局入口ip的分配以及配置路由和防火墙规则,实现跨集群的网络数据通信。解决了现有技术中不同集群通常都会存在无类域间路由网络地址重叠冲突的情况,导致集群间不能进行网络互通的问题。80.可选的,在本技术的另一实施例中,上述获取单元402的一种实施方式,可以包括:81.获取子单元,用于通过预设的管理集群获取全局无类域间路由网络地址段。82.本实施例中,获取子单元的具体执行过程,可参见对应上述的方法实施例内容,此处不再赘述。83.可选的,在本技术的另一实施例中,上述集群通信网络的创建装置,还可以包括:84.第二创建单元,用于基于全局无类域间路由网络地址段,创建全局ip资源池。85.第二分配单元,用于基于全局ip资源池,分配全局出口ip和全局入口ip。86.本实施例中,第二创建单元、第二分配单元的具体执行过程,可参见对应上述的方法实施例内容,此处不再赘述。87.可选的,在本技术的另一实施例中,上述集群通信网络的创建装置,还可以包括:88.第三创建单元,用于创建本地ip与全局ip的映射表,并保存到数据库。89.本实施例中,第三创建单元的具体执行过程,可参见对应上述的方法实施例内容,此处不再赘述。90.本技术另一实施例还提供了一种电子设备,如图5所示,具体包括:91.一个或多个处理器501。92.存储装置502,其上存储有一个或多个程序。93.当一个或多个程序被一个或多个处理器501执行时,使得一个或多个处理器501实现如上述实施例中任意一项方法。94.本技术另一实施例还提供了计算机存储介质,其上存储有计算机程序,其中,计算机程序被处理器执行时实现如上述实施例中任意一项方法。95.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。96.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。97.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页12当前第1页12
技术特征:
1.一种集群通信网络的创建方法,其特征在于,应用于第一集群,所述第一集群为需要互联的多个集群中的任意一个,其中,所述集群通信网络的创建方法,包括:创建集群之间的通信隧道;获取全局无类域间路由网络地址段,其中,所述全局无类域间路由网络地址段具备唯一性;基于所述全局无类域间路由网络地址段,分配全局ip,其中,所述全局ip包括全局出口ip和全局入口ip;配置所述全局ip对应的路由和防火墙规则。2.根据权利要求1所述的方法,其特征在于,所述获取全局无类域间路由网络地址段,包括:通过预设的管理集群获取所述全局无类域间路由网络地址段。3.根据权利要求1所述的方法,其特征在于,所述基于所述全局无类域间路由网络地址段,分配全局ip之后,还包括:基于所述全局无类域间路由网络地址段,创建全局ip资源池;基于所述全局ip资源池,分配所述全局出口ip和所述全局入口ip。4.根据权利要求1所述的方法,其特征在于,所述基于所述全局无类域间路由网络地址段,分配全局ip之后,还包括:创建本地ip与所述全局ip的映射表,并保存到数据库。5.一种集群通信网络的创建装置,其特征在于,应用于第一集群,所述第一集群为需要互联的多个集群中的任意一个,其中,所述集群通信网络的创建装置,包括:第一创建单元,用于创建集群之间的通信隧道;获取单元,用于获取全局无类域间路由网络地址段,其中,所述全局无类域间路由网络地址段具备唯一性;第一分配单元,用于基于所述全局无类域间路由网络地址段,分配全局ip,其中,所述全局ip包括全局出口ip和全局入口ip;配置单元,用于配置所述全局ip对应的路由和防火墙规则。6.根据权利要求5所述的装置,其特征在于,所述获取单元,包括:获取子单元,用于通过预设的管理集群获取所述全局无类域间路由网络地址段。7.根据权利要求5所述的装置,其特征在于,还包括:第二创建单元,用于基于所述全局无类域间路由网络地址段,创建全局ip资源池;第二分配单元,用于基于所述全局ip资源池,分配所述全局出口ip和所述全局入口ip。8.根据权利要求5所述的装置,其特征在于,还包括:第三创建单元,用于创建本地ip与所述全局ip的映射表,并保存到数据库。9.一种电子设备,其特征在于,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至4中任意一项所述的方法。10.一种计算机存储介质,其特征在于,其上存储有计算机程序,其中,所述计算机程序
被处理器执行时实现如权利要求1至4中任意一项所述的方法。
技术总结
本申请提供了一种集群通信网络的创建方法、装置、电子设备及存储介质。其中,在集群通信网络的创建方法中,首先创建集群之间的通信隧道。然后获取全局无类域间路由网络地址段,其中,所述全局无类域间路由网络地址段具备唯一性。接着基于所述全局无类域间路由网络地址段,分配全局IP,其中,所述全局IP包括全局出口IP和全局入口IP。最后配置所述全局IP对应的路由和防火墙规则。由此可知,利用本申请的方法,通过创建一个集群间通信的虚拟全局网络,使集群获取一个全局唯一的全局无类域间路由网络地址段,并进行全局出口IP和全局入口IP的分配以及配置路由和防火墙规则,实现跨集群的网络数据通信。数据通信。数据通信。
技术研发人员:陈亮 李云龙 黄梦龙 王进波
受保护的技术使用者:湖南快乐阳光互动娱乐传媒有限公司
技术研发日:2023.03.10
技术公布日:2023/7/25
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
