CN115379010B - 一种容器网络构建方法、装置、设备及存储介质 - Google Patents

一种容器网络构建方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN115379010B
CN115379010B CN202210976572.8A CN202210976572A CN115379010B CN 115379010 B CN115379010 B CN 115379010B CN 202210976572 A CN202210976572 A CN 202210976572A CN 115379010 B CN115379010 B CN 115379010B
Authority
CN
China
Prior art keywords
network
vpp
component
container
proxy component
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
CN202210976572.8A
Other languages
English (en)
Other versions
CN115379010A (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.)
DBAPPSecurity Co Ltd
Original Assignee
DBAPPSecurity 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 DBAPPSecurity Co Ltd filed Critical DBAPPSecurity Co Ltd
Priority to CN202210976572.8A priority Critical patent/CN115379010B/zh
Publication of CN115379010A publication Critical patent/CN115379010A/zh
Application granted granted Critical
Publication of CN115379010B publication Critical patent/CN115379010B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup 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系统内kubelet组件基于容器变动发送的调用请求,并根据所述调用请求在所述vpp和目标容器上创建memif接口,以建立所述vpp和所述目标容器之间的传输通道;
通过所述网络代理组件获取k8s系统内API服务组件发送的网络配置信息,并将所述网络配置信息同步至所述vpp。
可选的,所述通过所述网络代理组件获取k8s系统内API服务组件发送的网络配置信息,并将所述网络配置信息同步至所述vpp,包括:
通过预先创建的针对所述k8s系统的网络控制组件,获取所述k8s系统内API服务组件发送的网络配置信息,并基于所述配置信息生成vpp可读的网络规则;
通过所述网络控制组件将所述网络规则发送给所述网络代理组件,以便所述网络代理组件将所述网络规则同步至所述vpp。
可选的,所述通过网络控制组件将所述网络规则发送给所述网络代理组件,以便所述网络代理组件将所述网络规则同步至所述vpp,包括:
通过所述网络控制组件将所述网络规则同步至数据存储组件;
所述网络代理组件通过监听所述数据存储组件的信息更新,获取所述网络规则,并将所述网络规则同步至所述vpp,以便所述vpp根据所述网络规则进行报文转发。
可选的,所述通过所述网络代理组件获取k8s系统内kubelet组件基于容器变动发送的调用请求,并根据所述调用请求在所述vpp和目标容器上创建memif接口,包括:
通过所述网络代理组件获取k8s系统内kubelet组件发送的调用请求;所述调用请求为所述kubelet组件接收到容器变动请求后生成的调用请求;
所述网络代理组件根据所述调用请求对应的接口配置信息在所述vpp和目标容器上创建对应的memif接口。
可选的,所述网络代理组件根据所述调用请求对应的接口配置信息在所述vpp和目标容器上创建对应的memif接口,包括:
所述网络代理组件根据所述调用请求对应的接口配置信息在所述vpp内创建memif设备,并将所述memif设备的套接字文件挂载至所述目标容器内部,以建立所述vpp和所述目标容器之间的传输通道。
可选的,所述容器网络构建方法,还包括:
通过所述网络代理组件获取k8s系统内API服务组件发送的网络配置更新信息,并将所述网络配置更新信息同步至所述vpp。
可选的,所述通过网络代理组件创建本节点内vpp与宿主机的网络连接,包括:
通过在k8s系统的每个节点内预先创建的所述网络代理组件,在本地vpp上添加管理网口,创建本地vpp与宿主机之间的管理网络;
通过所述网络代理组件在本地vpp上添加dpdk接口,创建本地vpp与宿主机之间的业务网络。
第二方面,本申请公开了一种容器网络构建装置,包括:
网络连接创建模块,用于通过网络代理组件创建本节点内vpp与宿主机的网络连接;
传输通道创建模块,用于通过所述网络代理组件获取k8s系统内kubelet组件基于容器变动发送的调用请求,并根据所述调用请求在所述vpp和目标容器上创建memif接口,以建立所述vpp和所述目标容器之间的传输通道;
网络配置模块,用于通过所述网络代理组件获取k8s系统内API服务组件发送的网络配置信息,并将所述网络配置信息同步至所述vpp。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述的容器网络构建方法。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中计算机程序被处理器执行时实现前述的容器网络构建方法。
本申请中,通过网络代理组件创建本节点内vpp与宿主机的网络连接;通过所述网络代理组件获取k8s系统内kubelet组件基于容器变动发送的调用请求,并根据所述调用请求在所述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系统内kubelet组件基于容器变动发送的调用请求,并根据所述调用请求在所述vpp和目标容器上创建memif接口,以建立所述vpp和所述目标容器之间的传输通道。
本实施例中,所述通过所述网络代理组件获取k8s系统内kubelet组件基于容器变动发送的调用请求,并根据所述调用请求在所述vpp和目标容器上创建memif接口,可以包括:通过所述网络代理组件获取k8s系统内kubelet组件发送的调用请求;所述调用请求为所述kubelet组件接收到容器变动请求后生成的调用请求;所述网络代理组件根据所述调用请求对应的接口配置信息在所述vpp和目标容器上创建对应的memif接口。
可以理解的是,kubelet组件为k8s系统中现有的组件,用于容器的创建等,因此,当kubelet组件检测到容器变动后调用网络代理组件,网络代理组件根据调用请求在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系统内kubelet组件基于容器变动发送的调用请求,并根据所述调用请求在所述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集群。系统中还包括网络代理组件,用于接收kubelet组件基于容器变动发送的调用请求,并在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系统内kubelet组件基于容器变动发送的调用请求,并根据所述调用请求在所述vpp和目标容器上创建memif接口,以建立所述vpp和所述目标容器之间的传输通道;
网络配置模块13,用于通过所述网络代理组件获取k8s系统内API服务组件发送的网络配置信息,并将所述网络配置信息同步至所述vpp。
由上可见,本实施例中通过网络代理组件创建本节点内vpp与宿主机的网络连接;通过所述网络代理组件获取k8s系统内kubelet组件基于容器变动发送的调用请求,并根据所述调用请求在所述vpp和目标容器上创建memif接口,以建立所述vpp和所述目标容器之间的传输通道;通过所述网络代理组件获取k8s系统内API服务组件发送的网络配置信息,并将所述网络配置信息同步至所述vpp。由此可见,使用vpp替换k8s传统的底层数据转发平面,极大提高了网络性能,使得网络瓶颈不再受限于内核协议栈,在此基础上,通过网络代理组件实现k8s系统内容器memif接口以及网络连接的创建,进而容器内部使用memif接口提升网络带宽,提高容器网络性能,并打通vpp与宿主机的网络连接,实现了容器内部应用程序与外界网络的高速通信。
在一些具体实施例中,所述网络配置模块13具体可以包括:
网络规则生成单元,用于通过预先创建的针对所述k8s系统的网络控制组件,获取所述k8s系统内API服务组件发送的网络配置信息,并基于所述配置信息生成vpp可读的网络规则;
同步单元,用于通过所述网络控制组件将所述网络规则发送给所述网络代理组件,以便所述网络代理组件将所述网络规则同步至所述vpp。
在一些具体实施例中,所述同步单元具体可以包括:
存储单元,用于通过所述网络控制组件将所述网络规则同步至数据存储组件;
监听单元,用于所述网络代理组件通过监听所述数据存储组件的信息更新,获取所述网络规则,并将所述网络规则同步至所述vpp,以便所述vpp根据所述网络规则进行报文转发。
在一些具体实施例中,所述传输通道创建模块12具体可以包括:
请求获取单元,用于通过所述网络代理组件获取k8s系统内kubelet组件发送的调用请求;所述调用请求为所述kubelet组件接收到容器变动请求后生成的调用请求;
接口创建单元,用于所述网络代理组件根据所述调用请求对应的接口配置信息在所述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系统内kubelet组件基于容器变动发送的调用请求,并根据所述调用请求在所述vpp和目标容器上创建memif接口,以建立所述vpp和所述目标容器之间的传输通道;
通过所述网络代理组件获取k8s系统内API服务组件发送的网络配置信息,并将所述网络配置信息同步至所述vpp。
2.根据权利要求1所述的容器网络构建方法,其特征在于,所述通过所述网络代理组件获取k8s系统内API服务组件发送的网络配置信息,并将所述网络配置信息同步至所述vpp,包括:
通过预先创建的针对所述k8s系统的网络控制组件,获取所述k8s系统内API服务组件发送的网络配置信息,并基于所述配置信息生成vpp可读的网络规则;
通过所述网络控制组件将所述网络规则发送给所述网络代理组件,以便所述网络代理组件将所述网络规则同步至所述vpp。
3.根据权利要求2所述的容器网络构建方法,其特征在于,所述通过网络控制组件将所述网络规则发送给所述网络代理组件,以便所述网络代理组件将所述网络规则同步至所述vpp,包括:
通过所述网络控制组件将所述网络规则同步至数据存储组件;
所述网络代理组件通过监听所述数据存储组件的信息更新,获取所述网络规则,并将所述网络规则同步至所述vpp,以便所述vpp根据所述网络规则进行报文转发。
4.根据权利要求1所述的容器网络构建方法,其特征在于,所述通过所述网络代理组件获取k8s系统内kubelet组件基于容器变动发送的调用请求,并根据所述调用请求在所述vpp和目标容器上创建memif接口,包括:
通过所述网络代理组件获取k8s系统内kubelet组件发送的调用请求;所述调用请求为所述kubelet组件接收到容器变动请求后生成的调用请求;
所述网络代理组件根据所述调用请求对应的接口配置信息在所述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系统内kubelet组件基于容器变动发送的调用请求,并根据所述调用请求在所述vpp和目标容器上创建memif接口,以建立所述vpp和所述目标容器之间的传输通道;
网络配置模块,用于通过所述网络代理组件获取k8s系统内API服务组件发送的网络配置信息,并将所述网络配置信息同步至所述vpp。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的容器网络构建方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中计算机程序被处理器执行时实现如权利要求1至7任一项所述的容器网络构建方法。
CN202210976572.8A 2022-08-15 2022-08-15 一种容器网络构建方法、装置、设备及存储介质 Active CN115379010B (zh)

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 CN115379010A (zh) 2022-11-22
CN115379010B true 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)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116389252B (zh) * 2023-03-30 2024-01-02 安超云软件有限公司 容器网络的更新方法、装置、系统、电子设备和存储介质
CN116319322B (zh) * 2023-05-16 2023-09-12 北京国电通网络技术有限公司 电力设备节点通信连接方法、装置、设备和计算机介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 华为技术有限公司 一种网络接口的建立方法、装置及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10805215B2 (en) * 2018-03-20 2020-10-13 Cisco Technology, Inc. Intra-host and end-to-end packet path and treatment tracing using in-situ OAM in container networking architecture
US11558426B2 (en) * 2020-07-29 2023-01-17 Vmware, Inc. Connection tracking for container cluster

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143034A (zh) * 2019-12-23 2020-05-12 北京神州绿盟信息安全科技股份有限公司 一种控制网络数据转发平面的方法、装置及系统
WO2021147358A1 (zh) * 2020-01-23 2021-07-29 华为技术有限公司 一种网络接口的建立方法、装置及系统
CN112565047A (zh) * 2020-11-19 2021-03-26 浪潮思科网络科技有限公司 一种在docker中使用VPP构建网络的方法、装置、设备及介质
CN112905305A (zh) * 2021-03-03 2021-06-04 国网电力科学研究院有限公司 基于vpp的集群式虚拟化数据转发方法、装置及系统

Also Published As

Publication number Publication date
CN115379010A (zh) 2022-11-22

Similar Documents

Publication Publication Date Title
Xiong et al. Extend cloud to edge with kubeedge
CN115379010B (zh) 一种容器网络构建方法、装置、设备及存储介质
CN107947961B (zh) 基于SDN的Kubernetes网络管理系统与方法
CN106850324B (zh) 虚拟网络接口对象
CN105264493B (zh) 信息中心网络上的动态虚拟机迁移
CN111857873A (zh) 一种实现云原生容器网络的方法
CN112398676B (zh) 多租户环境中服务接入端点的基于供应商无关简档的建模
US20200314149A1 (en) Method for providing wireless application privilege management
US11177974B2 (en) Consistent provision of member node group information on virtual overlay network
CN110635932B (zh) 一种基于OpenStack控制平面的虚拟网络性能的优化方法
Li et al. 6G cloud-native system: Vision, challenges, architecture framework and enabling technologies
CN117061352A (zh) 多模态虚拟网元的实现方法、装置、设备及介质
CN114124740A (zh) 一种vnf实例化的方法和装置
CN111130978B (zh) 网络流量转发方法、装置、电子设备及机器可读存储介质
CN115242882B (zh) 一种基于传输层路由访问k8s容器环境的方法及装置
CN114338832B (zh) 一种容器云平台的网络协议转换方法及系统
CN115665026A (zh) 一种集群组网的方法和装置
Jo et al. IoTivity-lite: Comprehensive IoT solution in a constrained memory device
CN115225482A (zh) 一种基于Kubernetes进行Pod容器网络配置的方法及装置
CN115002029A (zh) 一种流量转发方法、装置、设备及存储介质
CN115296952B (zh) 一种设备调度方法、装置、设备及存储介质
WO2024114645A1 (zh) 一种虚拟化网络功能vnf的实例化方法及装置
US11930495B1 (en) Downlink scheduling optimization for edge devices that use a radio communication protocol
CN110753120B (zh) 一种有状态负载创建方法、装置、设备及介质
US20220166719A1 (en) In-packet version tagging utilizing a perimeter nat

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