CN115379010A - 一种容器网络构建方法、装置、设备及存储介质 - Google Patents
一种容器网络构建方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115379010A CN115379010A CN202210976572.8A CN202210976572A CN115379010A CN 115379010 A CN115379010 A CN 115379010A CN 202210976572 A CN202210976572 A CN 202210976572A CN 115379010 A CN115379010 A CN 115379010A
- Authority
- CN
- China
- Prior art keywords
- network
- vpp
- component
- container
- configuration information
- 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.)
- Granted
Links
- 238000010276 construction Methods 0.000 title claims abstract description 19
- 238000000034 method Methods 0.000 claims abstract description 25
- 230000005540 biological transmission Effects 0.000 claims abstract description 21
- 230000008859 change Effects 0.000 claims abstract description 16
- 238000004590 computer program Methods 0.000 claims description 15
- 238000007726 management method Methods 0.000 claims description 15
- 238000013500 data storage Methods 0.000 claims description 11
- 238000012544 monitoring process Methods 0.000 claims description 6
- 238000012508 change request Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 abstract description 11
- 239000003795 chemical substances by application Substances 0.000 description 48
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 2
- 239000002184 metal Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 238000012360 testing method Methods 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
- 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/14—Session management
- H04L67/141—Setup of application sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种容器网络构建方法、装置、设备及存储介质,涉及计算机技术领域。该方法包括:通过网络代理组件创建本节点内vpp与宿主机的网络连接;通过所述网络代理组件获取k8s系统内kublet组件基于容器变动发送的调用请求,并根据所述调用请求在所述vpp和目标容器上创建memif接口,以建立所述vpp和所述目标容器之间的传输通道;通过所述网络代理组件获取k8s系统内API服务组件发送的网络配置信息,并将所述网络配置信息同步至所述vpp。容器内部使用memif接口提升网络带宽,提高容器网络性能,并打通vpp与宿主机的网络连接,实现了容器内部应用程序与外界网络的高速通信。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种容器网络构建方法、装置、设备及存储介质。
背景技术
随着云原生技术的发展,新一代NFV(Network Function Virtualization,网络功能虚拟化)技术要求虚拟化的网元基于云上的资源构建部署。NFV网元不再直接部署在裸金属物理服务器上,而是以容器的方式运行在容器编排系统(kubernetes,k8s)内,这对云平台的网络性能提出了更高的要求。然而原生的k8s网络解决方案依赖于系统内核协议栈,成为了流量瓶颈。当前k8s的网络解决方案大部分依赖于CNI(Container NetworkInterface,容器网络插件),通过标准CNI接口对CNI下发配置。而CNI实现网络功能的原理是对linux内核网络协议栈进行配置,因此其转发性能瓶颈受限于内核协议栈。在NFV场景下,例如容器化防火墙,由于内核协议栈存在非必要的数据包处理流程,其性能无法满足虚拟网元对云平台网络性能的要求。
发明内容
有鉴于此,本发明的目的在于提供一种容器网络构建方法、装置、设备及介质,能够提高容器网络性能。其具体方案如下:
第一方面,本申请公开了一种容器网络构建方法,包括:
通过网络代理组件创建本节点内vpp与宿主机的网络连接;
通过所述网络代理组件获取k8s系统内kublet组件基于容器变动发送的调用请求,并根据所述调用请求在所述vpp和目标容器上创建memif接口,以建立所述vpp和所述目标容器之间的传输通道;
通过所述网络代理组件获取k8s系统内API服务组件发送的网络配置信息,并将所述网络配置信息同步至所述vpp。
可选的,所述通过所述网络代理组件获取k8s系统内API服务组件发送的网络配置信息,并将所述网络配置信息同步至所述vpp,包括:
通过预先创建的针对所述k8s系统的网络控制组件,获取所述k8s系统内API服务组件发送的网络配置信息,并基于所述配置信息生成vpp可读的网络规则;
通过所述网络控制组件将所述网络规则发送给所述网络代理组件,以便所述网络代理组件将所述网络规则同步至所述vpp。
可选的,所述通过网络控制组件将所述网络规则发送给所述网络代理组件,以便所述网络代理组件将所述网络规则同步至所述vpp,包括:
通过所述网络控制组件将所述网络规则同步至数据存储组件;
所述网络代理组件通过监听所述数据存储组件的信息更新,获取所述网络规则,并将所述网络规则同步至所述vpp,以便所述vpp根据所述网络规则进行报文转发。
可选的,所述通过所述网络代理组件获取k8s系统内kublet组件基于容器变动发送的调用请求,并根据所述调用请求在所述vpp和目标容器上创建memif接口,包括:
通过所述网络代理组件获取k8s系统内kublet组件发送的调用请求;所述调用请求为所述kublet组件接收到容器变动请求后生成的调用请求;
所述网络代理组件根据所述调用请求对应的接口配置信息在所述vpp和目标容器上创建对应的memif接口。
可选的,所述网络代理组件根据所述调用请求对应的接口配置信息在所述vpp和目标容器上创建对应的memif接口,包括:
所述网络代理组件根据所述调用请求对应的接口配置信息在所述vpp内创建memif设备,并将所述memif设备的套接字文件挂载至所述目标容器内部,以建立所述vpp和所述目标容器之间的传输通道。
可选的,所述容器网络构建方法,还包括:
通过所述网络代理组件获取k8s系统内API服务组件发送的网络配置更新信息,并将所述网络配置更新信息同步至所述vpp。
可选的,所述通过网络代理组件创建本节点内vpp与宿主机的网络连接,包括:
通过在k8s系统的每个节点内预先创建的所述网络代理组件,在本地vpp上添加管理网口,创建本地vpp与宿主机之间的管理网络;
通过所述网络代理组件在本地vpp上添加dpdk接口,创建本地vpp与宿主机之间的业务网络。
第二方面,本申请公开了一种容器网络构建装置,包括:
网络连接创建模块,用于通过网络代理组件创建本节点内vpp与宿主机的网络连接;
传输通道创建模块,用于通过所述网络代理组件获取k8s系统内kublet组件基于容器变动发送的调用请求,并根据所述调用请求在所述vpp和目标容器上创建memif接口,以建立所述vpp和所述目标容器之间的传输通道;
网络配置模块,用于通过所述网络代理组件获取k8s系统内API服务组件发送的网络配置信息,并将所述网络配置信息同步至所述vpp。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述的容器网络构建方法。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中计算机程序被处理器执行时实现前述的容器网络构建方法。
本申请中,通过网络代理组件创建本节点内vpp与宿主机的网络连接;通过所述网络代理组件获取k8s系统内kublet组件基于容器变动发送的调用请求,并根据所述调用请求在所述vpp和目标容器上创建memif接口,以建立所述vpp和所述目标容器之间的传输通道;通过所述网络代理组件获取k8s系统内API服务组件发送的网络配置信息,并将所述网络配置信息同步至所述vpp。由此可见,使用vpp替换k8s传统的底层数据转发平面,极大提高了网络性能,使得网络瓶颈不再受限于内核协议栈,在此基础上,通过网络代理组件实现k8s系统内容器memif接口以及网络连接的创建,进而容器内部使用memif接口连接vpp以提升网络带宽,提高容器网络性能,并打通vpp与宿主机的网络连接,实现了容器内部应用程序与外界网络的高速通信。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种容器网络构建方法流程图;
图2为本申请提供的一种具体的容器网络系统结构图;
图3为本申请提供的一种具体的容器网络系统业务流程时序图;
图4为本申请提供的一种容器网络构建装置结构示意图;
图5为本申请提供的一种电子设备结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,k8s的网络解决方案大部分依赖于CNI,其性能无法满足虚拟网元对云平台网络性能的要求。为克服上述技术问题,本申请提出一种容器网络构建方法,能够提高容器网络性能,实现容器内部应用程序与外界网络的高速通信。
本申请实施例公开了一种容器网络构建方法,参见图1所示,该方法可以包括以下步骤:
步骤S11:通过网络代理组件创建本节点内vpp与宿主机的网络连接。
本实施例中,容器编排系统的每个节点内均预先配置有上述网络代理组件,该网络代理组件在初始化时打通容器与宿主机的管理网络和业务网络,实现节点内vpp(VectorPacket Processing,思科矢量数据包处理)与宿主机的网络连接。
本实施例中,所述通过网络代理组件创建本节点内vpp与宿主机的网络连接,可以包括:通过在k8s系统的每个节点内预先创建的所述网络代理组件,在本地vpp上添加管理网口,创建本地vpp与宿主机之间的管理网络;通过所述网络代理组件在本地vpp上添加dpdk接口,创建本地vpp与宿主机之间的业务网络。即具体的,通过在宿主机的主命名空间内创建tap(Test Access Point or Terminal Access Point,测试访问点或终端访问点)设备,配置vpp纳管tap设备,以添加本地vpp与宿主机之间的管理网口,进而创建本地vpp与宿主机之间的管理网络,以及,将业务口绑定dpdk(Data Plane Development Kit,一种高性能数据面开发函数库)驱动,并配置vpp纳管业务口,以添加本地vpp与宿主机之间的dpdk接口,创建本地vpp与宿主机之间的业务网络。
步骤S12:通过所述网络代理组件获取k8s系统内kublet组件基于容器变动发送的调用请求,并根据所述调用请求在所述vpp和目标容器上创建memif接口,以建立所述vpp和所述目标容器之间的传输通道。
本实施例中,所述通过所述网络代理组件获取k8s系统内kublet组件基于容器变动发送的调用请求,并根据所述调用请求在所述vpp和目标容器上创建memif接口,可以包括:通过所述网络代理组件获取k8s系统内kublet组件发送的调用请求;所述调用请求为所述kublet组件接收到容器变动请求后生成的调用请求;所述网络代理组件根据所述调用请求对应的接口配置信息在所述vpp和目标容器上创建对应的memif接口。
可以理解的是,kublet组件为k8s系统中现有的组件,用于容器的创建等,因此,当kublet组件检测到容器变动后调用网络代理组件,网络代理组件根据调用请求在vpp和目标容器上创建memif接口,即在vpp和pod上创建memif接口,以建立vpp和所述目标容器之间的传输通道。pod是k8s最小的运行部署单位,k8s中定义的容器组,容器组内的各容器运行一类特定功能的程序。Memif(shared memory packet interface)为不同dpdk进程基于共享内存交换的数据包接口,服务端和客户端通过套接字传递控制消息,并在共享内存中交换原始数据包。
本实施例中,所述网络代理组件根据所述调用请求对应的接口配置信息在所述vpp和目标容器上创建对应的memif接口,可以包括:所述网络代理组件根据所述调用请求对应的接口配置信息在所述vpp内创建memif设备,并将所述memif设备的套接字文件挂载至所述目标容器内部,以建立所述vpp和所述目标容器之间的传输通道。即网络代理组件作为kubelet组件的设备插件,按照设备插件的标准提供kubelet相应的接口,当创建新pod时,用户下发的编排信息模板中加入自定义资源memif,kubelet会调用agent的设备插件接口,通知agent在对应容器内部创建memif设备,agent随后会在vpp内创建memif设备,将memif套接字文件挂载至容器内部,从而实现vpp纳管容器网络流量。
步骤S13:通过所述网络代理组件获取k8s系统内API服务组件发送的网络配置信息,并将所述网络配置信息同步至所述vpp。
本实施例中,网络代理组件还用于获取k8s系统内API服务组件(api-server)发送的网络配置信息,并将网络配置信息同步至vpp,实现在k8s系统内构造高性能容器网络数据转发平面。且与CNI相比,vpp提供了丰富且易用的网络功能,用户可根据业务需求自定义acl,策略路由网络配置。
本实施例中,所述通过所述网络代理组件获取k8s系统内API服务组件发送的网络配置信息,并将所述网络配置信息同步至所述vpp,可以包括:通过预先创建的针对所述k8s系统的网络控制组件,获取所述k8s系统内API服务组件发送的网络配置信息,并基于所述配置信息生成vpp可读的网络规则;通过所述网络控制组件将所述网络规则发送给所述网络代理组件,以便所述网络代理组件将所述网络规则同步至所述vpp。即本实施例中为了实现用户可自定义丰富的网络规则,通过API服务组件获取用户下发的自定义网络配置信息,然后将该网络配置信息进行格式转化,转化为vpp可读的网络规则,如生成vpp内部的route,acl(Access Control List,访问控制列表),nat,vxlan等网络规则,保证集群内节点和pod网络可达,将该网络规则同步至vpp,以便vpp根据该网络规则进行数据转发等操作。
本实施例中,所述通过网络控制组件将所述网络规则发送给所述网络代理组件,以便所述网络代理组件将所述网络规则同步至所述vpp,可以包括:通过所述网络控制组件将所述网络规则同步至数据存储组件;所述网络代理组件通过监听所述数据存储组件的信息更新,获取所述网络规则,并将所述网络规则同步至所述vpp,以便所述vpp根据所述网络规则进行报文转发。即通过将网络配置同步至数据存储组件,如分布式键值存储组件(etcd存储组件),网络代理组件监听etcd中的vpp配置,按照vpp二进制接口转换etcd中的数据,将配置同步至vpp。
本实施例中,所述容器网络构建方法,还可以包括:通过所述网络代理组件获取k8s系统内API服务组件发送的网络配置更新信息,并将所述网络配置更新信息同步至所述vpp。即在容器变更时会相应的更新网络配置,在容器不存在更新时,也可以单独更新网络配置。
由上可见,本实施例中通过网络代理组件创建本节点内vpp与宿主机的网络连接;通过所述网络代理组件获取k8s系统内kublet组件基于容器变动发送的调用请求,并根据所述调用请求在所述vpp和目标容器上创建memif接口,以建立所述vpp和所述目标容器之间的传输通道;通过所述网络代理组件获取k8s系统内API服务组件发送的网络配置信息,并将所述网络配置信息同步至所述vpp。由此可见,使用vpp替换k8s传统的底层数据转发平面,极大提高了网络性能,使得网络瓶颈不再受限于内核协议栈,在此基础上,通过网络代理组件实现k8s系统内容器memif接口以及网络连接的创建,进而容器内部使用memif接口提升网络带宽,提高容器网络性能,并打通vpp与宿主机的网络连接,实现了容器内部应用程序与外界网络的高速通信。
进一步,本申请实施例还公开了一种具体的容器网络系统结构图,参见图2所示,系统由网络控制组件(controller),数据存储组件(ETCD),网络代理组件(agent),vpp,以及相关k8s系统组件:api-server(API服务组件)、数据存储组件(ETCD)、kubelet等构成。网络控制组件,用于按照k8s自定义operator程序标准编写,北向接收k8s系统内API服务组件的用户自定义网络配置,转换为VPP可读的网络规则,南向将网络规则同步至etcd存储组件。以及,当k8s集群中加入新节点或pod时,重新生成vpp内部的网络规则,保证集群内节点和pod网络可达,并南向将网络配置同步至etcd存储组件。其中,etcd存储组件用于存储k8s资源信息,本系统可以单独使用一套etcd集群,也可以与k8s系统共用同一套etcd集群。系统中还包括网络代理组件,用于接收kublet组件基于容器变动发送的调用请求,并在vpp和目标容器上创建memif接口,以建立vpp和目标容器之间的传输通道,从而实现vpp纳管容器网络流量;网络代理组件还用于在初始化时打通容器与宿主机的管理网络和业务网络;以及,监听etcd中的网络规则,并将网络规则同步至vpp。以便vpp作为数据平面按照网络规则对业务报文进行转发。
相应的,本申请实施例还公开了一种具体的容器网络系统业务流程时序图,参见图3所示,如业务流①和②所示,节点变动时,用户根据下发创建pod请求至k8s apiserver,指定pod资源需求的memif;controller监听到pod变动,生成相应的网络配置同步至etcd;agent监听etcd中的网络配置并同步至vpp;同时,kubelet增删pod时,在启动容器前调用设备插件接口通知agent完成memif设备的增删;agent在容器与vpp之间创建memif设备,并根据pod和节点信息生成并更新相应的vpp网络规则;agent监听etcd中的网络配置并同步至vpp。当仅变更网络规则时,如业务流③所示,controller接收api-server的自定义网络规则资源,生成相应的网络配置同步至etcd;agent监听etcd中的网络配置并同步至vpp。
相应的,本申请实施例还公开了一种容器网络构建装置,参见图4所示,该装置包括:
网络连接创建模块11,用于通过网络代理组件创建本节点内vpp与宿主机的网络连接;
传输通道创建模块12,用于通过所述网络代理组件获取k8s系统内kublet组件基于容器变动发送的调用请求,并根据所述调用请求在所述vpp和目标容器上创建memif接口,以建立所述vpp和所述目标容器之间的传输通道;
网络配置模块13,用于通过所述网络代理组件获取k8s系统内API服务组件发送的网络配置信息,并将所述网络配置信息同步至所述vpp。
由上可见,本实施例中通过网络代理组件创建本节点内vpp与宿主机的网络连接;通过所述网络代理组件获取k8s系统内kublet组件基于容器变动发送的调用请求,并根据所述调用请求在所述vpp和目标容器上创建memif接口,以建立所述vpp和所述目标容器之间的传输通道;通过所述网络代理组件获取k8s系统内API服务组件发送的网络配置信息,并将所述网络配置信息同步至所述vpp。由此可见,使用vpp替换k8s传统的底层数据转发平面,极大提高了网络性能,使得网络瓶颈不再受限于内核协议栈,在此基础上,通过网络代理组件实现k8s系统内容器memif接口以及网络连接的创建,进而容器内部使用memif接口提升网络带宽,提高容器网络性能,并打通vpp与宿主机的网络连接,实现了容器内部应用程序与外界网络的高速通信。
在一些具体实施例中,所述网络配置模块13具体可以包括:
网络规则生成单元,用于通过预先创建的针对所述k8s系统的网络控制组件,获取所述k8s系统内API服务组件发送的网络配置信息,并基于所述配置信息生成vpp可读的网络规则;
同步单元,用于通过所述网络控制组件将所述网络规则发送给所述网络代理组件,以便所述网络代理组件将所述网络规则同步至所述vpp。
在一些具体实施例中,所述同步单元具体可以包括:
存储单元,用于通过所述网络控制组件将所述网络规则同步至数据存储组件;
监听单元,用于所述网络代理组件通过监听所述数据存储组件的信息更新,获取所述网络规则,并将所述网络规则同步至所述vpp,以便所述vpp根据所述网络规则进行报文转发。
在一些具体实施例中,所述传输通道创建模块12具体可以包括:
请求获取单元,用于通过所述网络代理组件获取k8s系统内kublet组件发送的调用请求;所述调用请求为所述kublet组件接收到容器变动请求后生成的调用请求;
接口创建单元,用于所述网络代理组件根据所述调用请求对应的接口配置信息在所述vpp和目标容器上创建对应的memif接口。
在一些具体实施例中,所述接口创建单元具体可以用于所述网络代理组件根据所述调用请求对应的接口配置信息在所述vpp内创建memif设备,并将所述memif设备的套接字文件挂载至所述目标容器内部,以建立所述vpp和所述目标容器之间的传输通道。
在一些具体实施例中,所述容器网络构建装置具体可以包括:
网络配置更新单元,用于通过所述网络代理组件获取k8s系统内API服务组件发送的网络配置更新信息,并将所述网络配置更新信息同步至所述vpp。
在一些具体实施例中,所述网络连接创建模块具体可以包括:
管理网络创建单元,用于通过在k8s系统的每个节点内预先创建的所述网络代理组件,在本地vpp上添加管理网口,创建本地vpp与宿主机之间的管理网络;
业务网络创建单元,用于通过所述网络代理组件在本地vpp上添加dpdk接口,创建本地vpp与宿主机之间的业务网络。
进一步的,本申请实施例还公开了一种电子设备,参见图5所示,图中的内容不能被认为是对本申请的使用范围的任何限制。
图5为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的容器网络构建方法中的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及包括网络配置信息在内的数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的容器网络构建方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述任一实施例公开的容器网络构建方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种容器网络构建方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种容器网络构建方法,其特征在于,应用于k8s系统,包括:
通过网络代理组件创建本节点内vpp与宿主机的网络连接;
通过所述网络代理组件获取k8s系统内kublet组件基于容器变动发送的调用请求,并根据所述调用请求在所述vpp和目标容器上创建memif接口,以建立所述vpp和所述目标容器之间的传输通道;
通过所述网络代理组件获取k8s系统内API服务组件发送的网络配置信息,并将所述网络配置信息同步至所述vpp。
2.根据权利要求1所述的容器网络构建方法,其特征在于,所述通过所述网络代理组件获取k8s系统内API服务组件发送的网络配置信息,并将所述网络配置信息同步至所述vpp,包括:
通过预先创建的针对所述k8s系统的网络控制组件,获取所述k8s系统内API服务组件发送的网络配置信息,并基于所述配置信息生成vpp可读的网络规则;
通过所述网络控制组件将所述网络规则发送给所述网络代理组件,以便所述网络代理组件将所述网络规则同步至所述vpp。
3.根据权利要求2所述的容器网络构建方法,其特征在于,所述通过网络控制组件将所述网络规则发送给所述网络代理组件,以便所述网络代理组件将所述网络规则同步至所述vpp,包括:
通过所述网络控制组件将所述网络规则同步至数据存储组件;
所述网络代理组件通过监听所述数据存储组件的信息更新,获取所述网络规则,并将所述网络规则同步至所述vpp,以便所述vpp根据所述网络规则进行报文转发。
4.根据权利要求1所述的容器网络构建方法,其特征在于,所述通过所述网络代理组件获取k8s系统内kublet组件基于容器变动发送的调用请求,并根据所述调用请求在所述vpp和目标容器上创建memif接口,包括:
通过所述网络代理组件获取k8s系统内kublet组件发送的调用请求;所述调用请求为所述kublet组件接收到容器变动请求后生成的调用请求;
所述网络代理组件根据所述调用请求对应的接口配置信息在所述vpp和目标容器上创建对应的memif接口。
5.根据权利要求4所述的容器网络构建方法,其特征在于,所述网络代理组件根据所述调用请求对应的接口配置信息在所述vpp和目标容器上创建对应的memif接口,包括:
所述网络代理组件根据所述调用请求对应的接口配置信息在所述vpp内创建memif设备,并将所述memif设备的套接字文件挂载至所述目标容器内部,以建立所述vpp和所述目标容器之间的传输通道。
6.根据权利要求1所述的容器网络构建方法,其特征在于,还包括:
通过所述网络代理组件获取k8s系统内API服务组件发送的网络配置更新信息,并将所述网络配置更新信息同步至所述vpp。
7.根据权利要求1至6任一项所述的容器网络构建方法,其特征在于,所述通过网络代理组件创建本节点内vpp与宿主机的网络连接,包括:
通过在k8s系统的每个节点内预先创建的所述网络代理组件,在本地vpp上添加管理网口,创建本地vpp与宿主机之间的管理网络;
通过所述网络代理组件在本地vpp上添加dpdk接口,创建本地vpp与宿主机之间的业务网络。
8.一种容器网络构建装置,其特征在于,包括:
网络连接创建模块,用于通过网络代理组件创建本节点内vpp与宿主机的网络连接;
传输通道创建模块,用于通过所述网络代理组件获取k8s系统内kublet组件基于容器变动发送的调用请求,并根据所述调用请求在所述vpp和目标容器上创建memif接口,以建立所述vpp和所述目标容器之间的传输通道;
网络配置模块,用于通过所述网络代理组件获取k8s系统内API服务组件发送的网络配置信息,并将所述网络配置信息同步至所述vpp。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的容器网络构建方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中计算机程序被处理器执行时实现如权利要求1至7任一项所述的容器网络构建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210976572.8A CN115379010B (zh) | 2022-08-15 | 2022-08-15 | 一种容器网络构建方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210976572.8A CN115379010B (zh) | 2022-08-15 | 2022-08-15 | 一种容器网络构建方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115379010A true CN115379010A (zh) | 2022-11-22 |
CN115379010B CN115379010B (zh) | 2024-04-26 |
Family
ID=84064772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210976572.8A Active CN115379010B (zh) | 2022-08-15 | 2022-08-15 | 一种容器网络构建方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115379010B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116319322A (zh) * | 2023-05-16 | 2023-06-23 | 北京国电通网络技术有限公司 | 电力设备节点通信连接方法、装置、设备和计算机介质 |
CN116389252A (zh) * | 2023-03-30 | 2023-07-04 | 安超云软件有限公司 | 容器网络的更新方法、装置、系统、电子设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190297011A1 (en) * | 2018-03-20 | 2019-09-26 | Cisco Technology, Inc. | Intra-host and end-to-end packet path and treatment tracing using in-situ oam in container networking architecture |
CN111143034A (zh) * | 2019-12-23 | 2020-05-12 | 北京神州绿盟信息安全科技股份有限公司 | 一种控制网络数据转发平面的方法、装置及系统 |
CN112565047A (zh) * | 2020-11-19 | 2021-03-26 | 浪潮思科网络科技有限公司 | 一种在docker中使用VPP构建网络的方法、装置、设备及介质 |
CN112905305A (zh) * | 2021-03-03 | 2021-06-04 | 国网电力科学研究院有限公司 | 基于vpp的集群式虚拟化数据转发方法、装置及系统 |
WO2021147358A1 (zh) * | 2020-01-23 | 2021-07-29 | 华为技术有限公司 | 一种网络接口的建立方法、装置及系统 |
US20220038501A1 (en) * | 2020-07-29 | 2022-02-03 | Vmware, Inc. | Connection tracking for container cluster |
-
2022
- 2022-08-15 CN CN202210976572.8A patent/CN115379010B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190297011A1 (en) * | 2018-03-20 | 2019-09-26 | Cisco Technology, Inc. | Intra-host and end-to-end packet path and treatment tracing using in-situ oam in container networking architecture |
CN111143034A (zh) * | 2019-12-23 | 2020-05-12 | 北京神州绿盟信息安全科技股份有限公司 | 一种控制网络数据转发平面的方法、装置及系统 |
WO2021147358A1 (zh) * | 2020-01-23 | 2021-07-29 | 华为技术有限公司 | 一种网络接口的建立方法、装置及系统 |
US20220038501A1 (en) * | 2020-07-29 | 2022-02-03 | Vmware, Inc. | Connection tracking for container cluster |
CN112565047A (zh) * | 2020-11-19 | 2021-03-26 | 浪潮思科网络科技有限公司 | 一种在docker中使用VPP构建网络的方法、装置、设备及介质 |
CN112905305A (zh) * | 2021-03-03 | 2021-06-04 | 国网电力科学研究院有限公司 | 基于vpp的集群式虚拟化数据转发方法、装置及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116389252A (zh) * | 2023-03-30 | 2023-07-04 | 安超云软件有限公司 | 容器网络的更新方法、装置、系统、电子设备和存储介质 |
CN116389252B (zh) * | 2023-03-30 | 2024-01-02 | 安超云软件有限公司 | 容器网络的更新方法、装置、系统、电子设备和存储介质 |
CN116319322A (zh) * | 2023-05-16 | 2023-06-23 | 北京国电通网络技术有限公司 | 电力设备节点通信连接方法、装置、设备和计算机介质 |
CN116319322B (zh) * | 2023-05-16 | 2023-09-12 | 北京国电通网络技术有限公司 | 电力设备节点通信连接方法、装置、设备和计算机介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115379010B (zh) | 2024-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111586670A (zh) | 用于实现业务连续性的方法及相关设备 | |
CN105610632B (zh) | 一种虚拟网络设备及相关方法 | |
EP3225014B1 (en) | Source ip address transparency systems and methods | |
CN115379010B (zh) | 一种容器网络构建方法、装置、设备及存储介质 | |
EP3783838A1 (en) | Virtual network interface objects | |
CN114697252A (zh) | 计算机网络方法、软件定义网络控制器及存储介质 | |
WO2014194753A1 (zh) | 一种生成业务路径的方法、设备及系统 | |
CN110932876B (zh) | 一种通信系统、方法及装置 | |
WO2022170446A1 (zh) | 一种卫星链路信息确定方法及装置 | |
CN112929264B (zh) | 业务流量传输方法、系统及网络设备 | |
CN115225634B (zh) | 虚拟网络下的数据转发方法、装置及计算机程序产品 | |
CN113691589B (zh) | 报文传输方法、装置及系统 | |
KR20210089113A (ko) | 사설 네트워크 간의 통신을 위한 방법, 장치, 전자 기기 및 저장 매체 | |
CN114363410B (zh) | 应用访问方法、云端代理及节点代理组件、设备、介质 | |
CN117061352A (zh) | 多模态虚拟网元的实现方法、装置、设备及介质 | |
CN109120556B (zh) | 一种云主机访问对象存储服务器的方法及系统 | |
CN107483628B (zh) | 基于dpdk的单向代理方法及系统 | |
CN111130978B (zh) | 网络流量转发方法、装置、电子设备及机器可读存储介质 | |
CN113254148A (zh) | 一种虚拟机的迁移方法及云管理平台 | |
CN115665026A (zh) | 一种集群组网的方法和装置 | |
KR100423391B1 (ko) | 고속 라우터 시스템에서 분산 포워딩 테이블 처리방법 | |
JP7527480B2 (ja) | データステアリング方法および装置 | |
CN110809033B (zh) | 报文转发方法、装置及交换服务器 | |
CN115002029A (zh) | 一种流量转发方法、装置、设备及存储介质 | |
CN111866100A (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 |