基于服务网格的跨私网多集群管理方法及装置与流程

文档序号:30744945发布日期:2022-07-13 07:24阅读:115来源:国知局
基于服务网格的跨私网多集群管理方法及装置与流程

1.本说明书一个或多个实施例涉及终端技术领域,尤其涉及一种基于服务网格的跨私网多集群管理方法及装置。


背景技术:

2.服务网格(service mesh)是指用于微服务应用的可配置基础架构层,微服务应用则是指采用微服务架构部署的应用程序。在微服务架构中,微服务应用的各项功能均会被拆分为单独的微服务进行部署。完成部署后的各个微服务则可以通过服务网格进行数据共享,进而共同实现整个微服务应用的功能。
3.在相关技术中,由于存在网络传输的限制,通常将服务网格的控制端和该控制端所管理的应用服务实例部署于同一私有网络,以便控制端与各个应用服务实例进行交互。


技术实现要素:

4.有鉴于此,本说明书一个或多个实施例提供一种基于服务网格的跨私网多集群管理方法及装置。
5.为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
6.根据本说明书一个或多个实施例的第一方面,提出了一种基于服务网格的跨私网多集群管理方法,应用于所述服务网格的控制端,且该控制端与其管理的多个应用服务集群分别属于不同的私有网络;所述方法包括:
7.获取所述多个应用服务集群的数据面入口访问信息,以及所述控制端的控制面入口访问信息;
8.基于获取到的数据面入口访问信息和控制面入口访问信息,在所述控制端和所述多个应用服务集群之间建立数据传输通道,以使所述控制端与所述多个应用服务集群通过建立的数据传输通道进行相互访问。
9.根据本说明书一个或多个实施例的第二方面,提出了一种基于服务网格的跨私网多集群管理系统,包括:所述服务网格的控制端,以及由所述控制端管理的多个应用服务集群;所述控制端与所述多个应用服务集群属于不同的私有网络;其中,
10.所述控制端用于:获取所述多个应用服务集群的数据面入口访问信息和所述控制端的控制面入口访问信息;以及,基于获取到的数据面入口访问信息和控制面入口访问信息,在所述控制端和所述多个应用服务集群之间建立数据传输通道;
11.所述应用服务集群用于:通过自身与所述控制端之间的数据传输通道,对所述控制端进行访问,或对所述控制端通过该数据传输通道发起的访问进行响应。
12.根据本说明书一个或多个实施例的第三方面,提出了一种电子设备,包括:
13.处理器;
14.用于存储处理器可执行指令的存储器;
15.其中,所述处理器通过运行所述可执行指令以实现如第一方面中任一项所述的方
法。
16.根据本说明书一个或多个实施例的第四方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面中任一项所述方法的步骤。
附图说明
17.图1是一示例性实施例提供的一种服务网格的示意图。
18.图2是一示例性实施例提供的一种基于服务网格的跨私网多集群管理方法的流程图。
19.图3是一示例性实施例提供的另一种基于服务网格的跨私网多集群管理架构的示意图。
20.图4是一示例性实施例提供的一种基于服务网格的多kubernetes集群管理方法的流程图。
21.图5是一示例性实施例提供的一种设备的结构示意图。
22.图6是一示例性实施例提供的一种基于服务网格的跨私网多集群管理装置的框图。
具体实施方式
23.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
24.需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
25.云计算作为计算机技术发展最快的趋势之一,涉及通过网络提供托管服务。具体来讲,云计算是一种服务交付模型,用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、内存、存储、应用程序、虚拟机和服务)共享池的便捷、按需网络访问可以通过最少的管理工作或与服务提供商的交互来快速配置和发布。
26.为了向外部用户提供云计算服务,可以建立云计算资源池(简称云平台,一般称为基础设施即服务(infrastructure as a service,iaas)平台),并在资源池中部署多种类型的虚拟资源,以供外部客户选择使用。
27.按照逻辑功能划分,在iaas层上可以部署平台即服务(platform as a service,paas)层,paas层之上再部署软件即服务(software as a service,saas)层,也可以直接将saas部署在iaas上。paas为软件运行的平台,如数据库、web容器等。saas为各式各样的软件,如全球广域网(world wide web,web)门户网站、短信群发器等。一般来说,saas和paas
相对于iaas是上层。
28.其中,iaas可以向用户提供处理服务、存储服务、网络服务和其他基本计算资源,消费者可以在这些资源中部署和运行任意软件,包括操作系统和应用程序;通过iaas使得用户可以不管理或控制底层云基础设施,但可以控制操作系统、存储、部署的应用程序,并可能对选定的网络组件(例如主机防火墙)进行有限控制。
29.saas可以向用户提供在云基础设施上运行的提供商应用程序,以供用户使用。这些应用程序可以通过诸如网络浏览器(例如,基于网络的电子邮件)之类的瘦客户端界面从各种客户端设备访问。通过saas使得用户可以不管理或控制底层云基础设施,包括网络、服务器、操作系统、存储,甚至单个应用程序功能,但有限的用户特定应用程序配置设置可能除外。
30.paas可以为用户提供将消费者创建或获取的应用程序部署到云基础架构上的能力,这些应用程序使用提供商支持的编程语言和工具创建。通过paas使得用户可以不管理或控制包括网络、服务器、操作系统或存储在内的底层云基础设施,但可以控制已部署的应用程序以及可能的应用程序托管环境配置。
31.可选地,云计算在部署时,可以被部署为私有云、社区云、公共云、混合云等多种形式的模型。其中,在私有云模型中,云基础设施只为组织运行;社区云的云基础架构由多个组织共享,并支持具有共同关注点(例如,任务、安全要求、策略和合规性考虑)的特定社区;公共云的云基础设施可供公众或大型行业集团使用,并由销售云服务的组织拥有;混合云的云基础设施是两个或多个云(私有、社区或公共)的组合,它们仍然是唯一的实体,但通过支持数据和应用程序可移植性的标准化或专有技术绑定在一起(例如,用于负载的云爆发)云之间的平衡)。
32.云计算环境将计算和存储资源作为服务交付给最终用户。最终用户可以向供应的服务发出请求以进行处理。服务的处理能力通常受配置资源的限制。尽管云计算环境提供了所有的自动扩展能力,但服务的工作负载瓶颈问题仍然需要解决。
33.具体地,可以根据云计算环境支持的各种虚拟化技术来供应或部署服务。在一些实施例中,可以根据基于虚拟机(virtual machine,vm)的虚拟化、基于容器的虚拟化等来供应服务。根据基于虚拟机的虚拟化,可以启动虚拟机来模拟真实的计算机,该计算机可以执行程序和应用程序,而无需直接接触任何实际的硬件资源。在vm虚拟化机器的同时,根据基于容器的虚拟化,可以启动容器来虚拟化整个操作系统(operating system,os),以便多个工作负载可以在单个os实例上运行。基于vm的虚拟化可以包括,例如,vsphere;基于容器的可以包括例如kubernetes、cloud foundry等。
34.除了基于服务的计算环境之外,还有另一种类型的计算环境,称为无服务器计算环境或平台,其中功能即服务(function as a service,faas)就是一个例子。
35.无服务器计算环境是一种云计算模型,允许使用可以由事件触发的短期运行、通常是无状态的功能。但是,无服务器计算并不表示计算环境中不使用计算机服务器,恰恰相反,无服务器计算表示无服务器计算环境的用户不需要提供或管理平台在执行用户指令时使用的物理计算机服务器、虚拟机、容器等。
36.在无服务器计算环境中,资源分配由云服务提供商管理,允许开发功能而无需担心实现、调整或扩展服务器。无服务器计算环境提供了一种实现无服务器目的的方法,允许
authorization)以及可观测性(observability)。
49.如图1所示,该服务网格100还包括控制平面层。其中,控制平面层可以是由一组在一个专用的命名空间中运行的服务,在机器/工作负载容器组(machine/pod)102由托管控制面组件101来托管这些服务。如图1所示,托管控制面组件101与网格代理103和网格代理105进行双向通信。托管控制面组件101被配置成执行一些控制管理的功能。例如,托管控制面组件101接收网格代理103和网格代理105传送的遥测数据,可以进一步对这些遥测数据做聚合。这些服务,托管控制面组件101还可以提供面向用户的应用程序接口(application programming interface,api),以便较容易地操纵网络行为,以及向网格代理103和网格代理105提供配置数据等。
50.在本说明书中,可以将图1所示的用于运行托管控制面组件101的载体称之为服务网格的控制端,其中,图1所示的机器/工作负载容器组114和115分别运行于不同的私有网络,相当于将应用服务实例a和b分别部署于不同的私有网络(即属于不同的应用服务集群)。
51.在此基础上,本说明书提供了一种基于服务网格的跨私网多集群管理方法,以实现针对多个应用服务集群的跨私网统筹管理。而在相关技术中,由于将属于控制平面层的控制端和属于数据平面层的服务网格代理部署于同一私有网络下,导致需要为每一应用服务集群部署独立的控制端。不难看出,本说明书的技术方案相较于相关技术,不仅实现了多应用服务集群的统筹管理,且无需为多个应用服务集群分别部署控制端,降低了部署成本。
52.图2为本说明书一示例性实施例示出的一种基于服务网格的跨私网多集群管理方法的流程图,该方法应用于服务网格的控制端,该控制端与其管理的多个应用服务集群分别数据不同的私有网络。该方法可以包括以下步骤:
53.步骤202,获取所述多个应用服务集群的数据面入口访问信息,以及所述控制端的控制面入口访问信息。
54.在本说明书中,可以将控制端进行独立部署。例如,可以将控制端部署于独立的服务器或者服务器集群等实体设备中,也可以部署于类似于虚拟机的虚拟设备中。需要声明的是,本说明书所说的独立部署控制端指的是:用于部署控制端的设备所处的私有网络,与其管理的多个应用服务集群所处的私有网络不同,而控制端具体被部署于何种载体中,本说明书对此不作限制。由于控制端与应用服务集群部署于不同的私有网络,因此,该部署方式也可以被称作是远程部署控制端,或者跨私网部署控制端。
55.与相关技术相比,本说明书除了是远程部署控制端以外,从控制端的数量上看也存在不同。正如上文所述的,相关技术在每一应用服务集群所属的私有网络中均部署了控制端,换言之,控制端的数量与应用服务集群的数量是一致的。而在本说明书中,由于采用了远程部署控制端的方式,因此,可以为多个应用服务集群部署统一的控制端,以通过该控制端实现多个应用服务集群的统筹管理。
56.然而,由于本说明书中的控制端和应用服务集群部署于不同的私有网络,难以进行相互访问。因此,为了使控制端能够对多个应用服务集群进行统筹管理,还需在控制端与多个应用服务集群之间建立访问机制。
57.在本说明书中,在控制端和应用服务集群被部署完毕之后,控制端即可获取多个应用服务集群的数据面入口访问信息,以及自身的控制面入口访问信息,并基于获取到的
数据面入口访问信息和控制面入口访问信息,在控制端和多个应用服务集群之间建立数据传输通道。在此基础上,控制端与多个应用服务集群即可通过建立的数据传输通道进行相互访问。例如,控制端可以通过自身与任一应用服务集群之间的数据传输通道,将控制指令下发至该任一应用服务集群处;相应的,该任一应用服务集群也可以通过该数据传输通道将自身的运行数据上传至控制端。
58.应当理解的是,在控制端与多个应用服务集群之间建立数据传输通道,相当于构建了控制端与应用服务集群之间的访问机制。可见,本说明书一方面通过远程部署控制端的方式,搭建了多集群统筹管理的硬件基础;另一方面,通过建立数据传输通道的方式从软件层面打通了控制端与应用服务集群之间的网络,通过软硬件结合实现了控制端对多个应用服务集群的统筹管理。
59.在实际应用中,每一应用服务集群至少包含一个应用服务实例和一个服务网格代理。其中,服务网格代理用于数据交互,或者说流量传输;而应用服务实例用于数据处理,或者说流量消耗。因此,对于任一应用服务集群而言,其数据面入口访问信息被配置于其所包含的服务网格代理中。在此基础上,控制端即可在需要获取任一应用服务集群的数据面入口访问信息时,从该应用服务集群包含的服务网格代理中获取数据面入口访问信息。
60.具体的,由于存在应用服务集群中包含单个或多个服务网格代理的情况。因此,在任一应用服务集群仅包含一个服务网格代理的情况下,控制端可以直接获取该服务网格代理所在集群提供的入口访问信息,以作为该任一应用服务集群所采用的数据面入口访问信息;而在任一应用服务集群包含多个服务网格代理的情况下,由于这多个服务网格代理属于同一私有网络,共用相同的入口访问信息,因此,控制端可以获取这多个服务网格代理中任意服务网格代理所在集群提供的入口访问信息,以作为该任一应用服务集群的数据面入口访问信息。
61.在本说明书中,控制端还可以维护有自身所管理的所有应用服务集群的多集群概要,该多集群概要即这些应用服务集群的集群概要的集合。其中,每一应用服务集群的集群概要包括用于描述该应用服务集群的基本属性信息,比如集群所在的地域(region)、集群的唯一标识(id)、集群所在的私有网络(vpc)等。例如,该多集群概要中可以包含应用服务集群a的概要信息、应用服务集群b的概要信息,以及应用服务集群c的概要信息,表明该控制端管理的应用服务集群包括上述的应用服务集群a、b和c。在控制端维护有上述多集群概要的基础上,控制端通过确定该多集群概要中记录的所有应用服务集群的信息,即可获知自身所管理的应用服务集群的信息,并进而获取所确定的应用服务集群的数据面入口访问信息。
62.基于一些实际需求,可以对控制端管理的应用服务集群进行增加或删除。相应地,该控制端所维护的多集群概要也会关联地动态更新。例如,控制端可以监听针对自身所管理的应用服务集群的添加事件和删除事件;其中,在监听到添加事件时,可以根据添加事件的具体信息,在集群概要中添加新增应用服务集群的信息,而在监听到删除事件时,则可以将集群概要中与该删除事件对应的应用服务集群的概要信息进行删除。在实际应用中,控制端可以向相关人员提供一控制界面,以便相关人员通过该控制界面对维护的集群概要进行修改;同时,配合于上述的控制界面,控制端可以部署有集群添加器和集群移除器,以用于分别根据控制界面传递的集群添加指令和集群移除指令进行应用服务集群的增加与删
除,而所形成的增加事件与删除事件可以触发对上述多集群概要的动态更新。
63.可见,由于本说明书中能够对应用服务集群进行动态管理,并使得多集群概要能够相应实现动态的自动更新,使得控制端可以根据多集群概要获取最新的数据面入口访问信息,即实现该数据面入口访问信息的自动更新。进一步地,由于该数据面入口访问信息用于生成下文所述的路由信息表,那么基于数据面入口访问信息的自动更新,使得本说明书的技术方案可以实现该路由信息表的自动更新。换言之,本说明书在控制端所管理的应用服务集群发生变化时,可以确保相应的路由信息表能够实现自动更新。
64.步骤204,基于获取到的数据面入口访问信息和控制面入口访问信息,在所述控制端和所述多个应用服务集群之间建立数据传输通道,实现传输通道所使用的网段路由的自动更新,以使所述控制端与所述多个应用服务集群通过建立的数据传输通道进行相互访问。
65.在本说明书中,本说明书中的入口访问信息可以为可访问网段信息。换言之,控制端获取的数据面入口访问信息可以为相应应用服务集群的可访问网段信息,而控制面入口访问信息可以为控制端的可访问网段信息。在此基础上,控制端即可基于获取到的可访问网段信息在控制端和多个应用服务集群之间建立数据传输通道。
66.具体的,控制端可以基于多个应用服务集群的可访问网段信息和控制端的可访问网段信息,生成多个应用服务集群与控制端之间的路由信息表,并基于该路由信息表在控制端和多个应用服务集群之间建立数据传输通道。例如,可以基于网段融合技术,对所述多个应用服务集群的可访问网段信息和所述控制端的可访问网段信息进行网段融合,以计算出相应可路由的网段最小范围;然后,根据所述可路由的网段最小范围,生成所述多个应用服务集群与所述控制端之间的路由信息表,进而基于该路由信息表建立上述的数据传输通道。
67.在实际建立路由信息表的过程中,可以优先创建转发路由器,并根据生成的路由信息表对创建的转发路由器进行路由转发配置。在此基础上,无论是控制端还是任一应用服务集群均可通过该转发路由器进行数据转发,进而实现相互访问,相当于是在控制端和各个应用服务集群之间建立了用于数据传输的数据传输通道。当然,除了通过创建转发路由器的方式建立数据传输通道以外,还可以通过其他方式实现数据传输通道的建立,例如,还可以在生成上述路由信息表之后,基于该路由信息表在控制端与各个应用服务集群之间建立ip隧道,进而通过该ip隧道进行相互访问,在该方式中,ip隧道即可视为是建立的数据传输通道。当然,上述建立数据传输通道的方式仅是示意性的,具体如何建立数据传输通道,可由本领域技术人员根据实际需求确定,本说明书对此不作限制。
68.由于在实际应用中,服务网格中包含的应用服务集群的可访问网段信息可能发生变化,因此,控制端还可以对生成的路由信息表进行更新,以避免路由信息表更新不及时,而影响控制端与应用服务集群之间的相互访问。具体的,控制端可以监听所管理的应用服务集群的可访问网段信息是否产生变化数据,若产生了变化数据,则可以获取该变化数据,并根据该变化数据对路由信息表进行更新。在本说明书中,可以包含多种产生变化数据的情况,例如,在一种情况下,可能存在新的应用服务集群需要加入服务网格,因此,在该情况下,控制端可以获取该新加入的应用服务集群的可访问网段信息,以作为控制端监听到的变化数据,并根据该可访问网段信息对路由信息表进行更新;再例如,原本就属于服务网格
的多个应用服务集群中的任意应用服务集群的可访问网段信息可能发生变化,在该情况下,即可将发生变化的可访问网段信息作为上述变化数据,以对路由信息表进行更新;又例如,可能存在应用服务集群需要脱离当前服务网格的控制端的管辖,在该情况下,还可以将在路由信息表中删除该应用服务集群的可访问网段信息,以实现路由信息表的更新。在实际应用中,控制端实际监听的对象可以为上述多集群概要,上述变化数据对应于多集群概要中发生变化的应用服务集群的信息。
69.不难看出,本说明书的技术方案使得控制端所管辖的应用服务集群数量可变。在此基础上,本领域技术人员可以根据需求的变动,灵活配置服务网格中所包含的应用服务集群,进而为服务网格增加或减少功能,以及改变所覆盖的网络范围或地理范围。
70.在本说明书中,数据面入口访问信息除了包含可访问网段信息以外,还可以包含相应应用服务集群的访问凭证。在向任一应用服务集群发起访问请求时,该访问请求应当包含该任一应用服务集群的访问凭证;而该任一应用服务集群则可以在接收到访问请求时,验证请求中是否包含访问凭证,若存在,则允许其进行访问,否则拒绝该访问请求。
71.在实际应用中,不同应用服务集群之间可能也存在相互访问的需求,但是由于不同应用服务集群属于不同的私有网络,因此,在获取到多个应用服务集群的数据面入口访问信息之后,还可以基于获取到的数据面入口访问信息在多个应用服务集群之间建立数据传输通道,以使多个应用服务集群之间也可以通过建立的数据传输通道进行相互访问。例如,在任一应用服务集群需要访问另一应用服务集群时,该任一应用服务集群可以通过预先建立的与该另一应用服务集群之间的数据传输通道发起访问请求,而该另一应用服务集群则可以通过该数据传输通道返回请求响应。需要声明的是,在多个应用服务集群之间建立数据传输通道的方式,与在控制端与应用服务集群之间建立数据传输通道的方式一致,可参照上文的介绍,在此不再赘述。
72.由上述技术方案可知,本说明书的技术方案在不同的私有网络中分别部署控制端和应用服务集群,相当于对服务网格的控制面和数据面进行了跨私网部署。其中,在对控制端和应用服务集群控制完毕后,控制端还可以获取多个应用服务集群的数据面入口访问信息,以及自身的控制面入口访问信息,以用于建立控制端和多个应用服务集群之间的数据传输通道。在此基础上,控制端与多个应用服务集群即可基于建立的数据传输通道进行相互访问,进而实现对多个应用服务集群的统筹管理。
73.应当理解的是,应用服务集群在服务网格中为面向用户的部分,若如相关技术中将控制端与应用服务集群均部署于同一私有网络中,那么,控制端也必然被部署于用户所使用私有网络下的设备中,用户需要自行对控制端进行维护。而对于用户而言,其通常不具备运维所需掌握的专业知识,运维成本较高。而在采用本说明书的跨私网集群管理方法之后,由于控制端被跨私网部署于独立的私有网络中,例如可以部署于独立的服务器中,可由专业的技术人员负责运行维护,且是同时对多个应用服务集群的控制端进行维护。可见,本说明书在实现对多个应用服务集群的统筹管理的同时,降低了控制端的运维成本。
74.进一步的,本说明书在获取到多个应用服务集群的数据面入口访问信息之后,还可以在多个应用服务集群之间建立数据传输通道,以使得多个应用服务集群之间也可以基于建立的数据传输通道进行相互访问。应当理解的是,相较于相关技术中通过cni插件实现不同集群之间的相互访问的方式,本说明书既无需在设备中安装任何插件,也无需利用各
个应用服务集群各自的控制端进行相互访问,大幅简化了访问操作。
75.再进一步的,本说明书可以对服务网格中包含的应用服务集群进行灵活配置,以满足不同阶段的应用需求。例如,若获取的入口访问信息为可访问网段信息,那么,当需要在服务网格中添加新的应用服务集群,以拓展服务网格的功能时,控制端即可获取该应用服务集群的可访问网段信息,以对路由信息表进行更新,并基于更新后的路由信息表在该应用服务集群与控制端之间建立数据传输通道,进而通过该数据传输通道进行相互访问;而在需要将服务网格中的某一应用服务集群去除时,则可以将建立的路由信息表中的该应用服务集群的可访问网段信息删除。
76.为实现上述基于服务网格的跨私网多集群管理方法,本说明书还提出了一种基于服务网格的跨私网多集群管理系统。该系统可以如图3所示,包括:服务网格的控制端31,以及由控制端31管理的多个应用服务集群;其中,控制端31与多个应用服务集群属于不同的私有网络。
77.在该系统中,控制端31可以用于:获取多个应用服务集群的数据面入口访问信息和控制端31的控制面入口访问信息,进而基于获取到的数据面入口访问信息和控制面入口访问信息,在控制端31和多个应用服务集群之间建立数据传输通道。在完成数据传输通道的建立以后,多个应用服务集群中的任一应用服务集群即可通过控制端31与自身之间的数据传输通道对控制端31进行访问;与此相对应的,该任一应用服务集群在接收到控制端31通过该数据传输通道发起的访问请求时,也可以对该访问请求进行响应。需要声明的是,控制端31管理的所有应用服务集群均可作为前文描述中的任一应用服务集群。
78.下面,以基于kubernetes搭建的集群为例,结合图3对本说明书建立跨私网多集群管理架构的过程进行介绍。进一步参考图3可知,属于服务网格控制面的控制端31可以包含集群添加器301、集群移除器302、多集群管理器303、路由管理器304、托管网格控制器305、网段融合器306和私网连通器307等组件;而属于服务网格数据面的各个kubernetes集群可以分别部署于不同的私有网络中,其中,任一kubernetes集群可以包含服务网格代理308和应用服务实例309。
79.图4为本说明书一示例性实施例示出的一种基于服务网格的多kubernetes集群管理方法的流程图。如图4所示,该方法可以包括以下步骤:
80.步骤401,获取下辖多个kubernetes集群的概要信息。
81.在本实施例中,控制端31中的多集群管理器303中可以维护其管理的所有kubernetes集群(即控制端31下辖的多个kubernetes集群)的概要信息,即图3所示的多集群概要。每一kubernetes集群的概要信息例如可以包括:相应集群所处的地域、集群的唯一标识、集群所在的私有网络等。在此基础上,控制端即可在获取可访问网段信息之前,优先获取多集群管理器303所维护的概要信息,以知晓需要获取哪些kubernetes集群的可访问网段信息。
82.步骤402,基于概要信息获取各个kubernetes集群的可访问网段信息。
83.在本实施例中,服务网格的控制端31可以部署于独立的服务器中,而各个kubernetes集群则可以部署于各个私有网络的至少一个物理机或者虚拟机环境中。其中,每个kubernetes集群可以包含若干个服务网格代理308和应用服务实例309,且不同的服务网格代理308共用所属私有网络的可访问网段信息。那么,在获取kubernetes集群的可访问
网段信息时,可以将该集群中任意服务网格代理308中配置的可访问网段信息,作为该集群的可访问网段信息。
84.在实际应用中,可以采用多种方式获取各个kubernetes集群的可访问网段信息,例如,可以由技术人员线下搜集的方式获取,或者,通过向相应集群所属私有网络发起请求的方式获取。具体如何获取各个集群的可访问网段信息,可由本领域技术人员根据实际情况确定,本实施例对此不作限制。
85.无论采用何种方式获取可访问网段信息,该操作通常由控制端31中包含的网段融合器306执行,其可以将获取到的各个kubernetes集群的可访问网段信息生成图3所示的多集群网段信息,并传输至路由管理器304。
86.步骤403,读取自身的可访问网段信息。
87.在本实施例中,控制端31还可以读取自身的可访问网段信息,即控制端网段信息,以用于构建控制端31与数据面的多个kubernetes集群所组成的服务网格的路由信息表。具体的,可以如图3所示,将该控制端网段信息也传输至路由管理器304。那么,路由管理器304在获取到控制端网段信息和多集群网段信息后,即可生成路由信息表。
88.步骤404,基于获取到的可访问网段信息生成路由信息表。
89.步骤405,创建转发路由器,并基于路由信息表对转发路由器进行路由转发配置。
90.在本实施例中,路由管理器304在生成路由信息表之后,即可将路由信息表进一步传输至私网连通器307和托管网格控制器305。其中,私网连通器307可以创建一转发路由器,并基于路由信息表对该转发路由器进行转发路由配置,而托管网格控制器305则可以在需要向kubernetes集群下发指令时,基于路由信息表生成指令。
91.在完成路由转发器的创建和配置之后,即可视为是创建了控制端31与各个kubernetes集群之间的数据传输通道。在此基础上,控制端与各个kubernetes集群之间,以及各个kubernetes集群相互之间即可进行相互访问。
92.应当理解的是,上述步骤501~505相当于在跨私网部署的控制端与多个kubernetes之间构建了访问机制。在完成构建之后,即可开始相互访问。例如,在任一kubernetes需要访问控制端时,可以调用服务网格代理308,以生成针对控制端的访问请求,并将访问请求发送至转发路由器,以由转发路由器基于配置的路由信息表,确定出转发路径,并基于确定的转发路径将访问请求发送至控制端,而控制端则可以对接收到的访问请求进行响应;而在控制端需要访问任一kubernetes集群时,可以调用保存有路由信息表的托管网格控制器305,以基于路由信息表生成针对该任一kubernetes集群的访问请求,并将访问请求发送至转发路由器,以由转发路由器基于配置的路由信息表,确定出转发路径,并基于确定的转发路径将访问请求发送至该任一kubernetes集群。而在任一kubernetes需要访问其他kubernetes时,同样可以调用服务网格代理308,以生成针对该其他kubernetes的访问请求,并将访问请求发送至转发路由器,以由转发路由器基于配置的路由信息表,确定出转发路径,并基于确定的转发路径将访问请求发送至其他kubernetes集群,而该其他kubernetes集群则可以对该访问请求进行响应。
93.在本实施例中,控制端31在获取可访问网段信息时,还可以获取各个kubernetes集群的访问凭证,并将各个kubernetes集群的访问凭证也配置于转发路由器中,以便控制端或其他kubernetes集群在需要访问任一kubernetes集群时,基于该任一kubernetes集群
的访问凭证向该任一kubernetes集群发起访问。其中,在该情况下,控制端和各个kubernetes集群在向任一kubernetes集群发起访问请求时,需要基于该集群的访问凭证发起访问请求,而该任一kubernetes集群在接收到访问请求时,则会优先确定其中是否包含自身的访问凭证,若存在才对接收到的访问请求进行响应,否则,不进行响应。
94.需要声明的是,本实施例中的控制端31还可以包括集群添加器301和集群移除器302,并向用户提供用于集群添加和集群移除的控制界面。那么,用户在需要将服务网格中的任一kubernetes集群删除时,即可通过对控制界面进行操作,以调用集群移除器302,将多集群概要中包含的该任一kubernetes集群的概要信息删除,相应的,路由管理器304会根据多集群概要的动态变化,对路由信息表中包含的该任一kubernetes集群的可访问网段信息删除;而用户在需要向服务网格中添加新的kubernetes集群时,同样可以通过对控制界面进行操作,以调用集群添加器301,将新增kubernetes集群的概要信息添加至多集群概要中,相应的,路由管理器304会根据多集群概要的动态变化,在路由信息表中添加该新增kubernetes集群的可访问网段信息。
95.由上述技术方案可知,本实施例可以在服务网格包含的控制端和多个kubernetes集群之间创建转发路由器,并将路由信息表配置于该转发路由器中。在此基础上,任一kubernetes集群或者控制端,均可以通过该转发路由器对服务网格内的kubernetes集群或控制端进行访问。可见,本实施例通过创建转发路由器的方式,使得服务网格内的控制端可以对多个kubernetes集群进行统筹管理。
96.除此之外,控制端还可以基于用户操作灵活配置服务网格内包含的kubernetes集群,使得本领域技术人员可以根据实际需求,调整服务网格的功能及覆盖范围,提高了服务网格的可扩展性。
97.图5是一示例性实施例提供的一种设备的示意结构图。请参考图5,在硬件层面,该设备包括处理器502、内部总线504、网络接口506、内存508以及非易失性存储器510,当然还可能包括其他功能所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器502从非易失性存储器510中读取对应的计算机程序到内存508中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
98.请参考图6,基于服务网格的跨私网多集群管理装置可以应用于如图5所示的设备中,以实现本说明书的技术方案。其中,该基于服务网格的跨私网多集群管理装置应用于所述服务网格的控制端,且该控制端与属于该服务网格的数据面的多个应用服务集群分别属于不同的私有网络;该装置可以包括:
99.获取单元601,获取所述多个应用服务集群的数据面入口访问信息,以及所述控制端的控制面入口访问信息;
100.建立单元602,基于获取到的数据面入口访问信息和控制面入口访问信息,在所述控制端和所述多个应用服务集群之间建立数据传输通道,以使所述控制端与所述多个应用服务集群通过建立的数据传输通道进行相互访问。
101.可选的,获取单元601被进一步用于:
102.在所述任一应用服务集群仅包含一个服务网格代理的情况下,获取该服务网格代
理所在集群提供的入口访问信息;
103.在所述任一应用服务集群包含多个服务网格代理的情况下,获取该多个服务网格代理中的任意服务网格代理所在集群提供的入口访问信息;其中,所述多个服务网格代理使用相同的入口访问信息。
104.可选的,所述数据面入口访问信息为相应应用服务集群的可访问网段信息,所述控制面入口访问信息为所述控制端的可访问网段信息;建立单元602被进一步用于:
105.基于所述多个应用服务集群的可访问网段信息和所述控制端的可访问网段信息,生成所述多个应用服务集群与所述控制端之间的路由信息表;
106.基于所述路由信息表在所述控制端和所述多个应用服务集群之间建立数据传输通道。
107.可选的,建立单元602被进一步用于:
108.对所述多个应用服务集群的可访问网段信息和所述控制端的可访问网段信息进行网段融合,以计算出相应可路由的网段最小范围;
109.根据所述可路由的网段最小范围,生成所述多个应用服务集群与所述控制端之间的路由信息表。
110.可选的,建立单元602被进一步用于:
111.创建转发路由器,并根据所述路由信息表对所述转发路由器进行路由转发配置。
112.可选的,还包括:
113.更新单元603,在监听到所述多个应用服务集群的可访问网段信息的变化数据的情况下,根据所述变化数据对所述路由信息表进行更新;
114.其中,在所述多个应用服务集群中的任意应用服务集群的可访问网段信息发生变化和/或获取到新加入所述服务网格的应用服务集群的可访问网段信息时,确定监听到所述变化数据。
115.可选的,所述多个应用服务集群中的各个应用服务集群属于不同的私网网络;建立单元602还被用于:
116.基于所述多个应用服务集群的数据面入口访问信息在所述多个应用服务集群之间建立数据传输通道,以使所述多个应用服务集群通过建立的数据传输通道进行相互访问。
117.可选的,所述控制端维护有所管理的所有属于所述服务网格的多个应用服务集群的多集群概要;获取单元601进一步被用于:
118.确定所述多集群概要中记录的所有应用服务集群的信息根据所述控制端维护的所述多个应用服务集群的集群概要,并获取所确定的述多个应用服务集群的数据面入口访问信息。
119.可选的,还包括:
120.监听单元604,监听针对所述控制端所管理的应用服务集群集群概要的添加事件和删除事件;在监听到所述添加事件的情况下,在所述集群概要中添加新增应用服务集群的概要信息;在监听到所述删除事件的情况下,将所述集群概要中与所述删除事件对应的应用服务集群的概要信息删除。
121.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,
或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
122.在一个典型的配置中,计算机包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
123.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
124.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
125.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
126.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
127.在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
128.应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
129.以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说
明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1