CN116436968A - 一种服务网格通信方法、***、装置以及存储介质 - Google Patents
一种服务网格通信方法、***、装置以及存储介质 Download PDFInfo
- Publication number
- CN116436968A CN116436968A CN202310349909.7A CN202310349909A CN116436968A CN 116436968 A CN116436968 A CN 116436968A CN 202310349909 A CN202310349909 A CN 202310349909A CN 116436968 A CN116436968 A CN 116436968A
- Authority
- CN
- China
- Prior art keywords
- pod
- rdma
- network card
- information
- service grid
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 100
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000004590 computer program Methods 0.000 claims description 10
- 230000001133 acceleration Effects 0.000 abstract description 27
- 230000006870 function Effects 0.000 abstract description 25
- 238000012545 processing Methods 0.000 abstract description 18
- 230000000875 corresponding effect Effects 0.000 description 86
- 230000001276 controlling effect Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 6
- 238000001914 filtration Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 241000322338 Loeseliastrum Species 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种服务网格通信方法、***、装置以及存储介质,应用于服务网格通信领域。通过获取RDMA网卡信息,根据RDMA网卡信息生成相应个数的VF,并获取带有对应标记的pod并将其分配至对应节点,控制代理端将VF分配至pod。通过上述方法,将带有RDMA加速功能的网卡分配至对应的服务网格中,能够给pod加载RDMA信息,带有RDMA信息后,在服务之间通信的时候可直接绕过中央处理器(CPU),将数据直接复制到对端内存中,无需经过多次TCP/IP协议,从而实现网格内服务之间通信的加速,减少性能的损耗。
Description
技术领域
本申请涉及服务网格通信领域,特别是涉及一种服务网格通信方法、***、装置以及存储介质。
背景技术
对于服务网格间流量传输,服务网格间的服务流量会被代理拦截,从服务A中先到代理(proxy)中,从proxy中根据目的地址以及流量策略得到真正的目的IP(pod IP),流量到达指定的pod后,也会先被proxy拦截,经过一系列的操作再由proxy进入到服务B内。这个过程中实际上要经过多次TCP/IP协议,一次相较于从服务A直接到服务B,性能会有一定的损耗。如果集群规模较大,其性能损耗也会比较高。
鉴于上述技术问题,寻求一种解决上述问题的方式是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种服务网格通信方法、***、装置以及存储介质,主要通过获取RDMA网卡信息,根据RDMA网卡信息生成相应个数的VF,并获取带有对应标记的pod并将其分配至对应节点,控制代理端将VF分配至pod。通过上述方法,首先对已有的服务网格控制面进行改造,添加对对pod标识的识别,以及调用代理端的能力,并编写代理端,能够给pod加载RDMA信息,并以daemon set的形式部署在集群的每一个节点上,将带有RDMA加速功能的网卡分配至对应的服务网格中,能够给pod加载RDMA信息,在服务之间通信的时候直接绕过中央处理器(CPU),将数据直接复制到对端内存中,从而实现网格内服务之间通信的加速,减少性能的损耗。且将RDMA的能力应用到服务网格的之间的通信中,对网格间服务的通信有较大提升。
为解决上述技术问题,本申请提供一种服务网格通信方法,该方法包括:
获取RDMA网卡信息;
根据RDMA网卡信息生成相应个数的VF;
获取带有对应标记的pod并将其分配至对应节点;
将VF分配至pod。
优选地,获取RDMA网卡信息包括:
在节点上启动对应的代理端;
控制代理端识别RDMA网卡并获取RDMA网卡的信息。
优选地,代理端的个数与节点的个数对应。
优选地,根据RDMA网卡信息生成相应个数的VF之后还包括:
控制代理端根据RDMA网卡的信息识别VF的信息;
控制代理端将VF的信息进行上报。
优选地,获取带有对应标记的pod并将其分配至对应节点之后还包括:
判断kubelet是否监听到pod的创建事件;
若是,则给pod分配对应的标识;并将标识与资源信息保存至本地文件中。
优选地,控制代理端将VF分配至pod,以便于pod可以使用RDMA包括:
控制kubelet为各pod建立网络连接;
控制代理端根据资源信息获取pod的标识;
根据标识将VF分配至pod。
优选地,控制代理端将VF分配至pod,以便于pod可以使用RDMA之后还包括:
判断节点是否开启RDMA服务;
若是,则确定当前节点的pod带有对应标记;
对当前节点进行RDMA相关实例的注册,以便于各带有对应标记的pod根据实例直接使用RDMA服务。
为解决上述技术问题,本申请还提供一种服务网格通信***,该***包括:
第一获取模块,用于获取RDMA网卡信息;
生成模块,用于根据RDMA网卡信息生成相应个数的VF;
第一分配模块,用于获取带有对应标记的pod并将其分配至对应节点;
第二分配模块,用于将VF分配至pod。
上述服务网格通信***还包括:
第二获取模块,用于获取RDMA网卡信息包括:
启动模块,用于在节点上启动对应的代理端;
第一控制模块,用于控制代理端识别RDMA网卡并获取RDMA网卡的信息。
上述服务网格通信***还包括:
识别模块,用于控制代理端根据RDMA网卡的信息识别VF的信息;
第二控制模块,用于控制代理端将VF的信息进行上报。
上述服务网格通信***还包括:
第一判断模块,用于判断kubelet是否监听到pod的创建事件;
保存模块,用于若是,则给pod分配对应的标识;并将标识与资源信息保存至本地文件中。
上述服务网格通信***还包括:
第三控制模块,用于控制kubelet为各pod建立网络连接;
第四控制模块,用于控制代理端根据资源信息获取pod的标识;
第三分配模块,用于根据标识将VF分配至pod。
上述服务网格通信***还包括:
第二判断模块,用于判断节点是否开启RDMA服务;
确定模块,用于若是,则确定当前节点的pod带有对应标记;
注册模块,用于对当前节点进行RDMA相关实例的注册,以便于各带有对应标记的pod根据实例直接使用RDMA服务。
为解决上述技术问题,本申请还提供一种服务网格通信装置,包括存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的服务网格通信方法的步骤。
为解决上述技术问题,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的服务网格通信方法的步骤。
本申请所提供的服务网格通信方法,通过获取RDMA网卡信息,根据RDMA网卡信息生成相应个数的VF,并获取带有对应标记的pod并将其分配至对应节点,控制代理端将VF分配至pod。通过上述方法,将带有RDMA
加速功能的网卡分配至对应的服务网格中,能够给pod加载RDMA信息,在服务之间通信的时候直接绕过中央处理器(CPU),将数据直接复制到对端内存中,从而实现网格内服务之间通信的加速,减少性能的损耗。
本申请还提供了一种服务网格通信***、装置以及计算机可读存储介质,与上述方法对应,故具有与上述方法相同的有益效果。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请所提供的一种服务网格通信方法的流程图;
图2为本申请所提供的一种pod使用RDMA的流程图;
图3为本申请所提供的一种服务网格通信***的结构图;
图4为本申请另一实施例提供的服务网格通信装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种服务网格通信方法、***、装置以及存储介质,主要通过获取RDMA网卡信息,根据RDMA网卡信息生成相应个数的VF,并获取带有对应标记的pod并将其分配至对应节点,控制代理端将VF分配至pod。通过上述方法,首先对已有的服务网格控制面进行改造,添加对对pod标识的识别,以及调用代理端的能力,并编写代理端,能够给pod加载RDMA信息,并以daemon set的形式部署在集群的每一个节点上,将带有RDMA加速功能的网卡分配至对应的服务网格中,能够给pod加载RDMA信息,在服务之间通信的时候直接绕过中央处理器(CPU),将数据直接复制到对端内
存中,从而实现网格内服务之间通信的加速,减少性能的损耗。且将RDMA的能力应用到服务网格的之间的通信中,对网格间服务的通信有较大提升。。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
图1为本申请所提供的一种服务网格通信方法的流程图,如图1所示,该方法包括如下步骤:
S10:获取RDMA网卡信息;
需要说明的是,服务网格技术代表技术Istio等都是和k8s强相关的。我们要在服务网格中使用RDMA技术首先要在k8s中支持RDMA的智能网卡,k8s的RDMA方案使用智能网卡需要手动加载内核、调整VF total_vfs以及VF num_vfs个数来满足需求,其中,K8S是Kubernetes的简称,K8S是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署、规划、更新、维护的一种机制,本申请所提供方式,需要将支持RDMA的智能网卡的相关信息分配至服务网格中,本申请实施例不对获取网卡信息的功能模块做出具体的限定,本申请实施例不对网卡信息做出具体的限定,本申请实施例只提供一种优选的实施方式。
S11:根据RDMA网卡信息生成相应个数的VF;
需要说明的是,当获取到RDMA网卡信息后,根据获取到的RDMA网卡信息生成相应个数的VF,其中VF为与各物理功能相关的虚拟功能,每个VF可以与物理功能以及与同一物理功能关联的其他VF共享一个或多个物理资源,VF仅允许拥有用于其自身行为的配置资源,每个VF都具有一个PCI内存空间,用于映射其寄存器集,创建VF后,可以直接将其指定给各个应用程序。本申请实施例不对创建VF的个数做出限定,可以但不限于在集群的节点上启动对应的用于根据网卡信息过滤发现识别上报VF信息的端,其中所根据的网卡信息可以但不限于包括网卡vendors、devices和drivers的信息等,本申请实施例在此仅提供一种优选的实施方式,不限于只包含上述方法,可根据实际情况做出改变。
S12:获取带有对应标记的pod并将其分配至对应节点;
需要说明的是,pod创建时,如果需要开启RDMA加速,则在pod上加一个标记,表明流量发向此pod的时候将会使用RDMA加速,此时K8SScheduler根据pod VF个数需要,将pod调度到VF节点。当监听到Pod创建事件,从内存中为pod分配足够的Device ID,并连同podUID、Resource Name等信息存储到本机文件中,本申请实施例不对pod的对应标记做出具体的限定,本申请实施例不对pod的个数做出具体的限定,本申请实施例不对存储对应信息的本地文件做出具体的限定。
S13:将VF分配至pod。
需要说明的是,VF与RDMA功能相对应,将VF挂载到相应的pod中,pod可以使用RDMA功能,本申请实施例不对VF分配给颇多的方式做出具体的限定,本申请实施例不对加载RDMA的pod部署在集群的每个节点上的方式不做出具体的限定,可以但不限于通过daemonset的形式进行部署等,本申请实施例只提供一种优选的实施方式,本申请实施例不限于只包含上述的方法,可以根据实际情况做出改变。
可见,本申请实施例所提供的方法,通过获取RDMA网卡信息,根据RDMA网卡信息生成相应个数的VF,并获取带有对应标记的pod并将其分配至对应节点,控制代理端将VF分配至pod。通过上述方法,首先对已有的服务网格控制面进行改造,添加对对pod标识的识别,将带有RDMA加速功能的网卡分配至对应的服务网格中,能够给pod加载RDMA信息,在服务之间通信的时候直接绕过中央处理器(CPU),将数据直接复制到对端内存中,从而实现网格内服务之间通信的加速,减少性能的损耗。且将RDMA的能力应用到服务网格的之间的通信中,对网格间服务的通信有较大提升。
在上述实施例的基础上,本申请提供一种优选的实施例,获取RDMA网卡信息包括:
在节点上启动对应的代理端;
控制代理端识别RDMA网卡并获取RDMA网卡的信息。
需要说明的是,对于RDMA智能网卡进行自动配置,在配置的过程中,在每个集群的节点上启动一个代理端,其代理端用来获取过滤宿主机网卡,通过网卡信息生成相应个数VF,pod上添加相应的注解标识,由控制带有相
关标识的pod,控制面会调用k8s的节点调度器将其调度到带有智能网卡设备的节点上,控制面发现pod带有RDMA标识,通过代理端给pod加载RDMA,本申请实施例不对获取RDMA网卡的信息种类做出具体的限定,本申请实施例不对启用的代理端的个数做出具体的限定,本申请实施例只提供一种优选的实施方式,本申请实施例不限于只包含上述的实施方式,可根据实际情况做出改变。
可见,本申请实施例所提供的方法,通过获取RDMA网卡信息,根据RDMA网卡信息生成相应个数的VF,并获取带有对应标记的pod并将其分配至对应节点,控制代理端将VF分配至pod。通过上述方法,首先对已有的服务网格控制面进行改造,添加对对pod标识的识别,以及调用代理端的能力,并编写代理端,能够给pod加载RDMA信息,并以daemon set的形式部署在集群的每一个节点上,将带有RDMA加速功能的网卡分配至对应的服务网格中,能够给pod加载RDMA信息,在服务之间通信的时候直接绕过中央处理器(CPU),将数据直接复制到对端内存中,从而实现网格内服务之间通信的加速,减少性能的损耗。且将RDMA的能力应用到服务网格的之间的通信中,对网格间服务的通信有较大提升。
在上述实施例的基础上,本申请提供一种优选的实施例,代理端的个数与节点的个数对应。
需要说明的是,对于RDMA智能网卡的配置,配置过程会在每个集群的节点上启动一个代理端,用来获取过滤宿主机网卡,代理端的个数与节点的个数是相对应的,本申请实施例仅提供一种优选的实施方式,本申请实施例不限于只包含上述的情况,可根据实际情况进行改变。
可见,本申请实施例所提供的方法,通过在每个集群的节点上启动一个代理端,用来获取过滤宿主机网卡,获取RDMA网卡信息,根据RDMA网卡信息生成相应个数的VF,并获取带有对应标记的pod并将其分配至对应节点,控制代理端将VF分配至pod。通过上述方法,首先对已有的服务网格控制面进行改造,添加对对pod标识的识别,以及调用代理端的能力,并编写代理端,能够给pod加载RDMA信息,并以daemon set的形式部署在集群的每一个节点上,将带有RDMA加速功能的网卡分配至对应的服务网格中,能
够给pod加载RDMA信息,在服务之间通信的时候直接绕过中央处理器(CPU),将数据直接复制到对端内存中,从而实现网格内服务之间通信的加速,减少性能的损耗。且将RDMA的能力应用到服务网格的之间的通信中,对网格间服务的通信有较大提升。
在上述实施例的基础上,本申请提供一种优选的实施例,根据RDMA网卡信息生成相应个数的VF之后还包括:
控制代理端根据RDMA网卡的信息识别VF的信息;
控制代理端将VF的信息进行上报。
需要说明的是,通过网卡信息生成相应个数VF后,代理端通过网卡信息来过滤发现识别上报VF信息进行VF的发现上报,其中网卡信息可以但不限于包括网卡vendors、devices和drivers的信息等,本申请实施例不对VF信息上报的方式做出具体的限定,本申请实施例在此只提供一种优选的实施方式,本申请实施例不限于只包含上述的方式,可根据实际情况进行改变。
可见,本申请实施例所提供的方法,通过在每个集群的节点上启动一个代理端,用来获取过滤宿主机网卡,获取RDMA网卡信息,根据RDMA网卡信息生成相应个数的VF,并获取带有对应标记的pod并将其分配至对应节点,控制代理端将VF分配至pod,控制代理端根据RDMA网卡的信息识别VF的信息,控制代理端将VF的信息进行上报。通过上述方法,首先对已有的服务网格控制面进行改造,添加对对pod标识的识别,以及调用代理端的能力,并编写代理端,能够给pod加载RDMA信息,并以daemon set的形式部署在集群的每一个节点上,将带有RDMA加速功能的网卡分配至对应的服务网格中,能够给pod加载RDMA信息,在服务之间通信的时候直接绕过中央处理器(CPU),将数据直接复制到对端内存中,从而实现网格内服务之间通信的加速,减少性能的损耗。且将RDMA的能力应用到服务网格的之间的通信中,对网格间服务的通信有较大提升。
在上述实施例的基础上,本申请提供一种优选的实施例,获取带有对应标记的pod并将其分配至对应节点之后还包括:
判断kubelet是否监听到pod的创建事件;
若是,则给pod分配对应的标识;并将标识与资源信息保存至本地文件中。
需要说明的是,Kubelet监听到Pod创建事件,从内存中为Pod分配足够的DeviceID,并连同pod UID、Resource Name等信息存储到本机的文件中,本申请实施例不对本地文件做出具体的限定,本申请实施例在此只提供一种优选的实施方式,本申请实施例不限于只包括上述的实施方式,可根据实际情况进行改变。
可见,本申请实施例所提供的方法,通过获取RDMA网卡信息,根据RDMA网卡信息生成相应个数的VF,并获取带有对应标记的pod并将其分配至对应节点,控制代理端将VF分配至pod。通过上述方法,首先对已有的服务网格控制面进行改造,添加对对pod标识的识别,将带有RDMA加速功能的网卡分配至对应的服务网格中,能够给pod加载RDMA信息,在服务之间通信的时候直接绕过中央处理器(CPU),将数据直接复制到对端内存中,从而实现网格内服务之间通信的加速,减少性能的损耗。且将RDMA的能力应用到服务网格的之间的通信中,对网格间服务的通信有较大提升。
在上述实施例的基础上,本申请提供一种优选的实施例,控制代理端将VF分配至pod,以便于pod可以使用RDMA包括:
控制kubelet为各pod建立网络连接;
控制代理端根据资源信息获取pod的标识;
根据标识将VF分配至pod。
需要说明的是,kubelet为pod配置网络信息。代理端根据存储在本地文件中的podUID、Resource Name信息查询Device ID信息,并连同kubelet传递的入参依次调用Calico来配置网络。Calico为Pod生成eth0主网络并实现K8S定义的service/network Policy等网络概念,同时将VF挂载到pod中,pod可以使用RDMA功能,本申请实施例在此只提供一种优选的实施方式,本申请实施例不限于只包含上述的实施方式,可根据实际情况进行选择。
可见,本申请实施例所提供的方法,通过在每个集群的节点上启动一个代理端,用来获取过滤宿主机网卡,获取RDMA网卡信息,根据RDMA网卡信息生成相应个数的VF,并获取带有对应标记的pod并将其分配至对应节
点,控制代理端将VF分配至pod,控制代理端根据RDMA网卡的信息识别VF的信息,控制代理端将VF的信息进行上报。通过上述方法,首先对已有的服务网格控制面进行改造,添加对对pod标识的识别,以及调用代理端的能力,并编写代理端,能够给pod加载RDMA信息,并以daemon set的形式部署在集群的每一个节点上,将带有RDMA加速功能的网卡分配至对应的服务网格中,能够给pod加载RDMA信息,在服务之间通信的时候直接绕过中央处理器(CPU),将数据直接复制到对端内存中,从而实现网格内服务之间通信的加速,减少性能的损耗。且将RDMA的能力应用到服务网格的之间的通信中,对网格间服务的通信有较大提升。
在上述实施例的基础上,本申请提供一种优选的实施例,控制代理端将VF分配至pod,以便于pod可以使用RDMA之后还包括:
判断节点是否开启RDMA服务;
若是,则确定当前节点的pod带有对应标记;
对当前节点进行RDMA相关实例的注册,以便于各带有对应标记的pod根据实例直接使用RDMA服务。
需要说明的是,若当前节点开启RDMA服务,则确定当前节点的pod带有对应标记,对当前所节点进行RDMA相关实例的注册,以便于各带有对应标记的pod根据实例直接使用RDMA服务,即支持RDMA的实例在控制面的服务发现中会注册相关的实例,其他服务的请求在请求这个开启了RDMA的服务时,将会使用RDMA进行加速。
可见,本申请实施例所提供的方法,通过获取RDMA网卡信息,根据RDMA网卡信息生成相应个数的VF,并获取带有对应标记的pod并将其分配至对应节点,控制代理端将VF分配至pod。通过上述方法,首先对已有的服务网格控制面进行改造,添加对对pod标识的识别,将带有RDMA加速功能的网卡分配至对应的服务网格中,能够给pod加载RDMA信息,在服务之间通信的时候直接绕过中央处理器(CPU),将数据直接复制到对端内存中,从而实现网格内服务之间通信的加速,减少性能的损耗。且将RDMA的能力应用到服务网格的之间的通信中,对网格间服务的通信有较大提升,同时增
强服务网格控制面的能力,对可以开启RDMA功能的节点实现动态发现,对开启RDMA的服务实现自动注册。
本申请实施例提供一种应用场景的实施例,如图2所示,图2为本申请实施例所提供的pod使用RDMA实现的流程图,其中网络控制面用于获取代理端(agent)加载的该节点的RDMA信息,在各节点中,代理端给各pod下发VF信息,使其可以使用RDMA,其中本申请实施例不对节点的个数做出具体的限定,本申请实施例不对各节点中pod的个数做出具体的限定,pod之间可根据RDMA直接进行服务传输,本申请实施例不限定进行服务传输的pod做出限定,本申请实施例只提供一种应用场景的实施例,不限于只包含上述的方式。
可见,本申请实施例所提供的方法,通过获取RDMA网卡信息,根据RDMA网卡信息生成相应个数的VF,并获取带有对应标记的pod并将其分配至对应节点,控制代理端将VF分配至pod。通过上述方法,将带有RDMA加速功能的网卡分配至对应的服务网格中,能够给pod加载RDMA信息,在服务之间通信的时候直接绕过中央处理器(CPU),将数据直接复制到对端内存中,从而实现网格内服务之间通信的加速,减少性能的损耗。
基于功能模块角度,本申请还提供一种服务网格通信***,如图3所示,图3为本申请所提供的一种服务网格通信***的结构图,该***包括:
第一获取模块30,用于获取RDMA网卡信息;
生成模块31,用于根据RDMA网卡信息生成相应个数的VF;
第一分配模块32,用于获取带有对应标记的pod并将其分配至对应节点;
第二分配模块33,用于将VF分配至pod。
基于功能模块角度,本申请提供的服务网格通信***还包括:
第二获取模块,用于获取RDMA网卡信息包括:
启动模块,用于在节点上启动对应的代理端;
第一控制模块,用于控制代理端识别RDMA网卡并获取RDMA网卡的信息。
基于功能模块角度,本申请提供的服务网格通信***还包括:
识别模块,用于控制代理端根据RDMA网卡的信息识别VF的信息;
第二控制模块,用于控制代理端将VF的信息进行上报。
基于功能模块角度,本申请提供的服务网格通信***还包括:
第一判断模块,用于判断kubelet是否监听到pod的创建事件;
保存模块,用于若是,则给pod分配对应的标识;并将标识与资源信息保存至本地文件中。
基于功能模块角度,本申请提供的服务网格通信***还包括:
第三控制模块,用于控制kubelet为各pod建立网络连接;
第四控制模块,用于控制代理端根据资源信息获取pod的标识;
第三分配模块,用于根据标识将VF分配至pod。
基于功能模块角度,本申请提供的服务网格通信***还包括:
第二判断模块,用于判断节点是否开启RDMA服务;
确定模块,用于若是,则确定当前节点的pod带有对应标记;
注册模块,用于对当前节点进行RDMA相关实例的注册,以便于各带有对应标记的pod根据实例直接使用RDMA服务。
由于***部分的实施例与方法部分的实施例相互对应,因此***部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本实施例提供的服务网格通信***,与上述服务网格通信方法对应,故具有与上述方法相同的有益效果。
图4为本申请另一实施例提供的服务网格通信装置的结构图,如图4所示,服务网格通信装置包括:存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例中所提到的服务网格通信方法的步骤。
本实施例提供的服务网格通信装置可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程
逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(Central Processing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的服务网格通信方法的相关步骤。另外,存储器20所存储的资源还可以包括操作***202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作***202可以包括Windows、Unix、Linux等。数据203可以包括但不限于服务网格通信方法的数据等。
在一些实施例中,服务网格通信装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图4中示出的结构并不构成对服务网格通信装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的服务网格通信装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:服务网格通信方法。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机
软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请所提供的服务网格通信方法、***、装置以及存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种服务网格通信方法,其特征在于,该方法包括:
获取RDMA网卡信息;
根据所述RDMA网卡信息生成相应个数的VF;
获取带有对应标记的pod并将其分配至对应节点;
将所述VF分配至所述pod。
2.根据权利要求1所述的服务网格通信方法,其特征在于,所述获取RDMA网卡信息包括:
在节点上启动对应的代理端;
控制所述代理端识别RDMA网卡并获取所述RDMA网卡的信息。
3.根据权利要求2所述的服务网格通信方法,其特征在于,所述代理端的个数与所述节点的个数对应。
4.根据权利要求3所述的服务网格通信方法,其特征在于,所述根据所述RDMA网卡信息生成相应个数的VF之后还包括:
控制所述代理端根据所述RDMA网卡的信息识别所述VF的信息;
控制所述代理端将所述VF的信息进行上报。
5.根据权利要求4所述的服务网格通信方法,其特征在于,所述获取带有对应标记的pod并将其分配至对应所述节点之后还包括:
判断kubelet是否监听到所述pod的创建事件;
若是,则给所述pod分配对应的标识;并将所述标识与资源信息保存至本地文件中。
6.根据权利要求5所述的服务网格通信方法,其特征在于,所述控制代理端将所述VF分配至所述pod,以便于所述pod可以使用RDMA包括:
控制所述kubelet为各所述pod建立网络连接;
控制所述代理端根据所述资源信息获取所述pod的所述标识;
根据所述标识将所述VF分配至所述pod。
7.根据权利要求1至6任一项所述的服务网格通信方法,其特征在于,所述控制代理端将所述VF分配至所述pod,以便于所述pod可以使用RDMA之后还包括:
判断所述节点是否开启RDMA服务;
若是,则确定当前所述节点的所述pod带有对应标记;
对当前所述节点进行RDMA相关实例的注册,以便于各带有所述对应标记的所述pod根据所述实例直接使用所述RDMA服务。
8.一种服务网格通信***,其特征在于,该***包括:
获取模块,用于获取RDMA网卡信息;
生成模块,用于根据所述RDMA网卡信息生成相应个数的VF;
第一分配模块,用于获取带有对应标记的pod并将其分配至对应节点;
第二分配模块,用于将所述VF分配至所述pod。
9.一种服务网格通信装置,其特征在于,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的服务网格通信方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的服务网格通信方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310349909.7A CN116436968A (zh) | 2023-03-30 | 2023-03-30 | 一种服务网格通信方法、***、装置以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310349909.7A CN116436968A (zh) | 2023-03-30 | 2023-03-30 | 一种服务网格通信方法、***、装置以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116436968A true CN116436968A (zh) | 2023-07-14 |
Family
ID=87080877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310349909.7A Pending CN116436968A (zh) | 2023-03-30 | 2023-03-30 | 一种服务网格通信方法、***、装置以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116436968A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117061338A (zh) * | 2023-08-16 | 2023-11-14 | 中科驭数(北京)科技有限公司 | 基于多网卡的服务网格数据处理方法、装置及*** |
-
2023
- 2023-03-30 CN CN202310349909.7A patent/CN116436968A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117061338A (zh) * | 2023-08-16 | 2023-11-14 | 中科驭数(北京)科技有限公司 | 基于多网卡的服务网格数据处理方法、装置及*** |
CN117061338B (zh) * | 2023-08-16 | 2024-06-07 | 中科驭数(北京)科技有限公司 | 基于多网卡的服务网格数据处理方法、装置及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107566541B (zh) | 容器网络资源分配方法、***、存储介质和电子设备 | |
JP5510556B2 (ja) | 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム | |
US10701139B2 (en) | Life cycle management method and apparatus | |
CN108924268B (zh) | 一种容器云服务***及pod创建方法、装置 | |
US10505796B2 (en) | Network function virtualization | |
CN111404753B (zh) | 一种扁平网络配置方法、计算机设备及存储介质 | |
CN114244717B (zh) | 虚拟网卡资源的配置方法、装置、计算机设备及介质 | |
EP3672314B1 (en) | Network management method, device and system | |
CN111880936A (zh) | 资源调度方法、装置、容器集群、计算机设备和存储介质 | |
CN114172905B (zh) | 一种集群网络组网的方法、装置、计算机设备及存储介质 | |
CN109800261B (zh) | 双数据库连接池的动态控制方法、装置及相关设备 | |
WO2022056845A1 (en) | A method of container cluster management and system thereof | |
CN114979286B (zh) | 容器服务的访问控制方法、装置、设备及计算机存储介质 | |
CN116436968A (zh) | 一种服务网格通信方法、***、装置以及存储介质 | |
CN112035244A (zh) | 在多租户环境中虚拟节点集群的部署 | |
CN113377499A (zh) | 一种虚拟机管理方法、装置、设备及可读存储介质 | |
CN108667750B (zh) | 虚拟资源管理方法及装置 | |
CN115202820A (zh) | Pod单元的创建方法、装置、设备及存储介质 | |
CN115665231A (zh) | 服务创建方法、装置以及计算机可读存储介质 | |
CN115618409A (zh) | 数据库云服务生成方法、装置、设备及可读存储介质 | |
WO2021248972A1 (zh) | 默认网关管理方法、网关管理器、服务器及存储介质 | |
CN115150268A (zh) | Kubernetes集群的网络配置方法、装置、及电子设备 | |
CN113691575A (zh) | 通信方法、装置及*** | |
CN113114571A (zh) | 数据包处理方法、装置、电子设备及存储介质 | |
CN111580935A (zh) | 一种网络通信方法、装置、设备及存储介质 |
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 |