CN116016320B - 数据传输方法、装置及计算机可读存储介质 - Google Patents

数据传输方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN116016320B
CN116016320B CN202211725431.5A CN202211725431A CN116016320B CN 116016320 B CN116016320 B CN 116016320B CN 202211725431 A CN202211725431 A CN 202211725431A CN 116016320 B CN116016320 B CN 116016320B
Authority
CN
China
Prior art keywords
pod
target
subnet
virtual
network card
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.)
Active
Application number
CN202211725431.5A
Other languages
English (en)
Other versions
CN116016320A (zh
Inventor
张民
向超胜
孙选勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China United Network Communications Group Co Ltd
Unicom Digital Technology Co Ltd
Unicom Cloud Data Co Ltd
Original Assignee
China United Network Communications Group Co Ltd
Unicom Digital Technology Co Ltd
Unicom Cloud Data Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China United Network Communications Group Co Ltd, Unicom Digital Technology Co Ltd, Unicom Cloud Data Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN202211725431.5A priority Critical patent/CN116016320B/zh
Publication of CN116016320A publication Critical patent/CN116016320A/zh
Application granted granted Critical
Publication of CN116016320B publication Critical patent/CN116016320B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本申请提供一种数据传输方法、装置及计算机可读存储介质,涉及通信技术领域,能够提高转发性能。该方法包括:创建第一子网;该第一子网包括N个目标节点,一个目标节点由第一网卡通过第一子网和虚拟专有网络VPC与其他目标节点通信,该其他目标节点为N个目标节点中除该一个目标节点外的目标节点;在为第一Pod分配第一虚拟地址的情况下,将第一虚拟地址重定向到第一虚拟子接口;该第一Pod为N个目标节点的M个目标容器Pod中的Pod,该第一虚拟子接口和第一Pod属于同一个目标节点;将第一Pod的数据传输至第一虚拟子接口,并由第一网卡通过第一子网传输至VPC。其中,N、M均为正整数。本申请实施例用于数据转发的过程中。

Description

数据传输方法、装置及计算机可读存储介质
技术领域
本申请涉及通信技术领域,尤其涉及一种数据传输方法、装置及计算机可读存储介质。
背景技术
目前,随着Kubernetes(简称k8s)使用场景越来越多,通过外部负载均衡器(如slb/clb等)访问k8s的节点(Node)中的虚拟容器最小单元Pod内服务的要求也越来越高。在相关技术中,传统k8s网络模型常用k8s-cni插件(如calico、flannel等),为Pod分配虚拟地址,并基于为Pod分配的虚拟地址,按照流量转发链路为slb-->Node-->Pod访问Pod。
但是,在这种方式中,slb无法直接对Pod做访问控制和流量控制,即在slb将流量转发到Pod的过程中,流量需要先经过k8s中的工作节点Node,然后才能传输至Pod,因此,导致流量转发链路较长,如此,导致转发性能较低。
发明内容
本申请提供一种数据传输方法、装置及计算机可读存储介质,能够使得流量在外部负载均衡器将流量转发到Pod的过程中直接传输至Pod,而无需经过工作节点Node,因此,可以缩短流量转发链路,以提高转发性能。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供一种数据传输方法,该方法包括:创建第一子网;该第一子网包括N个目标节点,一个目标节点由第一网卡通过第一子网和虚拟专有网络VPC与其他目标节点通信,该其他目标节点为N个目标节点中除该一个目标节点外的目标节点;在为第一Pod分配第一虚拟地址的情况下,将第一虚拟地址重定向到第一虚拟子接口;该第一Pod为N个目标节点的M个目标容器Pod中的Pod,该第一虚拟子接口和第一Pod属于同一个目标节点;将第一Pod的数据传输至第一虚拟子接口,并由第一网卡通过第一子网传输至VPC。其中,N、M均为正整数。
在第一方面的第一种可能的实现方式中,上述创建第一子网,包括:为N个目标节点中的每个目标节点的第一网卡绑定第一子网地址,以建立第一子网。
在第一方面的第二种可能的实现方式中,上述方法还包括:创建第二子网;该第二子网包括M个目标Pod。
在第一方面的第三种可能的实现方式中,上述创建第二子网,包括:为N个目标节点中的每个目标节点的第一网卡绑定第二子网地址,并控制每个目标节点的第一网卡的第二网卡接入VPC,以建立第二子网。
在第一方面的第四种可能的实现方式中,在上述为N个目标节点中的每个目标节点的第一网卡绑定第二子网地址之后,上述方法还包括:删除N个目标节点中的每个目标节点的第二网卡的第一IP地址;基于N个目标节点中的每个目标节点的第一网卡,分别创建一个虚拟子接口,以创建N个虚拟子接口;该N个虚拟子接口中包括第一虚拟子接口;为N个虚拟子接口中的每个虚拟子接口绑定对应的第一网卡的第二子网地址。
在第一方面的第五种可能的实现方式中,上述第二子网对应有子网地址池;上述方法还包括:从子网地址池中,为M个目标Pod中的每个目标Pod分配一个第三子网地址;其中,Q个目标Pod分配的第三子网地址是连续的;该Q个目标Pod为同一个目标节点中的Pod,Q为正整数。
在第一方面的第六种可能的实现方式中,在上述在为第一Pod分配第一虚拟地址的情况下,将第一虚拟地址重定向到第一虚拟子接口之前,上述方法还包括:使用第一插件为第一Pod分配第一虚拟地址;其中,上述第一插件为第一Pod所属的目标节点上的插件。
在第一方面的第七种可能的实现方式中,上述将第一虚拟地址重定向到第一虚拟子接口,包括:为第一虚拟地址配置第一路由信息,通过添加目标规则将第一虚拟地址重定向到第一虚拟子接口;其中,第一路由信息为第一虚拟子接口的路由信息。
第二方面,本申请提供一种数据传输装置,该数据传输装置包括:创建模块、定向模块以及传输模块。其中,创建模块,用于创建第一子网;该第一子网包括N个目标节点,一个目标节点由第一网卡通过第一子网和VPC与其他目标节点通信,该其他目标节点为N个目标节点中除该一个目标节点外的目标节点。定向模块,用于在为第一Pod分配第一虚拟地址的情况下,将第一虚拟地址重定向到第一虚拟子接口;该第一Pod为N个目标节点的M个目标Pod中的Pod,该第一虚拟子接口和第一Pod属于同一个目标节点。传输模块,用于将第一Pod的数据传输至定向模块重定向的第一虚拟子接口,并由第一网卡通过创建模块创建的第一子网传输至VPC。其中,N、M均为正整数。
在第一方面的第一种可能的实现方式中,上述创建模块,具体用于为N个目标节点中的每个目标节点的第一网卡绑定第一子网地址,以建立第一子网。
在第一方面的第二种可能的实现方式中,上述创建模块,还用于创建第二子网;该第二子网包括M个目标Pod。
在第一方面的第三种可能的实现方式中,上述创建模块,具体用于为N个目标节点中的每个目标节点的第一网卡绑定第二子网地址,并控制每个目标节点的第一网卡的第二网卡接入VPC,以建立第二子网。
在第一方面的第四种可能的实现方式中,上述数据传输装置还包括:删除模块和绑定模块。其中,删除模块,用于删除N个目标节点中的每个目标节点的第二网卡的第一互联网协议IP地址。上述创建模块,还用于基于N个目标节点中的每个目标节点的第一网卡,分别创建一个虚拟子接口,以创建N个虚拟子接口;该N个虚拟子接口中包括第一虚拟子接口。绑定模块,用于为创建模块创建的N个虚拟子接口中的每个虚拟子接口绑定对应的第一网卡的第二子网地址。
在第一方面的第五种可能的实现方式中,上述第二子网对应有子网地址池;上述数据传输装置还包括:分配模块。其中,分配模块,用于从子网地址池中,为M个目标Pod中的每个目标Pod分配一个第三子网地址。其中,Q个目标Pod分配的第三子网地址是连续的;该Q个目标Pod为同一个目标节点中的Pod,Q为正整数。
在第一方面的第六种可能的实现方式中,上述数据传输装置还包括:分配模块。其中,分配模块,用于使用第一插件为第一Pod分配第一虚拟地址。其中,第一插件为第一Pod所属的目标节点上的插件。
在第一方面的第七种可能的实现方式中,上述定向模块,具体用于为第一虚拟地址配置第一路由信息,通过添加目标规则将第一虚拟地址重定向到第一虚拟子接口。其中,第一路由信息为第一虚拟子接口的路由信息。
第三方面,本申请提供了一种数据传输装置,该装置包括:处理器和通信接口;通信接口和处理器耦合,处理器用于运行计算机程序或指令,以实现如第一方面和第一方面的任一种可能的实现方式中所描述的数据传输方法。
第四方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在终端上运行时,使得终端执行如第一方面和第一方面的任一种可能的实现方式中描述的数据传输方法。
第五方面,本申请实施例提供一种包含指令的计算机程序产品,当计算机程序产品在数据传输装置上运行时,使得数据传输装置执行如第一方面和第一方面的任一种可能的实现方式中所描述的数据传输方法。
第六方面,本申请实施例提供一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行计算机程序或指令,以实现如第一方面和第一方面的任一种可能的实现方式中所描述的数据传输方法。
具体的,本申请实施例中提供的芯片还包括存储器,用于存储计算机程序或指令。
基于上述技术方案,本申请实施例提供的数据传输方法,由于可以先创建第一子网,且任一个目标节点可以由该任一个目标节点的第一网卡通过第一子网和VPC与其他目标节点通信;这样在为第一Pod分配第一虚拟地址的情况下,可以直接将第一虚拟地址重定向到第一虚拟子接口,以将第一Pod的数据由第一网卡通过第一子网传输至VPC,即在为第一Pod分别第一虚拟地址时,可以直接注册到外部负载均衡器,因此,可以直接基于外部负载均衡器对Pod做访问控制和流量控制,从而可以缩短流量转发链路,如此,可以提高转发性能。
并且的,在本申请实施例中可以通过VPC连接的第一子网、第二子网、Pod网络,实现一个区域的目标节点与另一区域目标Pod之间的互通/访问、以及外部负载均衡器(如slb/clb等)通过本地的目标节点与另一区域目标Pod之间的互通/访问。由于VPC为专用虚拟网络,传输效率较高,因此可以提高目标节点Node与目标Pod之间互通/访问的效率。同时,Pod地址直接注册到外部负载均衡器(如slb),可以直接基于外部负载均衡器对目标Pod做访问控制和流量控制,控制更灵活,而且外部负载均衡器访问目标Pod链路更短,流量转发性能明显提升。此外,Pod网络接入VPC时,使用ipvlan本地ip分配模式,Pod启停速度更快,效率更高。
并且的,本申请实施例提供一种新的方式(ipvlan-eni组合模式)直接接入VPC网络,可以通过外部负载均衡器直接管理Pod后端地址,可以直接针对Pod后端直接做访问控制和流量控制,同时也缩短了外部负载均衡器到Pod的转发链路,转发效率更高,支撑的并发数更高。svc访问时流量通过tc规则导入ipv1_0网卡进入主机,满足k8sservice通信设计。当前Node访问当前Node上Pod,直接通过ipv1_0子接口进入,同节点Node访问Pod效率更高。同Node上Pod互相访问,直接走二层,Pod通信时间更短,效果更优。
附图说明
图1为本申请实施例提供的一种数据传输方法的流程图;
图2为本申请实施例提供的另一种数据传输方法的流程图;
图3为本申请实施例提供的目标节点间的通信关系示意图;
图4为本申请实施例提供的又一种数据传输方法的流程图;
图5为本申请实施例提供的另一种数据传输方法的流程图;
图6为本申请实施例提供的一种数据传输装置的结构示意图;
图7为本申请实施例提供的又一种数据传输装置的结构示意图;
图8为本申请实施例提供的一种芯片的结构示意图。
具体实施方式
下面结合附图对本申请实施例提供的数据传输方法及装置进行详细地描述。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。
此外,本申请的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
目前,随着Kubernetes(简称k8s)使用场景越来越多,通过外部负载均衡器(如slb/clb等)访问k8s的节点(Node)中的虚拟容器最小单元Pod内服务的要求也越来越高。在相关技术中,传统k8s网络模型常用k8s-cni插件(如calico、flannel等),为Pod分配虚拟地址,并基于为Pod分配的虚拟地址,按照流量转发链路为slb-->Node-->Pod访问Pod。但是,在这种方式中,slb无法直接对Pod做访问控制和流量控制,即在slb将流量转发到Pod的过程中,流量需要先经过k8s中的工作节点Node,然后才能传输至Pod,因此,导致流量转发链路较长,如此,导致转发性能较低。
为了解决现有技术中,转发性能较低的问题,本申请提供了一种数据传输方法,由于可以先创建第一子网,且任一个目标节点可以由该任一个目标节点的第一网卡通过第一子网和VPC与其他目标节点通信;这样在为第一Pod分配第一虚拟地址的情况下,可以直接将第一虚拟地址重定向到第一虚拟子接口,以将第一Pod的数据由第一网卡通过第一子网传输至VPC,即在为第一Pod分别第一虚拟地址时,可以直接注册到外部负载均衡器,因此,可以直接基于外部负载均衡器对Pod做访问控制和流量控制,从而可以缩短流量转发链路,如此,可以提高转发性能。
本申请数据传输方法应用于数据转发的过程中。
如图1所示,为本申请实施例提供的数据传输方法的流程图,该方法包括下述的步骤101至步骤103。
步骤101、数据传输装置创建第一子网。
本申请实施例中,上述第一子网包括N个目标节点,针对N个目标节点中的每个目标节点,一个目标节点由第一网卡通过第一子网和虚拟专有网络(VirtualPrivateNetwork,VPC)与其他目标节点通信,该其他目标节点为N个目标节点中除该一个目标节点外的目标节点;N、M均为正整数。
可选的,本申请实施例中,数据传输装置具体可以为网络侧设备,或N个目标节点中的任一个目标节点。
可选的,本申请实施例中,上述第一子网具体可以为节点子网Node Subnet。
本申请实施例中,针对N个目标节点中的每个目标节点,一个目标节点中包括一个第一网卡。
可选的,本申请实施例中,一个目标节点中的第一网卡可以为物理网卡eth0。
可选的,本申请实施例中,针对N个目标节点中的每个目标节点,一个目标节点的第一网卡可以绑定同一个子网的子网地址,以建立第一子网。
可选的,本申请实施例中,结合图1,如图2所示,上述步骤101具体可以通过下述的步骤101a实现。
步骤101a、数据传输装置为N个目标节点中的每个目标节点的第一网卡绑定第一子网地址,以建立第一子网。
可选的,本申请实施例中,上述第一子网地址具体可以为节点Node子网地址。
可以理解,每个目标节点中的第一网卡eth0使用Node子网地址接入VPC。
可选的,本申请实施例中,本申请实施例提供的数据传输方法还可以包括下述的步骤201。
步骤201、数据传输装置创建第二子网。
本申请实施例中,上述第二子网包括M个目标Pod。其中,该M个目标Pod可以为N个目标节点中的,每个目标节点中可以包括至少一个目标Pod。
可选的,本申请实施例中,上述第二子网具体可以为Pod子网。
可选的,本申请实施例中,上述步骤201具体可以通过下述的步骤201a实现。
步骤201a、数据传输装置为N个目标节点中的每个目标节点的第一网卡绑定第二子网地址,并控制每个目标节点的第一网卡的第二网卡接入VPC,以建立第二子网。
可选的,本申请实施例中,上述第二网卡具体可以为eni弹性网卡eth1。
可选的,本申请实施例中,上述第二子网地址具体可以为Pod子网地址。
可以理解,每个目标节点中的第一网卡eth0的第二网卡eth1使用弹性网卡并绑定Pod子网地址接入VPC。
可选的,本申请实施例中,在上述步骤201a中的“数据传输装置为N个目标节点中的每个目标节点的第一网卡绑定第二子网地址”之后,本申请实施例提供的数据传输方法还可以包括下述的步骤301至步骤303。
步骤301、数据传输装置删除N个目标节点中的每个目标节点的第二网卡的第一互联网协议(InternetProtocolAddress,IP)地址。
步骤302、数据传输装置基于N个目标节点中的每个目标节点的第一网卡,分别创建一个虚拟子接口,以创建N个虚拟子接口。
本申请实施例中,上述N个虚拟子接口中包括第一虚拟子接口。
步骤303、数据传输装置为N个虚拟子接口中的每个虚拟子接口绑定对应的第一网卡的第二子网地址。
本申请实施例中,数据传输装置可以基于每个目标节点中的第二网卡eth1创建出各自的第一虚拟子接口ipv1_0,并配置为ipvlanL2模式,每个目标节点上的第一虚拟子接口ipv1_0绑定当前目标节点中的第一网卡eth0地址。因此,当前目标节点的第一网卡eth1可以通过第一虚拟子接口ipv1_0与第二网卡eth0所绑定的网络进行通信,实现了Node网络、PodSubnet以及VPC网络之间的互联互通。
可选的,本申请实施例中,上述第二子网对应有子网地址池。具体的,在上述步骤201之后,本申请实施例提供的数据传输方法还包括下述的步骤401。
步骤401、数据传输装置从子网地址池中,为M个目标Pod中的每个目标Pod分配一个第三子网地址。
本申请实施例中,上述Q个目标Pod分配的第三子网地址是连续的;该Q个目标Pod为同一个目标节点中的Pod,Q为正整数。
本申请实施例中,上述子网地址池中包括多个子网地址,从而数据传输装置可以从子网地址池中,为每个目标Pod分配一个第三子网地址。
示例性的,假设Pod子网为10.2.0.0/16,当前Node上Pod使用的地址为10.2.1.0/24,从而数据传输装置可以执行步骤401,以使得每个目标节点上的各个目标Pod可以通过第二网卡eth1接入到PodSubnet中,从而实现在同一VPC网络上的所有目标节点中的所有目标Pod均可互相访问,建立起第二子网。
步骤102、在为第一Pod分配第一虚拟地址的情况下,数据传输装置将第一虚拟地址重定向到第一虚拟子接口。
本申请实施例中,上述第一Pod为N个目标节点的M个目标Pod中的Pod,上述第一虚拟子接口和第一Pod属于同一个目标节点。
可选的,本申请实施例中,上述第一虚拟地址具体可以为不能通过第二网卡eth1出去的地址,例如静态虚拟电路(StaticVirtualCircuit,SVC)地址。
可选的,本申请实施例中,数据传输装置可以为当前目标节点上的目标Pod地址添加route及neighbor指向第一虚拟子接口。
步骤103、数据传输装置将第一Pod的数据传输至第一虚拟子接口,并由第一网卡通过第一子网传输至VPC。
下面将以两种不同的示例,举例说明数据传输装置是如何将第一Pod的数据传输至VPC的。
示例性的,如图3所示,假设当前目标节点(例如Node01)的第一Pod(例如C01)的数据要传输至其他目标节点(例如Node02),此时C01的数据可以先传输至Node01的第二网卡eth1,并由该第二网卡eth1进入Node01的第一虚拟子接口ipv1_0后,进入主机kube-proxy,在通过该主机kube-proxy匹配ipvs规则后经过Node01的第一网卡eth0,由第一子网Nodesubnet进入VPC,并由VPC经过第二子网Podsubnet进入Node02的第一网卡eth1,并由该第一网卡eth1进入Node02的第二Pod(例如C03)。
基于上述技术方案,本申请实施例提供的数据传输方法,由于可以先创建第一子网,且任一个目标节点可以由该任一个目标节点的第一网卡通过第一子网和VPC与其他目标节点通信;这样在为第一Pod分配第一虚拟地址的情况下,可以直接将第一虚拟地址重定向到第一虚拟子接口,以将第一Pod的数据由第一网卡通过第一子网传输至VPC,即在为第一Pod分别第一虚拟地址时,可以直接注册到外部负载均衡器,因此,可以直接基于外部负载均衡器对Pod做访问控制和流量控制,从而可以缩短流量转发链路,如此,可以提高转发性能。
当然,数据传输装置还可以将第一Pod的数据传输至不同的对象,以下将举例说明。
示例性的,如图3所示,假设当前目标节点(例如Node01)的第一Pod(例如C01)的数据要传输至Node01的其他Pod(例如C02),此时该C01的数据可以直接通过第二网卡eth1二层转发,以传输至C02。
又示例性的,如图3所示,假设当前目标节点(例如Node01)的第一Pod(例如C01)的数据要传输至其他目标节点(例如Node02)的第二Pod(例如C04),此时,C01的数据可以通过该Node01的第二网卡eth1,经过第二子网Podsubnet进入VPC后,通过Node02的第二网卡eth1进入该C04。
又示例性的,如图3所示,假设当前目标节点(例如Node01)的第一Pod(例如C01)的数据要传输至Node01的APP,此时C01的数据可以经过该Node01的第二网卡eth1后,经过该Node01的第一虚拟子接口ipv1_0,传输至该Node01的APP。
又示例性的,如图3所示,假设当前目标节点(例如Node01)的第一Pod(例如C01)的数据要传输至其他目标节点(例如Node02)的APP,此时C01的数据可以经过Node01的第二网卡eth1后,经过第二子网Podsubnet进入VPC,并由VPC经过第一子网Nodesubnet,通过Node02的第一网卡eth01进入该Node02的APP。
又示例性的,如图3所示,假设当前目标节点(例如Node01)的第一Pod(例如C01)的数据要传输至Node01的其他Pod(例如C02),此时C01的数据可以经过Node01的第二网卡eth1后,由第一虚拟子接口ipv1_0进入主机kube-proxy,在通过该主机kube-proxy匹配ipvs规则后经过第一虚拟子接口ipv1_0由第二网卡eth1进入C02。
可选的,本申请实施例中,结合图1,如图4所示,在上述步骤102之前,本申请实施例提供的数据传输方法还可以包括下述的步骤501。
步骤501、数据传输装置使用第一插件为第一Pod分配第一虚拟地址。
本申请实施例中,上述第一插件为第一Pod所属的目标节点上的插件。
可选的,本申请实施例中,上述第一插件具体可以为ipvlan-cni插件。
可选的,本申请实施例中,结合图1,如图5所示,上述步骤102具体可以通过下述的步骤102a实现。
步骤102a、在为第一Pod分配第一虚拟地址的情况下,数据传输装置为第一虚拟地址配置第一路由信息,通过添加目标规则将第一虚拟地址重定向到第一虚拟子接口。
本申请实施例中,上述第一路由信息为第一虚拟子接口的路由信息。
可选的,本申请实施例中,上述目标规则可以包括以下至少一项:tc规则、ipvs规则。
需要说明的是,针对tc规则和ipvs规则的说明,可以参考相关技术中的具体描述,本申请实施例在此不再赘述。
综上,在本申请实施例中可以通过VPC连接的第一子网(即Node子网(NodeSubnet))、第二子网(即Pod子网(PodSubnet))、Pod网络,实现一个区域的目标节点与另一区域目标Pod之间的互通/访问、以及外部负载均衡器(如slb/clb等)通过本地的目标节点与另一区域目标Pod之间的互通/访问。由于VPC为专用虚拟网络,传输效率较高,因此可以提高目标节点Node与目标Pod之间互通/访问的效率。同时,Pod地址直接注册到外部负载均衡器(如slb),可以直接基于外部负载均衡器对目标Pod做访问控制和流量控制,控制更灵活,而且外部负载均衡器访问目标Pod链路更短,流量转发性能明显提升。此外,Pod网络接入VPC时,使用ipvlan本地ip分配模式,Pod启停速度更快,效率更高。
并且的,本申请实施例提供一种新的方式(ipvlan-eni组合模式)直接接入VPC网络,可以通过外部负载均衡器直接管理Pod后端地址,可以直接针对Pod后端直接做访问控制和流量控制,同时也缩短了外部负载均衡器到Pod的转发链路,转发效率更高,支撑的并发数更高。svc访问时流量通过tc规则导入ipv1_0网卡进入主机,满足k8sservice通信设计。当前Node访问当前Node上Pod,直接通过ipv1_0子接口进入,同节点Node访问Pod效率更高。同Node上Pod互相访问,直接走二层,Pod通信时间更短,效果更优。
本申请实施例可以根据上述方法示例对数据传输装置进行功能模块或者功能单元的划分,例如,可以对应各个功能划分各个功能模块或者功能单元,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块或者功能单元的形式实现。其中,本申请实施例中对模块或者单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
如图6所示,为本申请实施例提供的一种数据传输装置的结构示意图,该装置包括:创建模块201、定向模块202以及传输模块203。其中,创建模块201,用于创建第一子网;该第一子网包括N个目标节点,一个目标节点由第一网卡通过第一子网和VPC与其他目标节点通信,该其他目标节点为N个目标节点中除该一个目标节点外的目标节点。定向模块202,用于在为第一Pod分配第一虚拟地址的情况下,将第一虚拟地址重定向到第一虚拟子接口;该第一Pod为N个目标节点的M个目标Pod中的Pod,该第一虚拟子接口和第一Pod属于同一个目标节点。传输模块203,用于将第一Pod的数据传输至定向模块202重定向的第一虚拟子接口,并由第一网卡通过创建模块201创建的第一子网传输至VPC。其中,N、M均为正整数。
基于上述技术方案,本申请实施例提供的数据传输装置,由于可以先创建第一子网,且任一个目标节点可以由该任一个目标节点的第一网卡通过第一子网和VPC与其他目标节点通信;这样在为第一Pod分配第一虚拟地址的情况下,可以直接将第一虚拟地址重定向到第一虚拟子接口,以将第一Pod的数据由第一网卡通过第一子网传输至VPC,即在为第一Pod分别第一虚拟地址时,可以直接注册到外部负载均衡器,因此,可以直接基于外部负载均衡器对Pod做访问控制和流量控制,从而可以缩短流量转发链路,如此,可以提高转发性能。
在一种可能的实现方式中,上述创建模块201,具体用于为N个目标节点中的每个目标节点的第一网卡绑定第一子网地址,以建立第一子网。
在一种可能的实现方式中,上述创建模块201,还用于创建第二子网;该第二子网包括M个目标Pod。
在一种可能的实现方式中,上述创建模块201,具体用于为N个目标节点中的每个目标节点的第一网卡绑定第二子网地址,并控制每个目标节点的第一网卡的第二网卡接入VPC,以建立第二子网。
在一种可能的实现方式中,上述数据传输装置还包括:删除模块和绑定模块。其中,删除模块,用于删除N个目标节点中的每个目标节点的第二网卡的第一互联网协议IP地址。上述创建模块201,还用于基于N个目标节点中的每个目标节点的第一网卡,分别创建一个虚拟子接口,以创建N个虚拟子接口;该N个虚拟子接口中包括第一虚拟子接口。绑定模块,用于为创建模块创建的N个虚拟子接口中的每个虚拟子接口绑定对应的第一网卡的第二子网地址。
在一种可能的实现方式中,上述第二子网对应有子网地址池;上述数据传输装置还包括:分配模块。其中,分配模块,用于从子网地址池中,为M个目标Pod中的每个目标Pod分配一个第三子网地址。其中,Q个目标Pod分配的第三子网地址是连续的;该Q个目标Pod为同一个目标节点中的Pod,Q为正整数。
在一种可能的实现方式中,上述数据传输装置还包括:分配模块。其中,分配模块,用于使用第一插件为第一Pod分配第一虚拟地址。其中,第一插件为第一Pod所属的目标节点上的插件。
在一种可能的实现方式中,上述定向模块202,具体用于为第一虚拟地址配置第一路由信息,通过添加目标规则将第一虚拟地址重定向到第一虚拟子接口。其中,第一路由信息为第一虚拟子接口的路由信息。
在通过硬件实现时,本申请实施例中的传输模块203可以集成在通信接口上,创建模块201和定向模块202可以集成在处理器上。具体实现方式如图7所示。
图7示出了上述实施例中所涉及的数据传输装置的又一种可能的结构示意图。该数据传输装置包括:处理器302和通信接口303。处理器302用于对数据传输装置的动作进行控制管理,例如,执行上述处理单元201执行的步骤,和/或用于执行本文所描述的技术的其它过程。通信接口303用于支持数据传输装置与其他网络实体的通信,例如,执行上述通信单元202执行的步骤。数据传输装置还可以包括存储器301和总线304,存储器301用于存储数据传输装置的程序代码和数据。
其中,存储器301可以是数据传输装置中的存储器等,该存储器可以包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该存储器还可以包括上述种类的存储器的组合。
上述处理器302可以是实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。该处理器可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。该处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线304可以是扩展工业标准结构(ExtendedIndustryStandardArchitecture,EISA)总线等。总线304可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图8是本申请实施例提供的芯片170的结构示意图。芯片170包括一个或两个以上(包括两个)处理器1710和通信接口1730。
可选的,该芯片170还包括存储器1740,存储器1740可以包括只读存储器和随机存取存储器,并向处理器1710提供操作指令和数据。存储器1540的一部分还可以包括非易失性随机存取存储器(non-volatilerandomaccessmemory,NVRAM)。
在一些实施方式中,存储器1740存储了如下的元素,执行模块或者数据结构,或者他们的子集,或者他们的扩展集。
在本申请实施例中,通过调用存储器1740存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。
其中,上述处理器1710可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,单元和电路。该处理器可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,单元和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
存储器1740可以包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该存储器还可以包括上述种类的存储器的组合。
总线1720可以是扩展工业标准结构(ExtendedIndustryStandard Architecture,EISA)总线等。总线1720可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行上述方法实施例中的数据传输方法。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得该计算机执行上述方法实施例所示的方法流程中的数据传输方法。
其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RandomAccess Memory,RAM)、只读存储器(Read-OnlyMemory,ROM)、可擦式可编程只读存储器(ErasableProgrammableReadOnlyMemory,EPROM)、寄存器、硬盘、光纤、便携式紧凑磁盘只读存储器(CompactDiscRead-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合、或者本领域熟知的任何其它形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(ApplicationSpecific IntegratedCircuit,ASIC)中。在本申请实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
本发明的实施例提供一种包含指令的计算机程序产品,当指令在计算机上运行时,使得计算机执行如图1至图6中所述的数据传输方法。
由于本发明的实施例中的数据传输装置、计算机可读存储介质、计算机程序产品可以应用于上述方法,因此,其所能获得的技术效果也可参考上述方法实施例,本发明实施例在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (9)

1.一种数据传输方法,其特征在于,所述方法包括:
创建第一子网;所述第一子网包括N个目标节点,一个目标节点由第一网卡通过所述第一子网和虚拟专有网络VPC与其他目标节点通信,所述其他目标节点为所述N个目标节点中除所述一个目标节点外的目标节点;
在为第一Pod分配第一虚拟地址的情况下,将所述第一虚拟地址重定向到第一虚拟子接口;所述第一Pod为所述N个目标节点的M个目标容器Pod中的Pod,所述第一虚拟子接口和所述第一Pod属于同一个目标节点;
将所述第一Pod的数据传输至所述第一虚拟子接口,并由所述第一网卡通过所述第一子网传输至所述VPC;
其中,N、M均为正整数;
创建第二子网;所述第二子网包括所述M个目标Pod;
所述创建第二子网,包括:
为所述N个目标节点中的每个目标节点的所述第一网卡绑定第二子网地址,并控制每个目标节点的所述第一网卡的第二网卡接入所述VPC,以建立所述第二子网;
删除所述N个目标节点中的每个目标节点的所述第二网卡的第一互联网协议IP地址;
基于所述N个目标节点中的每个目标节点的所述第二网卡,分别创建一个虚拟子接口,以创建N个虚拟子接口;所述N个虚拟子接口中包括所述第一虚拟子接口;
为所述N个虚拟子接口中的每个虚拟子接口绑定对应的所述第二网卡的所述第二子网地址。
2.根据权利要求1所述的方法,其特征在于,所述创建第一子网,包括:
为所述N个目标节点中的每个目标节点的所述第一网卡绑定第一子网地址,以建立所述第一子网。
3.根据权利要求1所述的方法,其特征在于,所述第二子网对应有子网地址池;所述方法还包括:
从所述子网地址池中,为所述M个目标Pod中的每个目标Pod分配一个第三子网地址;
其中,Q个目标Pod分配的第三子网地址是连续的;所述Q个目标Pod为同一个目标节点中的Pod,Q为正整数。
4.根据权利要求1所述的方法,其特征在于,在所述在为第一Pod分配第一虚拟地址的情况下,将所述第一虚拟地址重定向到第一虚拟子接口之前,所述方法还包括:
使用第一插件为所述第一Pod分配所述第一虚拟地址;
其中,所述第一插件为所述第一Pod所属的目标节点上的插件。
5.根据权利要求1所述的方法,其特征在于,所述将所述第一虚拟地址重定向到第一虚拟子接口,包括:
为所述第一虚拟地址配置第一路由信息,通过添加目标规则将所述第一虚拟地址重定向到所述第一虚拟子接口;
其中,所述第一路由信息为所述第一虚拟子接口的路由信息。
6.一种数据传输装置,其特征在于,所述数据传输装置包括:创建模块、定向模块以及传输模块;
所述创建模块,用于创建第一子网;所述第一子网包括N个目标节点,一个目标节点由第一网卡通过所述第一子网和VPC与其他目标节点通信,所述其他目标节点为所述N个目标节点中除所述一个目标节点外的目标节点;
所述定向模块,用于在为第一Pod分配第一虚拟地址的情况下,将所述第一虚拟地址重定向到第一虚拟子接口;所述第一Pod为所述N个目标节点的M个目标Pod中的Pod,所述第一虚拟子接口和所述第一Pod属于同一个目标节点;
所述传输模块,用于将所述第一Pod的数据传输至所述定向模块重定向的所述第一虚拟子接口,并由所述第一网卡通过所述创建模块创建的所述第一子网传输至所述VPC;
其中,N、M均为正整数;
所述创建模块,还用于创建第二子网;所述第二子网包括所述M个目标Pod;
所述创建第二子网,包括:
为所述N个目标节点中的每个目标节点的所述第一网卡绑定第二子网地址,并控制每个目标节点的所述第一网卡的第二网卡接入所述VPC,以建立所述第二子网;
删除所述N个目标节点中的每个目标节点的所述第二网卡的第一互联网协议IP地址;
基于所述N个目标节点中的每个目标节点的所述第二网卡,分别创建一个虚拟子接口,以创建N个虚拟子接口;所述N个虚拟子接口中包括所述第一虚拟子接口;
为所述N个虚拟子接口中的每个虚拟子接口绑定对应的所述第二网卡的所述第二子网地址。
7.根据权利要求6所述的数据传输装置,其特征在于,所述创建模块,具体用于为所述N个目标节点中的每个目标节点的所述第一网卡绑定第一子网地址,以建立所述第一子网。
8.一种数据传输装置,其特征在于,包括:处理器和通信接口;所述通信接口和所述处理器耦合,所述处理器用于运行计算机程序或指令,以实现如权利要求1至5任一项中所述的数据传输方法。
9.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当计算机执行该指令时,该计算机执行上述权利要求1至5任一项中所述的数据传输方法。
CN202211725431.5A 2022-12-30 2022-12-30 数据传输方法、装置及计算机可读存储介质 Active CN116016320B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211725431.5A CN116016320B (zh) 2022-12-30 2022-12-30 数据传输方法、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211725431.5A CN116016320B (zh) 2022-12-30 2022-12-30 数据传输方法、装置及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN116016320A CN116016320A (zh) 2023-04-25
CN116016320B true CN116016320B (zh) 2024-03-19

Family

ID=86022546

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211725431.5A Active CN116016320B (zh) 2022-12-30 2022-12-30 数据传输方法、装置及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN116016320B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110995561A (zh) * 2019-12-06 2020-04-10 中国科学院信息工程研究所 基于容器技术的虚拟网络数据通信交互方法与系统
CN111314450A (zh) * 2020-02-06 2020-06-19 恒生电子股份有限公司 数据的传输方法、装置、电子设备和计算机存储介质
CN111885075A (zh) * 2020-07-30 2020-11-03 广州华多网络科技有限公司 容器通信方法、装置、网络设备及存储介质
CN111934918A (zh) * 2020-07-24 2020-11-13 北京金山云网络技术有限公司 对同一容器集群内的容器实例的网络隔离方法和装置
CN112470436A (zh) * 2018-07-17 2021-03-09 思科技术公司 使用srv6和bgp的多云连通性
CN114422350A (zh) * 2021-12-02 2022-04-29 阿里巴巴(中国)有限公司 一种公共云容器实例创建方法
WO2022160714A1 (zh) * 2021-01-28 2022-08-04 华为技术有限公司 一种通信方法、装置以及系统
CN115150327A (zh) * 2022-06-29 2022-10-04 济南浪潮数据技术有限公司 一种接口设置方法、装置、设备及介质
CN115150268A (zh) * 2022-07-26 2022-10-04 明阳产业技术研究院(沈阳)有限公司 Kubernetes集群的网络配置方法、装置、及电子设备
CN115189920A (zh) * 2022-06-16 2022-10-14 阿里巴巴(中国)有限公司 跨网络域通信方法和相关装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10320683B2 (en) * 2017-01-30 2019-06-11 Cisco Technology, Inc. Reliable load-balancer using segment routing and real-time application monitoring
US20210136140A1 (en) * 2019-10-30 2021-05-06 Vmware, Inc. Using service containers to implement service chains
US11632268B2 (en) * 2021-03-30 2023-04-18 Juniper Networks, Inc. Generating route target values for virtual private network routes

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112470436A (zh) * 2018-07-17 2021-03-09 思科技术公司 使用srv6和bgp的多云连通性
CN110995561A (zh) * 2019-12-06 2020-04-10 中国科学院信息工程研究所 基于容器技术的虚拟网络数据通信交互方法与系统
CN111314450A (zh) * 2020-02-06 2020-06-19 恒生电子股份有限公司 数据的传输方法、装置、电子设备和计算机存储介质
CN111934918A (zh) * 2020-07-24 2020-11-13 北京金山云网络技术有限公司 对同一容器集群内的容器实例的网络隔离方法和装置
CN111885075A (zh) * 2020-07-30 2020-11-03 广州华多网络科技有限公司 容器通信方法、装置、网络设备及存储介质
WO2022160714A1 (zh) * 2021-01-28 2022-08-04 华为技术有限公司 一种通信方法、装置以及系统
CN114422350A (zh) * 2021-12-02 2022-04-29 阿里巴巴(中国)有限公司 一种公共云容器实例创建方法
CN115189920A (zh) * 2022-06-16 2022-10-14 阿里巴巴(中国)有限公司 跨网络域通信方法和相关装置
CN115150327A (zh) * 2022-06-29 2022-10-04 济南浪潮数据技术有限公司 一种接口设置方法、装置、设备及介质
CN115150268A (zh) * 2022-07-26 2022-10-04 明阳产业技术研究院(沈阳)有限公司 Kubernetes集群的网络配置方法、装置、及电子设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
面向OpenStack云平台的网络优化技术研究与实现;朱梦瑶;中国优秀硕士学位论文全文数据库信息科技辑;20220515;全文 *
面向虚拟化环境的微隔离技术的研究;游益锋;中国优秀硕士学位论文全文数据库信息科技辑;20191215;全文 *

Also Published As

Publication number Publication date
CN116016320A (zh) 2023-04-25

Similar Documents

Publication Publication Date Title
CN111885075B (zh) 容器通信方法、装置、网络设备及存储介质
CN111066301B (zh) 用于强制执行统一全局策略的方法、系统及存储介质
CN115699699B (zh) 虚拟私有云与云下数据中心通信、配置方法及相关装置
CN109617906B (zh) 一种混合云的接入方法及装置
CN109245984A (zh) 一种报文传输方法、一种信息处理方法及其相关设备
CN112965824A (zh) 报文的转发方法及装置、存储介质、电子设备
CN105577632A (zh) 一种基于网络隔离的安全连网方法及终端
CN112235175B (zh) 一种网桥设备的访问方法、访问装置及网桥设备
CN104012057A (zh) 用于网络光纤信道网络的灵活且可扩缩的增强的传输选择方法
WO2020108438A1 (zh) 一种接入系统、方法及装置
CN111694519B (zh) 一种裸金属服务器挂载云硬盘的方法、系统及服务器
CN113542421A (zh) 基于5g用户面功能实体的数据转发方法及装置
CN114172753B (zh) 地址预留的方法、网络设备和系统
CN116016320B (zh) 数据传输方法、装置及计算机可读存储介质
WO2023231982A1 (zh) 一种基于公有云的vpc之间的通信方法及相关产品
CN110351394B (zh) 网络数据的处理方法及装置、计算机装置及可读存储介质
CN110990123B (zh) 构建虚拟机网络系统的方法及装置
CN113676544A (zh) 一种云存储网络和在实体服务器中实现业务隔离的方法
CN114531320A (zh) 通信方法、装置、设备、系统及计算机可读存储介质
CN115473765A (zh) 报文传输方法、设备及系统
CN109714262B (zh) 数据传输方法及相关设备
CN114765601A (zh) 一种地址前缀获取方法及装置
CN107508845B (zh) 一种组网系统、网络共享方法和系统
CN116155890B (zh) 分布式文件系统的实现方法及装置
CN117499318B (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
GR01 Patent grant
GR01 Patent grant