一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种服务器IP与服务标识关联的方法及装置与流程

2023-01-16 23:08:58 来源:中国专利 TAG:

一种服务器ip与服务标识关联的方法及装置
技术领域
1.本技术涉及计算机技术领域,尤其涉及一种服务器ip与服务标识关联的方法及装置。


背景技术:

2.kubernetes(缩写k8s)是为容器服务而生的一个可移植容器的编排管理工具。随着技术的不断成熟,越来越多的服务容器化,以微服务的方式部署在k8s上,这对网络流量分析带来了新的挑战。
3.节点node是k8s集群中的工作负载节点,每个节点都会被分配一些工作负载(容器)。
4.在k8s集群中,独立单元pod是所有业务类型的基础,也是k8s管理的最小单位级,它是一个或多个容器的组合。每个pod都有一个k8s系统中全局唯一的ip地址(podip),并且启用了数个提供服务service的端口。
5.服务是k8s中的一种抽象定义,是一种可以访问 pod逻辑分组的策略,通常用来定义一种微服务。每个服务都具有全局唯一的通用唯一识别码(universally unique identifier,uuid),可用于标识具体的服务。一个pod中的一个端口只能属于一个服务,即podip pod端口与service的关系为多对一或一对一。
6.在云中控展示服务维度的数据时,需要将原始的4元组信息(客户端ip,客户端端口,服务器ip,服务器端口)中服务器ip与服务标识进行关联。随着k8s机器的规模不断扩大,服务器ip的数量也是急剧增加,与服务标识进行关联的开销也急剧增加。假设一个k8s系统中有n(现实情况中至少为数千)个pod,平均每个pod有m(现实中为数个)个提供服务的端口,则将服务器ip(对应到podip)与服务标识关联算法的时间复杂度为o(n*m)。如何降低服务器ip与服务标识关联的难度,是本技术要解决的技术问题。


技术实现要素:

7.本技术提出一种服务器ip与服务标识关联的方法及装置,解决了在将服务器ip与服务标识关联时时间复杂度高的问题,降低了服务器ip与服务标识关联的难度,提升了关联效率。
8.本技术实施例提供一种服务器ip与服务标识关联的方法,包括:控制器获得第一pod中的服务信息,构建服务配置信息并配置到第一pod所在节点中的第二pod;所述第二pod监控第一pod,生成网络统计信息;所述第二pod根据服务配置信息中的第一pod 的ip地址、提供服务的pod端口与网络统计信息中的服务器ip、服务器端口关联,关联结果中含有服务标识;所述第二pod发送包含所述关联结果的网络统计信息给控制器。
9.在一些实施例中,所述第二pod监控第一pod,生成网络统计信息,包括:第二pod具
有主机网络权限,访问第一pod的虚拟以太网veth接口,针对每个veth接口启动网络统计分析。
10.本技术实施例还提供一种服务器ip与服务标识关联的装置,包括:控制器,用于获得第一pod中的服务信息,构建服务配置信息并配置到第一pod所在节点中的第二pod,接收第二pod发送的包含所述关联结果的网络统计信息;第一单元,用于运行所述服务,支持控制器查询第一pod中的服务信息;第二单元,用于监控第一pod,生成网络统计信息,根据服务配置信息中的第一pod 的ip地址、提供服务的pod端口与网络统计信息中的服务器ip、服务器端口关联,关联结果中含有服务标识,发送包含所述关联结果的网络统计信息给控制器。
11.本技术实施例采用的上述至少一个技术方案能够达到以下有益效果:假设一个k8s系统中有n(现实情况中至少为数千)个pod,平均每个pod有m(现实中为数个)个提供服务的端口,本技术的方法可以将关联算法的时间复杂度从o(n*m)降低为o(m)。即使在k8s系统中pod数量急剧增加,也不会对ip与服务标识的关联处理开销产生巨大影响,即降低了处理所消耗的时间。
附图说明
12.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:图1为本技术实施例提供的一种服务器ip与服务标识关联的方法流程图;图2为本技术实施例提供的一种边缘计算节点处理流程图;图3为本技术实施例提供的一种关联方法对比示意图;图4为本技术实施例提供的一种服务器ip与服务标识关联的装置结构示意图;图5为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
13.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
14.以下结合附图,详细说明本技术各实施例提供的技术方案。
15.实施例1如图1所示,本技术实施例提供了一种服务器ip与服务标识关联的方法,该方法包括步骤110~140:步骤110:控制器获得第一pod中的服务信息,构建服务配置信息并配置到第一pod所在节点中的第二pod;在本实施例中,在一个与服务相关联的第一pod启动后,服务运行在第一pod上。控制器通过k8s应用程序接口api查询获得服务所在第一pod的ip地址(podip)、提供服务的pod端口号以及服务的服务标识uuid等服务信息,在控制器中构建服务配置信息,并配置到第一pod所在节点中的第二pod。
16.云中控是部署在云数据中心上一种中控系统,是本技术所述控制器的一种实现。
17.所述服务配置信息至少包括:第一pod的ip地址、pod端口以及服务的服务标识。
18.表1是本实施例提供的服务配置信息:将服务配置信息配置到第二pod,具体是配置到第一pod所在的节点上的边缘计算单元(ecu,edge computing unit),ecu作为pod运行在node上,负责进行网络流量的抓取和分析,输出网络统计信息。
19.在一个k8s系统中,有多个节点,每个节点中只有一个第二pod,有一个或多个第一pod。
20.具体如在图2中,步骤210~220给出控制器获取第一podip、端口号和服务标识,并将服务配置信息配置到边缘计算节点的一个示例。
21.步骤120:所述第二pod监控第一pod,生成网络统计信息;所述第二pod监控第一pod,生成网络统计信息,包括:第二pod具有主机网络权限,访问第一pod的虚拟以太网veth接口,针对每个veth接口启动网络统计分析。
22.在本实施例中,第二pod(即ecu)具有主机网络权限,即能监测到主机名称空间里的所有网络接口,可以对其他pod在主机名称空间里的veth接口进行抓包。节点内的pod通过虚拟网线(veth pair)连接pod本地名称空间和主机名称空间,即pod内部会创建一个具有podip的veth接口,node上会创建另一个veth,这两个veth组成一个veth pair。因此在主机名称空间里,每个pod都有一个对应的veth网络接口。
23.第二pod获得上述服务配置信息后,确定服务配置信息中的第一podip为监控的第一pod,确定第一pod对应的虚拟以太网veth接口,并且建立如下的veth关系对应表:第一pod对应veth接口 第一pod端口号-服务的服务标识,访问第一pod的veth接口,针对每个veth接口启动网络统计分析,实现第二pod监控第一pod。
24.配置到第二pod的服务配置信息中可包含多个第一podip、pod端口号及服务标识,也可配置多次服务配置信息到第二pod。本技术不做具体限制。
25.设置第二pod有主机网络权限,即能监测到主机名称空间里的所有网络接口,对其他第一pod在主机名称空间里的veth接口进行抓包。
26.为了监控第一pod的网络流量,在节点node上的边缘计算单元ecu分析原始网络数据,得出网络统计信息flowstats,所述网络统计信息至少包含4元组信息(客户端ip,客户端端口,服务器ip,服务器端口)和数据流量信息。
27.表2是本技术实施例提供的一种网络统计信息,数据流量信息包含了时间段内的总流量:
步骤130:所述第二pod根据服务配置信息中的第一pod 的ip地址、提供服务的pod端口与网络统计信息中的服务器ip、服务器端口关联,关联结果中含有服务标识;进一步,检测所述服务配置信息中的第一pod的ip地址、提供服务的pod端口与网络统计信息中的服务器ip、服务器端口对应相同,如相同,则将网络统计信息与服务配置信息关联,关联结果中含有服务标识。
28.进一步的实施例具体如图2的步骤230、240~243,其中步骤230中边缘计算节点根据第一podip确定veth接口(veth1),并为此接口启动抓取/分析任务,以线程方式运行,监控第一veth接口对应的第一pod。对其他第一pod,进行相同监控操作。
29.步骤241:ecu周期性计算网络统计信息;步骤242:ecu检查网络统计信息中的服务器ip是否为此veth接口的podip:如果是,进入下一步;如果否,将网络统计信息直接发送给控制器。
30.步骤243:根据veth关系对应表(第一pod对应veth接口 第一pod端口号-服务的服务标识),将网络统计信息中的服务器端口与veth关系对应表中的第一pod端口号作比较,若相同,可知网络统计信息与veth关系对应表中的服务标识所代表的服务对应,即获取到关联的服务的服务标识。将含有服务标识的关联结果附加到网络统计信息,即此时的网络统计信息中至少包含4元组信息(客户端ip,客户端端口,服务器ip,服务器端口)、数据流量信息和服务标识,还可以包含包率、响应延时等性能指标。
31.步骤140:所述第二pod发送包含所述关联结果的网络统计信息给控制器。
32.在本实施例中,第二pod将包含所述关联结果的网络统计信息发生给控制器,即网络统计信息中至少包含4元组信息(客户端ip,客户端端口,服务器ip,服务器端口)、数据流量信息和服务标识。
33.在本实施例中,控制器收到包含关联结果的网络统计信息后,可按服务维度显示关联信息。
34.如图3所示,未采用本技术方法前,控制器会获取k8s集群内的pod-service对应关系,一般按照podip 端口号对应到服务标识来组织以便显示关联信息。而通过ecu关联后,服务的关联信息将按每个veth(podip)下不同端口号对应到服务标识来组织。通过在ecu上进行关联,提高了关联方法的处理效率。
35.通过在ecu上监控第一pod,生成网络统计信息,通过网络统计信息与服务配置信息的关联,获得了服务器ip与服务标识的关联关系。本技术方法极大地降低了查找空间,将关联算法的时间复杂度从o(n*m)降低为o(m),大幅提升了处理效率。即使在k8s系统中pod数量急剧增加,也不会对服务器ip与服务标识的关联开销产生影响。
36.需要说明的是,实施例1所提供方法的各步骤的执行主体均可以是同一设备,或
者,该方法也由不同设备作为执行主体。比如,步骤110和步骤120的执行主体可以为设备1,步骤130的执行主体可以为设备2;又比如,步骤110的执行主体可以为设备1,步骤120和步骤130的执行主体可以为设备2;等等。
37.实施例2如图4所示,本实施例提供了一种服务器ip与服务标识关联的装置,用于实现本技术任一实施例的方法,包括:控制器410,第一单元420,第二单元430;控制器410,如步骤110和140所述,用于获得第一pod中的服务信息,构建服务配置信息并配置到第一pod所在节点中的第二pod,接收第二pod发送的包含所述关联结果的网络统计信息;第一单元420,如步骤110所述,用于运行所述服务,支持控制器查询第一pod中的服务信息;进一步,支持控制器通过k8s api查询第一pod中的服务信息。
38.第二单元430,如步骤120和130所述,用于监控第一pod,生成网络统计信息,根据服务配置信息中的第一pod 的ip地址、提供服务的pod端口与网络统计信息中的服务器ip、服务器端口关联,关联结果中含有服务标识,发送包含所述关联结果的网络统计信息给控制器。
39.实施例3本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
40.因此,本技术还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本技术中任一实施例所述的方法。
41.实施例4进一步地,本技术还提出一种电子设备(或计算设备),包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本技术任一实施例所述的方法。
42.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
43.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
44.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计
算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
45.在一个典型的配置中,计算设备包括一个或多个处理器 (cpu)、输入/输出接口、网络接口和内存。
46.图5是本技术实施例提供的一种电子设备的结构示意图。图中显示的电子设备500仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
47.其包括:一个或多个处理器520;存储装置510,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器520运行,使得所述一个或多个处理器520实现本技术实施例所提供的服务器ip与服务标识关联的方法,该方法包括:控制器获得第一pod中的服务信息,构建服务配置信息并配置到第一pod所在节点中的第二pod;所述第二pod监控第一pod,生成网络统计信息;所述第二pod根据服务配置信息中的第一pod 的ip地址、提供服务的pod端口与网络统计信息中的服务器ip、服务器端口关联,关联结果中含有服务标识;所述第二pod发送包含所述关联结果的网络统计信息给控制器。
48.电子设备中处理器520的数量可以是一个或多个,图中以一个处理器520为例;电子设备中的处理器520、存储装置510、输入装置530和输出装置540可以通过总线或其他方式连接,图中以通过总线550连接为例。
49.存储装置510作为一种计算机可读存储介质,可用于存储软件程序、计算机可运行程序以及模块单元,如本技术实施例中的服务器ip与服务标识关联方法对应的程序指令。存储装置510可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置510可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置510可进一步包括相对于处理器520远程设置的存储器,这些远程存储器可以通过网络连接。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
50.输入装置530可用于接收输入的数字、字符信息或语音信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏、扬声器等电子设备。
51.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
52.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献