一种集群通信方法、装置、系统、设备及可读存储介质与流程

文档序号:31041174发布日期:2022-08-06 04:20阅读:104来源:国知局
一种集群通信方法、装置、系统、设备及可读存储介质与流程

1.本技术涉及计算机技术领域,特别涉及一种集群通信方法、装置、系统、设备及可读存储介质。


背景技术:

2.目前,集群中租户网络对应的路由器与该集群中的中转交换机是一对应一关系,导致集群中每增加一个租户网络就需要增加一个中转交换机,存在资源浪费。且不同集群中的重叠网段由于存在ip冲突而无法通信。
3.因此,如何降低集群间的互联成本,同时解决重叠网段的ip冲突问题,是本领域技术人员需要解决的问题。


技术实现要素:

4.有鉴于此,本技术的目的在于提供一种集群通信方法、装置、系统、设备及可读存储介质,以降低集群间的互联成本,同时解决重叠网段的ip冲突问题。其具体方案如下:
5.第一方面,本技术提供了一种集群通信方法,包括
6.若任意两个集群中存在重叠网段,则针对所述重叠网段关闭动态互联功能,并在两个集群中的第一虚拟路由器、第二虚拟路由器上配置静态路由,以实现所述重叠网段的通信连接;针对两个集群中的非重叠网段开启动态互联功能,以使两个集群分别同步所述非重叠网段至互联数据库,通过所述互联数据库实现所述非重叠网段的通信连接;
7.若任意两个集群中不存在重叠网段,则针对两个集群中的各网段开启动态互联功能,以使两个集群分别同步自身网段至所述互联数据库,通过所述互联数据库实现两个集群中各网段的通信连接;
8.其中,在每个集群中,任一个租户网络连接一个第一虚拟路由器,各第一虚拟路由器连接同一个集群内虚拟交换机,该集群内虚拟交换机连接至少两个第二虚拟路由器,任一个第二虚拟路由器连接至少一个虚拟网关,各虚拟网关连接同一个集群间虚拟交换机;各集群中的集群间虚拟交换机基于所述互联数据库创建且处于同一网段。
9.可选地,任意两个集群通信时,基于ecmp协议选择路由路径。
10.可选地,任一集群中的集群间虚拟交换机的创建过程包括:
11.任一集群基于用户指定的交换机名称、网段和所述互联数据库分别创建集群间虚拟交换机。
12.可选地,若任一集群中存在新建租户网络,则关闭当前新建租户网络所对应网段的动态互联功能,并基于当前集群的集群数据库为当前新建租户网络创建对应的第一虚拟路由器,连接该第一虚拟路由器至当前集群中的集群内虚拟交换机。
13.可选地,还包括:
14.若删除任一集群中的任一租户网络,则删除该租户网络对应的第一虚拟路由器。
15.第二方面,本技术提供了一种集群通信装置,包括
16.第一互联模块,用于若任意两个集群中存在重叠网段,则针对所述重叠网段关闭动态互联功能,并在两个集群中的第一虚拟路由器、第二虚拟路由器上配置静态路由,以实现所述重叠网段的通信连接;针对两个集群中的非重叠网段开启动态互联功能,以使两个集群分别同步所述非重叠网段至互联数据库,通过所述互联数据库实现所述非重叠网段的通信连接;
17.第二互联模块,用于若任意两个集群中不存在重叠网段,则针对两个集群中的各网段开启动态互联功能,以使两个集群分别同步自身网段至所述互联数据库,通过所述互联数据库实现两个集群中各网段的通信连接;
18.其中,在每个集群中,任一个租户网络连接一个第一虚拟路由器,各第一虚拟路由器连接同一个集群内虚拟交换机,该集群内虚拟交换机连接至少两个第二虚拟路由器,任一个第二虚拟路由器连接至少一个虚拟网关,各虚拟网关连接同一个集群间虚拟交换机;各集群中的集群间虚拟交换机基于所述互联数据库创建且处于同一网段。
19.第三方面,本技术提供了一种集群通信系统,包括:互联数据库以及至少两个集群,每个集群包括:至少一个租户网络;
20.在每个集群中,任一个租户网络连接一个第一虚拟路由器,各第一虚拟路由器连接同一个集群内虚拟交换机,该集群内虚拟交换机连接至少两个第二虚拟路由器,任一个第二虚拟路由器连接至少一个虚拟网关,各虚拟网关连接同一个集群间虚拟交换机;
21.各集群中的集群间虚拟交换机基于所述互联数据库创建且处于同一网段;
22.各集群按照上述任一项所述的方法进行通信连接。
23.可选地,每个集群中还包括集群数据库。
24.第四方面,本技术提供了一种电子设备,包括:
25.存储器,用于存储计算机程序;
26.处理器,用于执行所述计算机程序,以实现前述公开的集群通信方法。
27.第五方面,本技术提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的集群通信方法。
28.通过以上方案可知,本技术提供了一种集群通信方法,包括若任意两个集群中存在重叠网段,则针对所述重叠网段关闭动态互联功能,并在两个集群中的第一虚拟路由器、第二虚拟路由器上配置静态路由,以实现所述重叠网段的通信连接;针对两个集群中的非重叠网段开启动态互联功能,以使两个集群分别同步所述非重叠网段至互联数据库,通过所述互联数据库实现所述非重叠网段的通信连接;若任意两个集群中不存在重叠网段,则针对两个集群中的各网段开启动态互联功能,以使两个集群分别同步自身网段至所述互联数据库,通过所述互联数据库实现两个集群中各网段的通信连接;其中,在每个集群中,任一个租户网络连接一个第一虚拟路由器,各第一虚拟路由器连接同一个集群内虚拟交换机,该集群内虚拟交换机连接至少两个第二虚拟路由器,任一个第二虚拟路由器连接至少一个虚拟网关,各虚拟网关连接同一个集群间虚拟交换机;各集群中的集群间虚拟交换机基于所述互联数据库创建且处于同一网段。
29.可见,本技术针对两个集群中存在的重叠网段,可在两个集群中的第一虚拟路由器、第二虚拟路由器上配置静态路由来实现该重叠网段的通信连接;针对非重叠网段,可基于动态互联功能和互联数据库实现集群通信,从而解决了重叠网段的ip冲突问题。同时,集
群中只需设置一个集群间虚拟交换机,同一集群中的各租户网络对应的路由器都与该集群间虚拟交换机连接,因此降低了集群间的互联成本。
30.相应地,本技术提供的一种集群通信装置、系统、设备及可读存储介质,也同样具有上述技术效果。
附图说明
31.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
32.图1为本技术公开的一种集群通信方法流程图;
33.图2为本技术公开的一种集群内拓扑示意图;
34.图3为本技术公开的一种集群间互联示意图;
35.图4为本技术公开的一种ip配置示意图;
36.图5为本技术公开的一种集群通信装置示意图;
37.图6为本技术公开的一种电子设备示意图。
具体实施方式
38.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
39.目前,集群中租户网络对应的路由器与该集群中的中转交换机是一对应一关系,导致集群中每增加一个租户网络就需要增加一个中转交换机,存在资源浪费。且不同集群中的重叠网段由于存在ip冲突而无法通信。
40.为此,本技术提供了一种集群通信方案,能够降低集群间的互联成本,同时解决重叠网段的ip冲突问题。
41.参见图1所示,本技术实施例公开了一种集群通信方法,包括
42.s101、若任意两个集群中存在重叠网段,则针对重叠网段关闭动态互联功能,并在两个集群中的第一虚拟路由器、第二虚拟路由器上配置静态路由,以实现重叠网段的通信连接;针对两个集群中的非重叠网段开启动态互联功能,以使两个集群分别同步非重叠网段至互联数据库,通过互联数据库实现非重叠网段的通信连接。
43.其中,关闭或开启动态互联功能可通过操作本集群的集群数据库完成,具体操作本集群ovn北向数据库的nb_global表。如果开启动态互联功能,本机群的ovn ic进程会将所开启的网段的路由填充到互联数据库,其他集群会可以将这些内容学习到其本地。具体的,关闭某个网段的动态互联功能的命令可以是:ovn-nbctl set nb_global.options:ic-route-blacklist=《子网网段》。
44.其中,配置静态路由的过程可以是:在对端集群内的第一虚拟路由器、第二虚拟路由器添加ecmp高可用静态路由,以使第一虚拟路由器根据所配置的静态路由将流量引到第
二虚拟路由器,第二虚拟路由器根据所配置的静态路由将流量引到对端集群。相应的,在本集群的第二虚拟路由器添加一条静态路由,以使第二虚拟路由器根据添加的静态路由将流量引到本集群的第一虚拟路由。
45.s102、若任意两个集群中不存在重叠网段,则针对两个集群中的各网段开启动态互联功能,以使两个集群分别同步自身网段至互联数据库,通过互联数据库实现两个集群中各网段的通信连接。
46.请参见图2,在每个集群中,任一个租户网络连接一个第一虚拟路由器,各第一虚拟路由器连接同一个集群内虚拟交换机,该集群内虚拟交换机连接至少两个第二虚拟路由器,任一个第二虚拟路由器连接至少一个虚拟网关,各虚拟网关连接同一个集群间虚拟交换机。各集群中的集群间虚拟交换机基于互联数据库创建且处于同一网段,因此各集群可通过集群间虚拟交换机通信。
47.其中,一个租户网络指的是:一个第一虚拟路由器下的网络。在每个集群内,任意一个租户网络对应唯一一个第一虚拟路由器。
48.需要说明的是,步骤s101和步骤s102并不执行顺序的限制,也就是:这两个步骤可以不分先后顺序执行。
49.在一种具体实施方式中,任意两个集群通信时,基于ecmp(equal-cost multipath routing)协议选择路由路径,以实现:同时使用多条路由链路,增加传输带宽,并且可以无时延、无丢包地备份失效链路的数据传输。例如:当集群a中向b中发出一请求时,在a集群内流量在第一虚拟路由器处通过ecmp选择一条静态路由,到达静态路由的下一跳第二虚拟路由器,然后再次ecmp在第二虚拟路由器处选择一条静态路由,将流量引到对端集群。在b集群内,流量通过第一虚拟路由器、第二虚拟路由器到达要访问的容器或虚拟机。
50.在一种具体实施方式中,任一集群中的集群间虚拟交换机的创建过程包括:任一集群基于用户指定的交换机名称、网段和互联数据库分别创建集群间虚拟交换机。可见,创建集群间虚拟交换机需要指定交换机名称、网段和互联数据库的南北向端口,这样每个集群可据此创建相同名称的交换机,并配置同网段的端口。其中,指定互联数据库的南北向端口可方便每个集群能够连接互联数据库。
51.其中,互联数据库为ovn(open virtual network)数据库。ovn是ovs(open vswitch)的控制平面,它给ovs增加了对虚拟网络的原生支持,大大提高了ovs在实际应用环境中的性能和规模。ovs为高质量的多层虚拟交换机。
52.在一种具体实施方式中,若任一集群中存在新建租户网络,则关闭当前新建租户网络所对应网段的动态互联功能,并基于当前集群的集群数据库为当前新建租户网络创建对应的第一虚拟路由器,连接该第一虚拟路由器至当前集群中的集群内虚拟交换机。可见,新建租户网络在连接集群内虚拟交换机前,关闭了自动通告的动态互联功能,后续如果确认该新建租户网络所对应网段不与其他集群重叠,则可以开启动态互联功能。如果确认该新建租户网络所对应网段与其他集群重叠,则进行静态路由配置。
53.在一种具体实施方式中,若删除任一集群中的任一租户网络,则删除该租户网络对应的第一虚拟路由器。
54.可见,本实施例针对两个集群中存在的重叠网段,可在两个集群中的第一虚拟路由器、第二虚拟路由器上配置静态路由来实现该重叠网段的通信连接;针对非重叠网段,可
基于动态互联功能和互联数据库实现集群通信,从而解决了重叠网段的ip冲突问题。同时,集群中只需设置一个集群间虚拟交换机,同一集群中的各租户网络对应的路由器都与该集群间虚拟交换机连接,因此降低了集群间的互联成本。
55.下述实施例以openstack和kubernetes这两个集群为例进行介绍。下述介绍的openstack集群和kubernetes集群的互联仍以ovn为基础,可实现高可用的三层互通。该方案不依赖于第三方组件,仅利用ovn ic、静态路由、虚拟机路由器、虚拟交换机等ovn原生功能就可快速实现openstack和kubernetes的三层互通。本实施例涉及的交换机、路由器、网关等均为虚拟设备。
56.请参见图3,openstack和kubernetes内的集群内中转交换机、集群间互联路由器能够将集群内的vpc虚拟路由器连通至外界,而openstack和kubernetes共用的集群间中转交换机可使openstack和kubernetes互联。图3中示意了一个集群间中转交换机,该集群间中转交换机在逻辑上是两个,因此被openstack和kubernetes共用。
57.具体的,图3所示互联系统可按照下述步骤实现:
58.1、启动ovn ic数据库(即互联数据库),在openstack和kubernetes中分别开启ovn ic功能。
59.2、在两个集群内分别创建所需的集群内中转交换机、集群间互联路由器,集群内的一个vpc虚拟路由器为该集群内的一个租户网络的出口。
60.3、通过ovn-nbctl命令将集群内中转交换机与vpc虚拟路由器连接,集群内中转交换机和集群间互联路由器连接,集群间中转交换机和2个集群间互联路由器连接。其中,网关节点的端口是集群间互联路由器的端口,因此集群间中转交换机和集群间互联路由器是直连,但逻辑上流量经过网关节点。
61.其中,两个集群内的中转交换机主要使流量在本集群内流通,所以网段和ip地址可以相同。集群间互联路由器、网关端口的虚拟ip需要继承于集群间中转交换机的网段,所以ip地址不能重叠。
62.进一步地,针对两个集群的未重叠子网,配置子网自动通告实现三层互通,ovn ic学习对端网关信息,并写入到openstack/kubernetes集群,全自动实现入网网关高可用。针对两个集群的重叠子网:关闭子网自动通告,在vpc虚拟路由器添加某个ip的ecmp静态路由,下一跳为集群间互联路由器,实现出网网关高可用。在集群间互联路由器配置ip的ecmp静态路由,下一跳为对端集群网关端口虚拟ip,实现入网网关高可用。请参见图4,各设备的ip可如图4进行配置,以实现通信。
63.其中,vpc路由器添加的静态路由将流量引到集群间中转交换机,通过集群间中转交换机打通openstack与kubernetes的三层流量。在openstack/kubernetes集群部署的多个ecmp路由网关,可实现集群内和集群间通信高可用,提升三层互通可用性。而识别集群间重叠网段,关闭重叠网段的ovn ic动态通告,并在vpc虚拟路由器和互联路由器添加32位网段静态路由来实现openstack与kubernetes重叠网段流量的三层互通。ovn ic原生网段动态通告功能,仅在vpc虚拟路由器添加静态路由就可快速打通非重叠网段流量。
64.可见,本实施例在集群单独创建集群间互联路由器后,每增加一个vpc路由器时,仅需配置vpc虚拟路由器与集群内中转交换机的关系,即可快速实现集群间三层互通,可减少繁琐配置。如图3所示,每个集群包含2个集群间互联路由器,以及多个网关节点。出集群
流量通过vpc虚拟路由器ecmp网关静态路由后,流量到达不同的出网网关,可实现出网网关高可用。集群间中转交换机将openstack网关和kubernetes网关关联起来,入集群流量通过集群间互联路由器ecmp网关静态路由后流量到达不同的入网网关,实现入网网关高可用。
65.如此本技术具备以下优点:
66.1、针对两个集群都使用ovn技术,可避免了使用多个技术栈增加的运维复杂度和开发成本。
67.2、使用ovn原生功能可快速实现openstack和kubernetes高可用的三层互通。
68.3、可支持多个租户的vpc路由器互通,每增删一个租户的vpc路由器,更改vpc路由器与集群内中转交换机的关系就可快速完成。以松耦合的方式通过简单的配置实现集群间网络隔离以及出入网关高可用。
69.4、出入网关ecmp高可用,大大提升三层互通的可用性。
70.下面对本技术实施例提供的一种集群通信装置进行介绍,下文描述的一种集群通信装置与上文描述的一种集群通信方法可以相互参照。
71.参见图5所示,本技术实施例公开了一种集群通信装置,包括
72.第一互联模块501,用于若任意两个集群中存在重叠网段,则针对重叠网段关闭动态互联功能,并在两个集群中的第一虚拟路由器、第二虚拟路由器上配置静态路由,以实现重叠网段的通信连接;针对两个集群中的非重叠网段开启动态互联功能,以使两个集群分别同步非重叠网段至互联数据库,通过互联数据库实现非重叠网段的通信连接;
73.第二互联模块502,用于若任意两个集群中不存在重叠网段,则针对两个集群中的各网段开启动态互联功能,以使两个集群分别同步自身网段至互联数据库,通过互联数据库实现两个集群中各网段的通信连接;
74.其中,在每个集群中,任一个租户网络连接一个第一虚拟路由器,各第一虚拟路由器连接同一个集群内虚拟交换机,该集群内虚拟交换机连接至少两个第二虚拟路由器,任一个第二虚拟路由器连接至少一个虚拟网关,各虚拟网关连接同一个集群间虚拟交换机;各集群中的集群间虚拟交换机基于互联数据库创建且处于同一网段。
75.在一种具体实施方式中,任意两个集群通信时,基于ecmp协议选择路由路径。
76.在一种具体实施方式中,任一集群中的集群间虚拟交换机的创建过程包括:任一集群基于用户指定的交换机名称、网段和互联数据库分别创建集群间虚拟交换机。
77.在一种具体实施方式中,
78.创建模块,用于若任一集群中存在新建租户网络,则关闭当前新建租户网络所对应网段的动态互联功能,并基于当前集群的集群数据库为当前新建租户网络创建对应的第一虚拟路由器,连接该第一虚拟路由器至当前集群中的集群内虚拟交换机。
79.在一种具体实施方式中,
80.删除模块,用于若删除任一集群中的任一租户网络,则删除该租户网络对应的第一虚拟路由器。
81.其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
82.可见,本实施例提供了一种集群通信装置,能够降低集群间的互联成本,同时解决重叠网段的ip冲突问题。
83.下面对本技术实施例提供的一种集群通信系统进行介绍,下文描述的一种集群通信系统与上文描述的一种集群通信方法及装置可以相互参照。
84.本技术实施例公开了一种集群通信系统,包括:互联数据库以及至少两个集群,每个集群包括:至少一个租户网络;在每个集群中,任一个租户网络连接一个第一虚拟路由器,各第一虚拟路由器连接同一个集群内虚拟交换机,该集群内虚拟交换机连接至少两个第二虚拟路由器,任一个第二虚拟路由器连接至少一个虚拟网关,各虚拟网关连接同一个集群间虚拟交换机;各集群中的集群间虚拟交换机基于互联数据库创建且处于同一网段。
85.其中,各集群按照上述任一实施例所述的方法进行通信连接。
86.在一种具体实施方式中,每个集群中还包括集群数据库。
87.若需要建立不同集群间的通信,则按照下述方式实施:若任意两个集群中存在重叠网段,则针对重叠网段关闭动态互联功能,并在两个集群中的第一虚拟路由器、第二虚拟路由器上配置静态路由,以实现重叠网段的通信连接;针对两个集群中的非重叠网段开启动态互联功能,以使两个集群分别同步非重叠网段至互联数据库,通过互联数据库实现非重叠网段的通信连接。若任意两个集群中不存在重叠网段,则针对两个集群中的各网段开启动态互联功能,以使两个集群分别同步自身网段至互联数据库,通过互联数据库实现两个集群中各网段的通信连接。
88.在一种具体实施方式中,任意两个集群通信时,基于ecmp协议选择路由路径。
89.在一种具体实施方式中,任一集群中的集群间虚拟交换机的创建过程包括:任一集群基于用户指定的交换机名称、网段和互联数据库分别创建集群间虚拟交换机。
90.在一种具体实施方式中,若任一集群中存在新建租户网络,则关闭当前新建租户网络所对应网段的动态互联功能,并基于当前集群的集群数据库为当前新建租户网络创建对应的第一虚拟路由器,连接该第一虚拟路由器至当前集群中的集群内虚拟交换机。
91.在一种具体实施方式中,若删除任一集群中的任一租户网络,则删除该租户网络对应的第一虚拟路由器。
92.其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
93.可见,本实施例提供了一种集群通信系统,能够降低集群间的互联成本,同时解决重叠网段的ip冲突问题。
94.下面对本技术实施例提供的一种电子设备进行介绍,下文描述的一种电子设备与上文描述的一种集群通信方法及装置可以相互参照。
95.参见图6所示,本技术实施例公开了一种电子设备,包括:
96.存储器601,用于保存计算机程序;
97.处理器602,用于执行所述计算机程序,以实现上述任意实施例公开的方法。
98.下面对本技术实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种集群通信方法、装置及设备可以相互参照。
99.一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的集群通信方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
100.本技术涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对
象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。
101.需要说明的是,在本技术中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本技术要求的保护范围之内。
102.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
103.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的可读存储介质中。
104.本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1