CN117201302A - 服务网格的集中式代理升级方法、装置、设备及介质 - Google Patents
服务网格的集中式代理升级方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117201302A CN117201302A CN202310944728.9A CN202310944728A CN117201302A CN 117201302 A CN117201302 A CN 117201302A CN 202310944728 A CN202310944728 A CN 202310944728A CN 117201302 A CN117201302 A CN 117201302A
- Authority
- CN
- China
- Prior art keywords
- centralized
- component
- agent component
- proxy
- new version
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 99
- 230000008569 process Effects 0.000 claims abstract description 58
- 238000012544 monitoring process Methods 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 5
- 238000004886 process control Methods 0.000 claims description 4
- 239000000306 component Substances 0.000 description 292
- 238000007726 management method Methods 0.000 description 32
- 230000006854 communication Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005111 flow chemistry technique Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本公开涉及一种服务网格的集中式代理升级方法、装置、设备及介质。该方法应用于DPU,服务网格的集中式代理组件安装在DPU上,由安装在服务器节点上的控制平面组件管理,用于管理服务器节点上各容器相关的数据平面流量,该方法包括:接收服务器节点发送的升级信息,升级信息中包括集中式代理组件的新版本信息;根据新版本信息创建新版集中式代理组件;利用新版集中式代理组件逐步接管集中式代理组件负责的数据平面流量管理服务;当数据平面流量管理服务完全由新版集中式代理组件接管时,终止集中式代理组件。本公开可以实现服务网格的集中式代理的热升级,使得集中式代理在升级过程中继续提供服务,防止因升级而造成流量损失。
Description
技术领域
本公开涉及计算机技术领域,具体涉及一种服务网格的集中式代理升级方法、装置、设备及介质。
背景技术
DPU(Data Processing Unit,数据处理器)是以数据为中心、I/O密集型、采用软件定义技术路线支撑基础设施资源层虚拟化,具备提升计算系统效率、降低整体系统的总拥有成本,并提高数据处理效能、降低其他计算芯片性能损耗的新一代计算芯片。
服务网格用于云原生微服务间通信的基础设施层,负责控制应用的不同部分之间如何共享数据。它通常由两个组件组成:控制平面和数据平面。控制平面负责完成服务发现、负载均衡、流量管理、健康检查等功能,数据平面则负责实际的请求转发和处理。
传统的服务网格采用边车部署模式,即每一个微服务配置一个边车,由作为边车的数据平面代理组件处理与转发一个微服务的请求。由于边车会大量占用主机的资源,同时也会大幅度降低微服务时延和流量处理效率,因此集中式服务网格模式产生。集中式服务网格通过所有微服务共享一个服务网格的集中式代理组件,可以节约主机资源。而且通过将服务网格的集中式代理组件卸载到DPU上,由DPU上的集中式代理对业务流量进行透明的流量劫持与代理,可以提高流量转发效率,降低了网络时延。例如,同一Node(节点)上的service(服务)A发送至serviceB的流量通过DPU上的集中式代理进行转发,DPU上实现了用户态协议栈,对请求进行了加速,时延降低。
目前边车模式服务网格的数据平面在升级时,原先每个微服务会配置一个边车形式的代理组件代理该微服务的数据平面流量,为了实现热升级,在升级过程中每个微服务又会新增一个边车,成倍消耗了主机资源,增加了管理的复杂性,还会大幅度降低了安全性和流量处理效率,增大微服务时延,并且联调和测试也相较困难。边车模式服务网格的数据平面代理升级方案与集中式服务网格模式的注重点相违背,集中式服务网格的数据平面代理组件在升级时无法采用该方案,因此需要一种适用于集中式服务网格的数据平面代理组件升级方案。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种服务网格的集中式代理升级方法、装置、设备及介质。
第一方面,本公开提供了一种服务网格的集中式代理升级方法,所述方法应用于DPU,服务网格的集中式代理组件安装在DPU上,由安装在服务器节点上的控制平面组件管理,用于管理服务器节点上各容器相关的数据平面流量,所述方法包括:
接收服务器节点发送的升级信息,所述升级信息中包括集中式代理组件的新版本信息;
根据所述新版本信息创建新版集中式代理组件;
利用所述新版集中式代理组件逐步接管所述集中式代理组件负责的数据平面流量管理服务;
当所述数据平面流量管理服务完全由所述新版集中式代理组件接管时,终止所述集中式代理组件。
可选的,所述接收服务器节点发送的升级信息之前,还包括:
创建代理进程,由所述代理进程控制所述集中式代理组件和所述新版集中式代理组件的生命周期;
所述接收服务器节点发送的升级信息,包括:
通过所述代理进程接收所述服务器节点上的控制平面组件发送的升级信息;
所述根据所述新版本信息创建新版集中式代理组件,包括:
由所述代理进程根据所述新版本信息创建所述新版集中式代理组件。
可选的,所述利用所述新版集中式代理组件逐步接管所述集中式代理组件负责的数据平面流量管理服务,包括:
控制所述新版集中式代理组件获取所述集中式代理组件监听连接和请求的监听套接字;
通过所述新版集中式代理组件向所述集中式代理组件发送所述套接字获取完毕的通知信息,以使所述集中式代理组件停止接收所述套接字监听的请求;
对于所述集中式代理组件已建立的连接,在等待所述集中式代理组件处理完成所述已建立的连接后,控制所述集中式代理组件关闭所述已建立的连接并释放连接套接字。
可选的,所述升级信息中还包括初始化信息,所述初始化信息基于所述集中式代理组件的配置参数生成;
所述控制所述新版集中式代理组件获取所述集中式代理组件监听连接和请求的监听套接字,包括:
根据所述初始化信息初始化所述新版集中式代理组件,以使所述新版集中式代理组件的配置参数同步为所述集中式代理组件的配置参数;
通过所述新版集中式代理组件向所述集中式代理组件发送关闭请求,以通知所述集中式代理组件开始进行资源释放和退出;
由所述新版集中式代理组件根据所述配置参数从协议栈中获取所述集中式代理组件监听连接和请求的监听套接字。
可选的,所述控制所述集中式代理组件关闭所述已建立的连接并释放已建立连接的连接套接字之后,还包括:
通过所述新版集中式代理组件向所述集中式代理组件发送获取统计数据的请求,以使所述集中式代理组件向所述新版集中式代理组件返回统计数据;
在所述新版集中式代理组件接收到所述统计数据后,确定所述数据平面流量管理服务完全由所述新版集中式代理组件管理;
所述统计数据包括所述集中式代理组件负责所述数据平面流量管理服务时的运行数据。
可选的,终止所述集中式代理组件,包括:
由所述新版集中式代理组件向所述集中式代理组件发送终止所述集中式代理组件的终止请求;
所述集中式代理组件接收到所述终止请求后,所述集中式代理组件向所述代理进程发送所述终止请求;
在所述代理进程接收到所述终止请求后,由所述代理进程终止所述集中式代理组件。
可选的,所述新版集中式代理组件和所述集中式代理组件通过共享内存进行通信。
第二方面,本公开提供了一种服务网格的集中式代理升级装置,所述装置应用于DPU,服务网格的集中式代理组件安装在DPU上,由安装在服务器节点上的控制平面组件管理,用于管理服务器节点上各容器相关的数据平面流量,所述装置包括:
接收模块,用于接收服务器节点发送的升级信息,所述升级信息中包括集中式代理组件的新版本信息;
创建模块,用于根据所述新版本信息创建新版集中式代理组件;
处理模块,用于利用所述新版集中式代理组件逐步接管所述集中式代理组件负责的数据平面流量管理服务;
终止模块,用于当所述数据平面流量管理服务完全由所述新版集中式代理组件接管时,终止所述集中式代理组件。
第三方面,本公开提供了一种电子设备,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面任一项所述的方法。
第四方面,本公开提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述的方法。
本公开提供的技术方案与现有技术相比具有如下优点:
本公开提供的服务网格的集中式代理升级方法、装置、设备及介质,通过接收服务器节点发送的升级信息,根据该升级信息中集中式代理组件的新版本信息创建新版集中式代理组件,然后利用新版集中式代理组件逐步接管集中式代理组件负责的数据平面流量管理服务,在数据平面流量管理服务由新版集中式代理组件完全接管后终止集中式代理组件。由于创建了新版集中式代理组件接管集中式代理组件负责的数据平面流量管理服务,可以在升级过程中让新版集中式代理组件继续处理新接收的数据平面流量,并让已接收的数据平面流量由集中式代理组件处理完成,从而实现集中式代理组件的热升级,避免因升级造成流量损失。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的服务网格的集中式代理升级方法流程图;
图2为本公开实施例提供的一种应用场景的示意图;
图3为本公开实施例提供的服务网格的集中式代理升级装置的结构示意图;
图4为本公开实施例提供的电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
图1为本公开实施例提供的一种服务网格的集中式代理升级方法流程图。该方法应用于DPU,可以由服务网格的集中式代理升级装置执行,该服务网格的集中式代理升级装置可以采用软件和/或硬件的方式实现,该服务网格的集中式代理升级装置可配置于DPU(Data Processing Unit,数据处理器)中。其中,服务网格的集中式代理组件安装在DPU上,由安装在服务器节点上的控制平面组件管理,用于管理服务器节点上各容器相关的数据平面流量。
图2为本公开实施例提供的一种应用场景的示意图,图2所示应用场景中包括服务器节点210和DPU220。服务器节点210上安装的Istiod组件211作为控制平面组件管理DPU220的片上系统(SOC,System on Chip)上安装的旧版Envoy组件221,旧版Envoy组件221作为数据平面的集中式代理组件负责管理与服务器节点210上各容器相关的数据平面流量。其中,Istiod组件211和旧版Envoy组件221构成服务器节点210的服务网格,Envoy是一个开源的、灵活且可扩展的代理,能够在安装于各节点上的服务之间进行请求路由、负载均衡、故障恢复和安全认证等功能。Istiod是Istio服务网格的核心组件之一,用于配置和管理Istio服务网格,例如,Envoy进行流量路由的配置信息就由Istiod下发。为了便于区分,本公开实施例将未升级前的集中式代理组件称为旧版Envoy组件,将升级后的集中式代理组件称为新版Envoy组件,即图2所示的新版Envoy组件223。DPU220片上系统上的Agent进程222为DPU220创建的代理进程,负责控制Envoy的生命周期。
本公开实施例提供的服务网格的集中式代理升级方法可由图2所示的DPU220执行,该方法包括如下步骤:
S101、接收服务器节点发送的升级信息,升级信息中包括集中式代理组件的新版本信息。
服务网格的数据平面代理升级时,由服务网格的控制平面下发升级信息,即服务器节点210上Istiod组件211下发旧版Envoy组件221的升级信息,DPU220接收该升级信息。升级信息包括Envoy组件的升级版本信息,也就是Envoy组件的新版本信息。
在一些实施例中,接收服务器节点发送的升级信息之前,还包括:创建代理进程,由代理进程控制集中式代理组件和新版集中式代理组件的生命周期。
在开始升级Envoy组件时,DPU220通过创建一个Agent进程222来控制Envoy组件的生命周期,即旧版Envoy组件221以及后续创建的新版Envoy组件223的生命周期。
这是因为Istiod组件安装在服务器节点侧,而Envoy组件安装在DPU的SOC侧。在SOC侧创建Agent进程就无需Istiod组件来控制Envoy组件的生命周期,避免了在控制Envoy组件升级过程中传递请求需要DPU频繁与服务器节点进行通信。
相应的,DPU220在接收服务器节点210发送的升级信息时,通过Agent进程222接收服务器节点侧Istiod组件211发送的升级信息。
本公开实施例通过创建代理进程来接收服务器节点上控制平面组件下发的升级信息,从而让代理进程控制集中式代理组件的升级流程,避免在升级过程中DPU与服务器节点频繁进行通信。
S102、根据新版本信息创建新版集中式代理组件。
DPU220根据升级信息中Envoy组件的新版本信息创建一个新版本的Envoy实例,即新版Envoy组件223。
在一种实施方式中,根据新版本信息创建新版集中式代理组件,包括:由代理进程根据新版本信息创建新版集中式代理组件。
在DPU220创建了Agent进程222的情况下,由Agent进程222根据Envoy组件的新版本信息创建新版Envoy组件223,即由Agent进程222控制新版Envoy组件223的生命周期。
S103、利用新版集中式代理组件逐步接管集中式代理组件负责的数据平面流量管理服务。
服务网格是一种用于管理和连接微服务的架构模式,在一个微服务架构中,各个微服务之间需要进行网络通信。通常一个服务器节点上部署有多个容器,容器可以为微服务提供运行环境,使得一个服务器节点上可以部署多个微服务,而服务网格则可以为多个服务器节点上部署的多个微服务提供了一个统一的通信环境。旧版Envoy组件221负责管理服务器节点210上各容器相关的数据平面流量,包括其它服务器节点与服务器节点210上部署的微服务之间的数据流量,以及服务器节点210上多个微服务之间的数据流量。
在Envoy组件升级过程中,通过新版Envoy组件223逐步接管旧版Envoy组件221负责的数据平面流量管理服务,使得旧版Envoy组件221正在处理的数据平面流量不会因Envoy组件升级而丢失。首先可以将旧版Envoy组件221已处理完成的请求和连接移交给新版Envoy组件223,因为已处理完成的请求和连接当前未产生数据平面流量,所以可以直接将这部分请求和连接直接移交给新版Envoy组件223管理,然后对于旧版Envoy组件221正在进行的请求和连接,则在等待旧版Envoy组件221处理完成后移交给新版Envoy组件223,从而完成逐步接管的步骤。移交的请求和连接由新版Envoy组件223继续提供流量管理服务。
升级信息中还包括初始化信息,初始化信息基于集中式代理组件的配置参数生成。在一种实施方式中,S103具体包括如下步骤:
S1031、根据初始化信息初始化新版集中式代理组件,以使新版集中式代理组件的配置参数同步为集中式代理组件的配置参数。
在服务网格架构中,由Istiod组件211下发配置参数指示旧版Envoy组件221进行数据平面流量管理,也就是旧版Envoy组件221的配置参数是根据Istiod组件211传输的控制平面流量进行设置的,因此可以理解的是,Istiod组件211可以以下发给旧版Envoy组件221的配置参数生成新版Envoy组件223的初始化信息。在Agent进程222创建了新版Envoy组件223后,根据该初始化信息让新版Envoy组件223进行初始化,使得新版Envoy组件223的配置参数同步为旧版Envoy组件221的配置参数,如此便可以让新版Envoy组件223与旧版Envoy组件221保持一致,以便后续新版Envoy组件223接管旧版Envoy组件221管理的请求和连接。
S1032、通过新版集中式代理组件向集中式代理组件发送关闭请求,以通知集中式代理组件开始进行资源释放和退出。
初始化完成后,新版Envoy组件223接管数据平面流量管理服务的准备已完成,新版Envoy组件223向旧版Envoy组件221发送shutdown请求(关闭请求),告知旧版Envoy组件221需要进行资源释放和退出。
S1033、由新版集中式代理组件根据配置参数从协议栈中获取集中式代理组件监听连接和请求的监听套接字。
新版Envoy组件223根据初始化的配置参数从用户态协议栈224中获取旧版Envoy组件221用于监听外部请求和连接的监听套接字,由新版Envoy组件223继续接收来自外部的请求。获取到套接字后,新版Envoy组件223可以替代旧版Envoy组件221接收微服务的流量,确保流量被转发。外部的请求包括服务器节点210中不同容器之间进行通信连接的请求以及服务器节点210上的容器与其它服务器节点上的容器进行通信连接的请求。
套接字(socket)是一种在计算机网络中用于通信的软件结构,套接字提供了一种简单、统一和可靠的编程接口,使程序可以通过网络进行通信。监听套接字(ListeningSocket)是用于等待和接受传入连接的套接字,用于在服务器端侦听指定的网络地址和端口,一旦监听套接字与客户端的连接建立,它会创建一个连接套接字(Connection Socket)来处理与客户端之间的通信。连接套接字是客户端和服务器之间建立连接后所使用的套接字,连接套接字用于双方之间实际的数据传输,允许双方进行双向通信。
S1034、通过新版集中式代理组件向集中式代理组件发送套接字获取完毕的通知信息,以使集中式代理组件停止接收套接字监听的请求。
在新版Envoy组件223获取到旧版Envoy组件221用于监听外部请求和连接的套接字后,新版Envoy组件223向旧版Envoy组件221发送套接字获取完毕的通知信息。旧版Envoy组件221接收到该通知信息后不再接收新的请求,但对当前已经建立的连接正常进行执行。
S1035、对于集中式代理组件已建立的连接,在等待集中式代理组件处理完成已建立的连接后,控制集中式代理组件关闭已建立的连接并释放连接套接字。
对于旧版Envoy组件221当前已建立的连接,由旧版Envoy组件221继续处理这些正在进行的连接,在等待旧版Envoy组件221已经建立的连接处理完成后,由旧版Envoy组件221关闭这些已经建立的连接。当连接关闭时,这些连接的连接套接字将被释放,在新版Envoy组件223的监听套接字接收到新的连接请求后,释放的连接套接字可能会被操作系统重新分配给新版Envoy组件223去建立新的连接。
本公开实施例通过根据升级信息中的初始化信息将新版集中式代理组件初始化,使其配置参数与集中式代理组件的配置参数保持一致,然后让新版集中式代理组件根据初始化的配置参数从协议栈中获取集中式代理组件监听连接和请求的监听套接字,使新版集中式代理组件可以继续接收外部的请求,并对集中式代理组件已建立的连接,在等待集中式代理组件处理完成已建立的连接后,控制集中式代理组件关闭已建立的连接并释放连接套接字,从而实现集中式代理组件的热升级,避免因升级造成流量损失。
在一些实施例中,控制集中式代理组件关闭已建立的连接并释放已建立连接的连接套接字之后,还包括:通过新版集中式代理组件向集中式代理组件发送获取统计数据的请求,以使集中式代理组件向新版集中式代理组件返回统计数据;在新版集中式代理组件接收到统计数据后,确定数据平面流量管理服务完全由新版集中式代理组件管理;统计数据包括集中式代理组件负责数据平面流量管理服务时的运行数据。
在旧版Envoy组件221处理完已建立的连接后,其负责的任务已经完成。为了将旧版Envoy组件221的数据平面流量管理服务平滑迁移给新版Envoy组件223并了解服务的运行状态,新版Envoy组件223向旧版Envoy组件221发送请求以获取统计数据。获取统计数据的目的是为了收集有关服务的运行指标,如请求量、响应时间、错误率等信息。这些统计数据对于监控服务的性能和健康状态具有极大作用。通过获取统计数据,新版Envoy组件223可以了解旧版Envoy在处理连接期间的性能表现,并用于评估迁移过程的效果。在新版Envoy组件223接收到旧版Envoy组件221发送的统计数据后,则可以确定数据平面流量管理服务完全由新版Envoy组件223接管。
S104、当数据平面流量管理服务完全由新版集中式代理组件接管时,终止集中式代理组件。
在确定数据平面流量管理服务完全由新版Envoy组件223接管,由Agent进程222终止旧版Envoy组件221,释放并回收旧版Envoy组件221占用的系统资源。
具体的,在新版Envoy组件223接收到旧版Envoy组件221发送的统计数据后,由新版Envoy组件223向旧版Envoy组件221发送终止集中式代理组件的终止请求。旧版Envoy组件221接收到终止请求后,确定自身可以进行终止,旧版Envoy组件221向Agent进程222发送终止请求,Agent进程222收到终止请求后,终止旧版Envoy组件221,旧版Envoy组件221退出。
由旧版Envoy组件221向Agent进程222发送终止自身的请求,旧版Envoy可以完成一些必要的清理工作,例如关闭连接、保存状态等等,以保持数据的完整性和一致性,可以确保终止操作是由旧版Envoy组件221控制和触发的,使得终止过程可以受到旧版Envoy组件221的安全机制和权限控制的约束,防止未经授权的终止操作发生,提高终止操作的安全性。
本公开实施例通过接收服务器节点发送的升级信息,根据该升级信息中集中式代理组件的新版本信息创建新版集中式代理组件,然后利用新版集中式代理组件逐步接管集中式代理组件负责的数据平面流量管理服务,在数据平面流量管理服务由新版集中式代理组件完全接管后终止集中式代理组件。由于创建了新版集中式代理组件接管集中式代理组件负责的数据平面流量管理服务,可以在升级过程中让新版集中式代理组件继续处理新接收的数据平面流量,并让已接收的数据平面流量由集中式代理组件处理完成,从而实现集中式代理组件的热升级,避免因升级造成流量损失。
在一些实施例中,新版集中式代理组件和集中式代理组件通过共享内存进行通信。
在新版Envoy组件223和旧版Envoy组件221进行通信时,可以通过共享内存225进行通信。这样可以让双方之间的通信更加快速高效,提高实时性。共享内存225可以由Agent进程222创建。
图3为本公开实施例提供的服务网格的集中式代理升级装置的结构示意图。该服务网格的集中式代理升级装置可以是如上实施例的DPU中的部件或组件。服务网格的集中式代理组件安装在DPU上,由安装在服务器节点上的控制平面组件管理,用于管理服务器节点上各容器相关的数据平面流量。本公开实施例提供的服务网格的集中式代理升级装置可以执行服务网格的集中式代理升级方法实施例提供的处理流程,如图3所示,该服务网格的集中式代理升级装置300包括:
接收模块301,用于接收服务器节点发送的升级信息,升级信息中包括集中式代理组件的新版本信息;
创建模块302,用于根据新版本信息创建新版集中式代理组件;
处理模块303,用于利用新版集中式代理组件逐步接管集中式代理组件负责的数据平面流量管理服务;
终止模块304,用于当数据平面流量管理服务完全由新版集中式代理组件接管时,终止集中式代理组件。
在一些实施例中,创建模块302在接收服务器节点发送的升级信息之前,还用于创建代理进程,由代理进程控制集中式代理组件和新版集中式代理组件的生命周期;接收模块301在接收服务器节点发送的升级信息时,具体用于通过代理进程接收服务器节点上的控制平面组件发送的升级信息;创建模块302在根据新版本信息创建新版集中式代理组件时,具体由代理进程根据新版本信息创建新版集中式代理组件。
在一些实施例中,处理模块303在利用新版集中式代理组件逐步接管集中式代理组件负责的数据平面流量管理服务时,具体用于控制新版集中式代理组件获取集中式代理组件监听连接和请求的监听套接字;通过新版集中式代理组件向集中式代理组件发送套接字获取完毕的通知信息,以使集中式代理组件停止接收套接字监听的请求;对于集中式代理组件已建立的连接,在等待集中式代理组件处理完成已建立的连接后,控制集中式代理组件关闭已建立的连接并释放连接套接字。
在一些实施例中,升级信息中还包括初始化信息,初始化信息基于集中式代理组件的配置参数生成;处理模块303在控制新版集中式代理组件获取集中式代理组件监听连接和请求的监听套接字时,具体用于根据初始化信息初始化新版集中式代理组件,以使新版集中式代理组件的配置参数同步为集中式代理组件的配置参数;通过新版集中式代理组件向集中式代理组件发送关闭请求,以通知集中式代理组件开始进行资源释放和退出;由新版集中式代理组件根据配置参数从协议栈中获取集中式代理组件监听连接和请求的监听套接字。
在一些实施例中,处理模块303在控制集中式代理组件关闭已建立的连接并释放已建立连接的连接套接字之后,还用于通过新版集中式代理组件向集中式代理组件发送获取统计数据的请求,以使集中式代理组件向新版集中式代理组件返回统计数据;在新版集中式代理组件接收到统计数据后,确定数据平面流量管理服务完全由新版集中式代理组件管理;统计数据包括集中式代理组件负责数据平面流量管理服务时的运行数据。
在一些实施例中,终止模块304在终止集中式代理组件时,具体用于通过新版集中式代理组件向集中式代理组件发送终止集中式代理组件的终止请求;集中式代理组件接收到终止请求后,集中式代理组件向代理进程发送终止请求;在代理进程接收到终止请求后,由代理进程终止集中式代理组件。
在一些实施例中,新版集中式代理组件和集中式代理组件通过共享内存进行通信。
图3所示实施例的服务网格的集中式代理升级装置可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图4为本公开实施例提供的电子设备的结构示意图。该电子设备可以是如上实施例所述的服务器。本公开实施例提供的电子设备可以执行服务网格的集中式代理升级方法实施例提供的处理流程,如图4所示,电子设备400包括:存储器401、处理器402、计算机程序和通讯接口403;其中,计算机程序存储在存储器401中,并被配置为由处理器402执行如上所述的服务网格的集中式代理升级方法。在特定实施例中,存储器401可以是非易失性固态存储器。在特定实施例中,存储器401包括只读存储器ROM(Read-Only Memory)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable ROM,PROM)、可擦除PROM(Electrical Programmable ROM,EPROM)、电可擦除PROM(Electrically ErasableProgrammable ROM,EEPROM)、电可改写ROM(Electrically Alterable ROM,EAROM)或闪存,或者两个或及其以上这些的组合。
另外,本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的服务网格的集中式代理升级方法。其中,存储介质可以是非易失性/非临时性计算机可读存储介质,例如,非易失性/非临时性计算机可读存储介质可以是ROM、随机存取存储器(Random Access Memory,RAM)、光盘只读存储器(Compact Disc ROM,CD-ROM)、磁带、软盘和光数据存储设备等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种服务网格的集中式代理升级方法,所述方法应用于DPU,服务网格的集中式代理组件安装在DPU上,由安装在服务器节点上的控制平面组件管理,用于管理服务器节点上各容器相关的数据平面流量,其特征在于,所述方法包括:
接收服务器节点发送的升级信息,所述升级信息中包括集中式代理组件的新版本信息;
根据所述新版本信息创建新版集中式代理组件;
利用所述新版集中式代理组件逐步接管所述集中式代理组件负责的数据平面流量管理服务;
当所述数据平面流量管理服务完全由所述新版集中式代理组件接管时,终止所述集中式代理组件。
2.如权利要求1所述的方法,其特征在于,所述接收服务器节点发送的升级信息之前,还包括:
创建代理进程,由所述代理进程控制所述集中式代理组件和所述新版集中式代理组件的生命周期;
所述接收服务器节点发送的升级信息,包括:
通过所述代理进程接收所述服务器节点上的控制平面组件发送的升级信息;
所述根据所述新版本信息创建新版集中式代理组件,包括:
由所述代理进程根据所述新版本信息创建所述新版集中式代理组件。
3.如权利要求1所述的方法,其特征在于,所述利用所述新版集中式代理组件逐步接管所述集中式代理组件负责的数据平面流量管理服务,包括:
控制所述新版集中式代理组件获取所述集中式代理组件监听连接和请求的监听套接字;
通过所述新版集中式代理组件向所述集中式代理组件发送所述套接字获取完毕的通知信息,以使所述集中式代理组件停止接收所述套接字监听的请求;
对于所述集中式代理组件已建立的连接,在等待所述集中式代理组件处理完成所述已建立的连接后,控制所述集中式代理组件关闭所述已建立的连接并释放连接套接字。
4.如权利要求3所述的方法,其特征在于,所述升级信息中还包括初始化信息,所述初始化信息基于所述集中式代理组件的配置参数生成;
所述控制所述新版集中式代理组件获取所述集中式代理组件监听连接和请求的监听套接字,包括:
根据所述初始化信息初始化所述新版集中式代理组件,以使所述新版集中式代理组件的配置参数同步为所述集中式代理组件的配置参数;
通过所述新版集中式代理组件向所述集中式代理组件发送关闭请求,以通知所述集中式代理组件开始进行资源释放和退出;
由所述新版集中式代理组件根据所述配置参数从协议栈中获取所述集中式代理组件监听连接和请求的监听套接字。
5.如权利要求3所述的方法,其特征在于,所述控制所述集中式代理组件关闭所述已建立的连接并释放已建立连接的连接套接字之后,还包括:
通过所述新版集中式代理组件向所述集中式代理组件发送获取统计数据的请求,以使所述集中式代理组件向所述新版集中式代理组件返回统计数据;
在所述新版集中式代理组件接收到所述统计数据后,确定所述数据平面流量管理服务完全由所述新版集中式代理组件管理;
所述统计数据包括所述集中式代理组件负责所述数据平面流量管理服务时的运行数据。
6.如权利要求2所述的方法,其特征在于,终止所述集中式代理组件,包括:
由所述新版集中式代理组件向所述集中式代理组件发送终止所述集中式代理组件的终止请求;
所述集中式代理组件接收到所述终止请求后,所述集中式代理组件向所述代理进程发送所述终止请求;
在所述代理进程接收到所述终止请求后,由所述代理进程终止所述集中式代理组件。
7.如权利要求3-6任一项所述的方法,其特征在于,所述新版集中式代理组件和所述集中式代理组件通过共享内存进行通信。
8.一种服务网格的集中式代理升级装置,所述装置应用于DPU,服务网格的集中式代理组件安装在DPU上,由安装在服务器节点上的控制平面组件管理,用于管理服务器节点上各容器相关的数据平面流量,其特征在于,所述装置包括:
接收模块,用于接收服务器节点发送的升级信息,所述升级信息中包括集中式代理组件的新版本信息;
创建模块,用于根据所述新版本信息创建新版集中式代理组件;
处理模块,用于利用所述新版集中式代理组件逐步接管所述集中式代理组件负责的数据平面流量管理服务;
终止模块,用于当所述数据平面流量管理服务完全由所述新版集中式代理组件接管时,终止所述集中式代理组件。
9.一种电子设备,其特征在于,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310944728.9A CN117201302A (zh) | 2023-07-28 | 2023-07-28 | 服务网格的集中式代理升级方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310944728.9A CN117201302A (zh) | 2023-07-28 | 2023-07-28 | 服务网格的集中式代理升级方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117201302A true CN117201302A (zh) | 2023-12-08 |
Family
ID=89002457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310944728.9A Pending CN117201302A (zh) | 2023-07-28 | 2023-07-28 | 服务网格的集中式代理升级方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117201302A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106850746A (zh) * | 2016-12-23 | 2017-06-13 | 微梦创科网络科技(中国)有限公司 | 服务平滑升级的方法及装置 |
CN113949702A (zh) * | 2021-08-30 | 2022-01-18 | 浪潮软件科技有限公司 | 一种服务网格的多层网络协议处理方法及装置 |
CN114553693A (zh) * | 2022-02-21 | 2022-05-27 | 上海哔哩哔哩科技有限公司 | 网关升级方法及装置 |
US20230047880A1 (en) * | 2021-08-12 | 2023-02-16 | Verizon Patent And Licensing Inc. | Sidecar proxy as a service |
CN115733746A (zh) * | 2022-11-09 | 2023-03-03 | 中科驭数(北京)科技有限公司 | 一种服务网格单元的部署方法、装置、设备及存储介质 |
-
2023
- 2023-07-28 CN CN202310944728.9A patent/CN117201302A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106850746A (zh) * | 2016-12-23 | 2017-06-13 | 微梦创科网络科技(中国)有限公司 | 服务平滑升级的方法及装置 |
US20230047880A1 (en) * | 2021-08-12 | 2023-02-16 | Verizon Patent And Licensing Inc. | Sidecar proxy as a service |
CN113949702A (zh) * | 2021-08-30 | 2022-01-18 | 浪潮软件科技有限公司 | 一种服务网格的多层网络协议处理方法及装置 |
CN114553693A (zh) * | 2022-02-21 | 2022-05-27 | 上海哔哩哔哩科技有限公司 | 网关升级方法及装置 |
CN115733746A (zh) * | 2022-11-09 | 2023-03-03 | 中科驭数(北京)科技有限公司 | 一种服务网格单元的部署方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10541877B2 (en) | Dynamic reservation protocol for 5G network slicing | |
WO2019184164A1 (zh) | 自动部署Kubernetes从节点的方法、装置、终端设备及可读存储介质 | |
CN110086652B (zh) | 一种针对5g核心网中服务网元的管理系统及其方法 | |
EP3163797B1 (en) | Service orchestration method and apparatus in software-defined networking, and storage medium | |
KR102524126B1 (ko) | 5g 인프라 구축을 위한 분산 클라우드 시스템의 설계 및 설치를 제공하는 장치 및 방법 | |
WO2020024413A1 (zh) | 一种云计算平台部署的控制方法、服务器及存储介质 | |
WO2017161562A1 (zh) | 网络功能虚拟化环境下应用的管理方法和装置 | |
WO2014169870A1 (zh) | 虚拟网元自动装载及虚拟机ip地址获取的方法与系统、存储介质 | |
EP3373518A1 (en) | Service configuration method and device for network service | |
CN111625496B (zh) | 分布式文件系统在虚拟机环境下的部署方法、装置及设备 | |
WO2017066931A1 (zh) | 网络功能虚拟化架构中证书的管理方法及装置 | |
CN104104720A (zh) | 一种服务器集群管理方法及系统 | |
US11411821B2 (en) | Driver upgrade method and device | |
CN111343011B (zh) | 一种云管理平台融合Openstack网络控制方法及系统 | |
CN112073555A (zh) | Ip地址的配置方法、电子设备和计算机可读存储介质 | |
WO2022140945A1 (zh) | 容器集群的管理方法和装置 | |
CN112948008A (zh) | 一种基于Ironic管理物理裸机的方法 | |
WO2015101100A1 (zh) | 网络设备及网络中的业务处理方法 | |
Nogueira et al. | Network virtualization system suite: Experimental network virtualization platform | |
CN109495298B (zh) | 在OpenStack系统中管理节点的方法和装置 | |
CN117201302A (zh) | 服务网格的集中式代理升级方法、装置、设备及介质 | |
US10379918B2 (en) | System and method for MPI implementation in an embedded operating system | |
CN110753093A (zh) | 云计算系统中设备的管理方法和装置 | |
WO2021022947A1 (zh) | 一种部署虚拟机的方法及相关装置 | |
CN116938868A (zh) | 基于自动检测的ip分配 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |