CN113220422A - 基于K8s中CNI插件的运行时修改Pod网络接口的方法及系统 - Google Patents

基于K8s中CNI插件的运行时修改Pod网络接口的方法及系统 Download PDF

Info

Publication number
CN113220422A
CN113220422A CN202110621569.XA CN202110621569A CN113220422A CN 113220422 A CN113220422 A CN 113220422A CN 202110621569 A CN202110621569 A CN 202110621569A CN 113220422 A CN113220422 A CN 113220422A
Authority
CN
China
Prior art keywords
pod
cni
network
network interface
interface
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
Application number
CN202110621569.XA
Other languages
English (en)
Other versions
CN113220422B (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.)
Shanghai Netis Technologies Co ltd
Original Assignee
Shanghai Netis Technologies 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 Shanghai Netis Technologies Co ltd filed Critical Shanghai Netis Technologies Co ltd
Priority to CN202110621569.XA priority Critical patent/CN113220422B/zh
Publication of CN113220422A publication Critical patent/CN113220422A/zh
Application granted granted Critical
Publication of CN113220422B publication Critical patent/CN113220422B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种基于K8s中CNI插件的运行时修改Pod网络的方法及系统,包括如下步骤:将Pod调度到节点;Kubelet调用Multus CNI cmdAdd接口;Multus CNI调用Dturbo CNI cmdAdd接口;Dturbo CNI在cmdAdd接口中生成Pod网络命名空间记录;Operator监听到新增Pod网络命名空间记录,Operator根据Pod网络接口定义创建对应的网络接口;从节点上删除Pod;Kubelet调用Multus CNI cmdDel接口;Multus CNI调用Dturbo CNI cmdDel接口;Dturbo CNI在cmdDel接口中删除Pod网络命名空间记录;Operator监听到网络命名空间记录被删除,Operator删除Pod现有网络接口。外部修改Pod网络接口定义;Operator监听到Pod配置中网络接口定义被修改;Operator删除Pod现有网络接口;Operator根据修改后的Pod网络接口定义创建对应的网络接口。本发明提供运行时修改Pod网络接口的能力,满足特定业务需求。

Description

基于K8s中CNI插件的运行时修改Pod网络接口的方法及系统
技术领域
本发明涉及K8s中修改Pod网络接口的技术领域,具体地,涉及一种基于K8s中CNI插件的运行时修改Pod网络接口的方法及系统。
背景技术
Kubernetes(简称K8s)集群中创建Pod,默认只能使用一张网卡,但是在某些情况下(例如实现容器路由功能)单网卡不能满足实验需求。Multus-CNI提供了将多个接口添加到Pod的功能,这允许Pod通过不同的接口连接到多个网络,并且每个接口都将使用其自己的CNI插件(CNI插件是指遵守容器网络接口规范而实现的网络插件,是K8s社区中主流网络插件的实现方式),即在Pod上建立不同网段的多张网卡。
在Kubernetes集群中,Pod的网络接口一般由网络插件负责配置,如图1所示,CNI插件一般工作流程为:在Pod创建时,将Pod调度到节点,Kubelet调用CNI插件cmdAdd,同时创建节点上Pod的网络接口,即根据配置创建对应的网络接口并加入Pod网络命名空间;在Pod销毁时,从节点上删除Pod,Kubelet调用CNI插件cmdDel,同时删除节点上Pod的网络接口。
Pod的网络接口在Pod创建后无法修改,除非销毁后更新网络配置,重新创建。
公开号为CN111371627A的中国发明专利公开了一种在Kubernetes中Pod设置多IP的方法,涉及云计算的技术领域,由独立的网络管理模块组成,网络服务器与网络插件使用RESTful接口进行通信,当Kubelet服务在节点上创建Pod资源时,按照CNI规范、配置调用网络插件为Pod配置多IP网络配置,由网络插件解析Kubelet传入的Pod配置,而后网络插件调用网络服务器的Add接口获取为Pod定义的多IP网络配置,当网络插件获取到Pod的多IP网络配置后,通过循环网络配置列表的方式,为Pod逐一配置指定的IP网络配置,为Pod配置的多IP分别关联到Pod所运行节点之上的不同网卡,以实现Pod中产生的不同网络流量走不同网络接口的要求,进而达到Pod网络高可用、流量分摊、兼容应用多网络部署的效果。
针对上述中的现有技术,发明人认为Pod运行过程中无法按需(例如外部指令)动态接入不同的数据源或者发送到不同的目的地,另外存在某些特定业务需求(例如包回放或者包处理过程中),不能在运行过程中修改Pod的网络接口来接入不同的数据源。使用标准的网络插件无法满足此类需求。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于K8s中CNI插件的运行时修改Pod网络接口的方法及系统。
根据本发明提供的一种基于K8s中CNI插件的运行时修改Pod网络的方法,包括节点,所述节点包括Kubelet、Multus CNI、Dturbo CNI、Operator、Pod,该方法包括如下步骤:
Pod网络创建步骤:该步骤包括如下步骤:
创建步骤1:Pod创建,将Pod调度到节点;
创建步骤2:Kubelet调用Multus CNI cmdAdd接口;
创建步骤3:Multus CNI调用Dturbo CNI cmdAdd接口;
创建步骤4:Dturbo CNI在cmdAdd接口中生成Pod网络命名空间记录记录到Pod配置中;
创建步骤5:Operator监听到Pod配置中新增Pod网络命名空间记录,Operator根据获取的Pod网络接口定义创建对应的网络接口;
Pod网络销毁步骤:包括如下步骤:
销毁步骤1:Pod销毁,从节点上删除Pod;
销毁步骤2:Kubelet调用Multus CNI cmdDel接口;
销毁步骤3:Multus CNI调用Dturbo CNI cmdDel接口;
销毁步骤4:Dturbo CNI在cmdDel接口中从Pod配置中删除Pod网络命名空间记录;
销毁步骤5:Operator监听到Pod配置中网络命名空间记录被删除,Operator删除Pod现有网络接口;
Pod网络修改步骤:包括如下步骤:
修改步骤1:外部修改Pod网络接口定义;
修改步骤2:Operator监听到Pod配置中网络接口定义被修改;Operator删除Pod现有网络接口;Operator根据修改后的Pod网络接口定义创建对应的网络接口。
优选的,所述创建步骤4包括如下步骤:
创建步骤4.1:Dturbo CNI在cmdAdd接口中进行参数校验;
创建步骤4.2:Dturbo CNI在cmdAdd接口中把由容器运行时分配的Pod网络命名空间的唯一标识符记录到Pod配置中,生成Pod网络命名空间记录。
优选的,所述销毁步骤4包括如下步骤:
销毁步骤4.1:Dturbo CNI在cmdDel接口中进行参数校验;
销毁步骤4.2:Dturbo CNI在cmdDel接口中把Pod网络命名空间记录从Pod配置中删除。
优选的,还包括API Server,所述创建步骤5包括如下步骤:
创建步骤5.1:Operator从API Server处监听到Pod配置中新增Pod网络命名空间记录;
创建步骤5.2:Operator从API Server获取Pod网络接口定义;
创建步骤5.3:Operator根据Pod网络接口定义创建对应的网络接口并加入Pod网络命名空间;
创建步骤5.4:Operator把已创建的Pod网络接口记录到Pod配置中,生成Pod网络接口列表。
优选的,所述销毁步骤5包括如下步骤:
销毁步骤5.1:Operator从API Server处监听到Pod配置中网络命名空间记录被删除;
销毁步骤5.2:Operator获取Pod网络接口列表;
销毁步骤5.3:Operator根据Pod网络接口列表删除对应的网络接口;
销毁步骤5.4:Operator把Pod网络接口列表从Pod配置中删除。
根据本发明提供的一种基于K8s中CNI插件的运行时修改Pod网络的系统,该系统包括如下模块:
Pod网络创建模块:该模块包括如下模块:
创建模块M1:Pod创建,将Pod调度到节点;
创建模块M2:Kubelet调用Multus CNI cmdAdd接口;
创建模块M3:Multus CNI调用Dturbo CNI cmdAdd接口;
创建模块M4:Dturbo CNI在cmdAdd接口中生成Pod网络命名空间记录记录到Pod配置中;
创建模块M5:Operator监听到Pod配置中新增Pod网络命名空间记录,Operator根据获取的Pod网络接口定义创建对应的网络接口;
Pod网络销毁模块:包括如下模块:
销毁模块M1:Pod销毁,从节点上删除Pod;
销毁模块M2:Kubelet调用Multus CNI cmdDel接口;
销毁模块M3:Multus CNI调用Dturbo CNI cmdDel接口;
销毁模块M4:Dturbo CNI在cmdDel接口中从Pod配置中删除Pod网络命名空间记录;
销毁模块M5:Operator监听到Pod配置中网络命名空间记录被删除,Operator删除Pod现有网络接口;
Pod网络修改模块:包括如下模块:
修改模块M1:外部修改Pod网络接口定义;
修改模块M2:Operator监听到Pod配置中网络接口定义被修改;Operator删除Pod现有网络接口;Operator根据修改后的Pod网络接口定义创建对应的网络接口。
优选的,所述创建模块M4包括如下模块:
创建模块M4.1:Dturbo CNI在cmdAdd接口中进行参数校验;
创建模块M4.2:Dturbo CNI在cmdAdd接口中把由容器运行时分配的Pod网络命名空间的唯一标识符记录到Pod配置中,生成Pod网络命名空间记录。
优选的,所述销毁模块M4包括如下模块:
销毁模块M4.1:Dturbo CNI在cmdDel接口中进行参数校验;
销毁模块M4.2:Dturbo CNI在cmdDel接口中把Pod网络命名空间记录从Pod配置中删除。
优选的,还包括API Server,所述创建模块M5包括如下模块:
创建模块M5.1:Operator从API Server处监听到Pod配置中新增Pod网络命名空间记录;
创建模块M5.2:Operator从API Server获取Pod网络接口定义;
创建模块M5.3:Operator根据Pod网络接口定义创建对应的网络接口并加入Pod网络命名空间;
创建模块M5.4:Operator把已创建的Pod网络接口记录到Pod配置中,生成Pod网络接口列表。
优选的,所述销毁模块M5包括如下模块:
销毁模块M5.1:Operator从API Server处监听到Pod配置中网络命名空间记录被删除;
销毁模块M5.2:Operator获取Pod网络接口列表;
销毁模块M5.3:Operator根据Pod网络接口列表删除对应的网络接口;
销毁模块M5.4:Operator把Pod网络接口列表从Pod配置中删除。
与现有技术相比,本发明具有如下的有益效果:
1、本发明实现了一种CNI插件,提供运行时修改Pod网络接口的能力,满足特定业务需求(例如包回放或者包处理);
2、基于K8s社区现有网络接口定义进行配置,兼容性、适用性强;
3、基于K8s Operator编程模型,K8s Operator编程模型是指以程序的方式持续监听K8s集群中某些资源的状态,并进行相应的处理,全程不需要人工干预,是一种健壮性、容错性高的智能运维方式;
4、Operator部署在每个节点上,只负责监听本节点上的Pod,网络接口配置本地化,提高了整体性能以及可靠性。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为CNI插件工作流程图;
图2为K8s中运行时修改Pod网络的方法及系统实施图;
图3为Pod网络创建流程图;
图4为Pod网络销毁流程图;
图5为Pod网络修改流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
本发明实施例公开了一种基于K8s中CNI插件的运行时修改Pod网络的方法及系统,如图2所示,本系统包括以下组件:节点是K8s集群中的节点,其作用是运行Pod的物理机或者虚拟机。API server是K8s集群API server,API server的作用是集群控制中心。
其中,节点又包括以下组件:Kubelet是节点上的管理软件,其作用是实现节点上所有控制面的功能。Multus CNI是一种Pod网络插件,其作用是管理多个子网络插件。Dturbo CNI也是一种Pod网络插件,其作用是生成或者删除Pod网络命名空间记录。Operator是监听容器,其作用是监听Pod网络接口定义变化和Pod网络命名空间记录变化,并配置Pod的网络接口。Pod是应用容器,其作用是运行特定业务,例如包回放或者包处理。
基于K8s Operator编程模型,K8s Operator编程模型是指以程序的方式持续监听K8s集群中某些资源的状态,并进行相应的处理,全程不需要人工干预,是一种健壮性、容错性高的智能运维方式。Operator部署在每个节点上,只负责监听本节点上的Pod,网络接口配置本地化,提高了整体性能以及可靠性。
该方法包括如下步骤:如图3所示,Pod网络创建步骤:该步骤包括如下步骤:创建步骤1:Pod创建,将Pod调度到节点。创建步骤2:Kubelet调用Multus CNI cmdAdd接口。创建步骤3:Multus CNI调用Dturbo CNI cmdAdd接口。
创建步骤4:Dturbo CNI在cmdAdd接口中生成Pod网络命名空间记录记录到Pod配置中。创建步骤4包括如下步骤:创建步骤4.1:Dturbo CNI在cmdAdd接口中进行参数校验。创建步骤4.2:Dturbo CNI在cmdAdd接口中把由容器(容器例如docker)运行时分配的Pod网络命名空间的唯一标识符记录到Pod配置中,生成Pod网络命名空间记录。Pod网络命名空间是Linux操作系统提供的对容器网络进行隔离的机制。
创建步骤5:Operator监听到Pod配置中新增Pod网络命名空间记录,Operator根据获取的Pod网络接口定义创建对应的网络接口。创建步骤5包括如下步骤:创建步骤5.1:Operator从API Server处监听到Pod配置中新增Pod网络命名空间记录。创建步骤5.2:Operator从API Server获取Pod网络接口定义。创建步骤5.3:Operator根据Pod网络接口定义创建对应的网络接口并加入Pod网络命名空间。创建步骤5.4:Operator把已创建的Pod网络接口记录到Pod配置中,生成Pod网络接口列表。
如图4所示,Pod网络销毁步骤:包括如下步骤:销毁步骤1:Pod销毁,从节点上删除Pod。销毁步骤2:Kubelet调用Multus CNI cmdDel接口。销毁步骤3:Multus CNI调用DturboCNI cmdDel接口。
销毁步骤4:Dturbo CNI在cmdDel接口中从Pod配置中删除Pod网络命名空间记录。销毁步骤4包括如下步骤:销毁步骤4.1:Dturbo CNI在cmdDel接口中进行参数校验。销毁步骤4.2:Dturbo CNI在cmdDel接口中把Pod网络命名空间记录从Pod配置中删除。
销毁步骤5:Operator监听到Pod配置中网络命名空间记录被删除,Operator删除Pod现有网络接口。销毁步骤5包括如下步骤:销毁步骤5.1:Operator从API Server处监听到Pod配置中网络命名空间记录被删除。销毁步骤5.2:Operator获取Pod网络接口列表。销毁步骤5.3:Operator根据Pod网络接口列表删除对应的网络接口。销毁步骤5.4:Operator把Pod网络接口列表从Pod配置中删除。
如图5所示,Pod网络修改步骤:包括如下步骤:修改步骤1:外部(运维人员或者程序)修改Pod网络接口定义。修改步骤2:Operator监听到Pod配置中网络接口定义被修改,Operator删除Pod现有网络接口,Operator根据修改后的Pod网络接口定义创建对应的网络接口。修改步骤2包括如下步骤:修改步骤2.1:Operator监听到Pod配置中网络接口定义被修改。修改步骤2.2:Operator获取Pod网络接口列表。修改步骤2.3:Operator根据Pod网络接口列表删除对应的Pod现有网络接口。修改步骤2.4:Operator把Pod网络接口列表从Pod配置中删除。修改步骤2.5:Operator获取修改后的Pod网络接口定义。修改步骤2.6:Operator根据Pod网络接口定义创建对应的网络接口并加入Pod网络命名空间。修改步骤2.7:Operator把已创建的Pod网络接口记录到Pod配置中,生成Pod网络命名接口列表。
基于K8s社区(The Network Plumbing Working Group)现有网络接口定义(Network Attachment Definition)进行配置,兼容性、适用性强。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (10)

1.一种基于K8s中CNI插件的运行时修改Pod网络的方法,其特征在于,包括节点,所述节点包括Kubelet、Multus CNI、Dturbo CNI、Operator、Pod,该方法包括如下步骤:
Pod网络创建步骤:该步骤包括如下步骤:
创建步骤1:Pod创建,将Pod调度到节点;
创建步骤2:Kubelet调用Multus CNI cmdAdd接口;
创建步骤3:Multus CNI调用Dturbo CNI cmdAdd接口;
创建步骤4:Dturbo CNI在cmdAdd接口中生成Pod网络命名空间记录记录到Pod配置中;
创建步骤5:Operator监听到Pod配置中新增Pod网络命名空间记录,Operator根据获取的Pod网络接口定义创建对应的网络接口;
Pod网络销毁步骤:包括如下步骤:
销毁步骤1:Pod销毁,从节点上删除Pod;
销毁步骤2:Kubelet调用Multus CNI cmdDel接口;
销毁步骤3:Multus CNI调用Dturbo CNI cmdDel接口;
销毁步骤4:Dturbo CNI在cmdDel接口中从Pod配置中删除Pod网络命名空间记录;
销毁步骤5:Operator监听到Pod配置中网络命名空间记录被删除,Operator删除Pod现有网络接口;
Pod网络修改步骤:包括如下步骤:
修改步骤1:外部修改Pod网络接口定义;
修改步骤2:Operator监听到Pod配置中网络接口定义被修改;Operator删除Pod现有网络接口;Operator根据修改后的Pod网络接口定义创建对应的网络接口。
2.根据权利要求1所述的一种基于K8s中CNI插件的运行时修改Pod网络的方法,其特征在于,所述创建步骤4包括如下步骤:
创建步骤4.1:Dturbo CNI在cmdAdd接口中进行参数校验;
创建步骤4.2:Dturbo CNI在cmdAdd接口中把由容器运行时分配的Pod网络命名空间的唯一标识符记录到Pod配置中,生成Pod网络命名空间记录。
3.根据权利要求1所述的一种基于K8s中CNI插件的运行时修改Pod网络的方法,其特征在于,所述销毁步骤4包括如下步骤:
销毁步骤4.1:Dturbo CNI在cmdDel接口中进行参数校验;
销毁步骤4.2:Dturbo CNI在cmdDel接口中把Pod网络命名空间记录从Pod配置中删除。
4.根据权利要求1所述的一种基于K8s中CNI插件的运行时修改Pod网络的方法,其特征在于,还包括API Server,所述创建步骤5包括如下步骤:
创建步骤5.1:Operator从API Server处监听到Pod配置中新增Pod网络命名空间记录;
创建步骤5.2:Operator从API Server获取Pod网络接口定义;
创建步骤5.3:Operator根据Pod网络接口定义创建对应的网络接口并加入Pod网络命名空间;
创建步骤5.4:Operator把已创建的Pod网络接口记录到Pod配置中,生成Pod网络接口列表。
5.根据权利要求4所述的一种基于K8s中CNI插件的运行时修改Pod网络的方法,其特征在于,所述销毁步骤5包括如下步骤:
销毁步骤5.1:Operator从API Server处监听到Pod配置中网络命名空间记录被删除;
销毁步骤5.2:Operator获取Pod网络接口列表;
销毁步骤5.3:Operator根据Pod网络接口列表删除对应的网络接口;
销毁步骤5.4:Operator把Pod网络接口列表从Pod配置中删除。
6.一种基于K8s中CNI插件的运行时修改Pod网络的系统,其特征在于,应用权利要求1-5任一所述的一种基于K8s中CNI插件的运行时修改Pod网络的方法,该系统包括如下模块:
Pod网络创建模块:该模块包括如下模块:
创建模块M1:Pod创建,将Pod调度到节点;
创建模块M2:Kubelet调用Multus CNI cmdAdd接口;
创建模块M3:Multus CNI调用Dturbo CNI cmdAdd接口;
创建模块M4:Dturbo CNI在cmdAdd接口中生成Pod网络命名空间记录记录到Pod配置中;
创建模块M5:Operator监听到Pod配置中新增Pod网络命名空间记录,Operator根据获取的Pod网络接口定义创建对应的网络接口;
Pod网络销毁模块:包括如下模块:
销毁模块M1:Pod销毁,从节点上删除Pod;
销毁模块M2:Kubelet调用Multus CNI cmdDel接口;
销毁模块M3:Multus CNI调用Dturbo CNI cmdDel接口;
销毁模块M4:Dturbo CNI在cmdDel接口中从Pod配置中删除Pod网络命名空间记录;
销毁模块M5:Operator监听到Pod配置中网络命名空间记录被删除,Operator删除Pod现有网络接口;
Pod网络修改模块:包括如下模块:
修改模块M1:外部修改Pod网络接口定义;
修改模块M2:Operator监听到Pod配置中网络接口定义被修改;Operator删除Pod现有网络接口;Operator根据修改后的Pod网络接口定义创建对应的网络接口。
7.根据权利要求6所述的一种基于K8s中CNI插件的运行时修改Pod网络的系统,其特征在于,所述创建模块M4包括如下模块:
创建模块M4.1:Dturbo CNI在cmdAdd接口中进行参数校验;
创建模块M4.2:Dturbo CNI在cmdAdd接口中把由容器运行时分配的Pod网络命名空间的唯一标识符记录到Pod配置中,生成Pod网络命名空间记录。
8.根据权利要求6所述的一种基于K8s中CNI插件的运行时修改Pod网络的系统,其特征在于,所述销毁模块M4包括如下模块:
销毁模块M4.1:Dturbo CNI在cmdDel接口中进行参数校验;
销毁模块M4.2:Dturbo CNI在cmdDel接口中把Pod网络命名空间记录从Pod配置中删除。
9.根据权利要求6所述的一种基于K8s中CNI插件的运行时修改Pod网络的系统,其特征在于,还包括API Server,所述创建模块M5包括如下模块:
创建模块M5.1:Operator从API Server处监听到Pod配置中新增Pod网络命名空间记录;
创建模块M5.2:Operator从API Server获取Pod网络接口定义;
创建模块M5.3:Operator根据Pod网络接口定义创建对应的网络接口并加入Pod网络命名空间;
创建模块M5.4:Operator把已创建的Pod网络接口记录到Pod配置中,生成Pod网络接口列表。
10.根据权利要求9所述的一种基于K8s中CNI插件的运行时修改Pod网络的系统,其特征在于,所述销毁模块M5包括如下模块:
销毁模块M5.1:Operator从API Server处监听到Pod配置中网络命名空间记录被删除;
销毁模块M5.2:Operator获取Pod网络接口列表;
销毁模块M5.3:Operator根据Pod网络接口列表删除对应的网络接口;
销毁模块M5.4:Operator把Pod网络接口列表从Pod配置中删除。
CN202110621569.XA 2021-06-03 2021-06-03 基于K8s中CNI插件的运行时修改Pod网络接口的方法及系统 Active CN113220422B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110621569.XA CN113220422B (zh) 2021-06-03 2021-06-03 基于K8s中CNI插件的运行时修改Pod网络接口的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110621569.XA CN113220422B (zh) 2021-06-03 2021-06-03 基于K8s中CNI插件的运行时修改Pod网络接口的方法及系统

Publications (2)

Publication Number Publication Date
CN113220422A true CN113220422A (zh) 2021-08-06
CN113220422B CN113220422B (zh) 2022-09-30

Family

ID=77082696

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110621569.XA Active CN113220422B (zh) 2021-06-03 2021-06-03 基于K8s中CNI插件的运行时修改Pod网络接口的方法及系统

Country Status (1)

Country Link
CN (1) CN113220422B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114124901A (zh) * 2021-11-22 2022-03-01 深圳市华云中盛科技股份有限公司 Pod结构体修改方法、装置、计算机设备及存储介质
CN114416278A (zh) * 2021-12-14 2022-04-29 北京勤慕数据科技有限公司 容器网络通讯监听方法、系统
CN116016028A (zh) * 2022-12-09 2023-04-25 明阳产业技术研究院(沈阳)有限公司 基于IPVlan为Pod创建多个网络接口的方法、系统、介质及设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111147297A (zh) * 2019-12-23 2020-05-12 广东省新一代通信与网络创新研究院 一种kubernetes的多层网络平面构建方法
CN111371627A (zh) * 2020-03-24 2020-07-03 广西梯度科技有限公司 一种在Kubernetes中Pod设置多IP的方法
CN111400054A (zh) * 2018-12-27 2020-07-10 浙江大学 网络插件调用方法及装置,计算机存储介质和电子设备
CN111796905A (zh) * 2020-05-22 2020-10-20 浙商银行股份有限公司 一种kubernetes容器云平台VLAN网络的实现方法及系统
CN111857873A (zh) * 2020-07-15 2020-10-30 浪潮云信息技术股份公司 一种实现云原生容器网络的方法
CN111880902A (zh) * 2020-07-29 2020-11-03 北京浪潮数据技术有限公司 一种pod创建方法、装置、设备及可读存储介质
US20210117217A1 (en) * 2019-10-21 2021-04-22 ForgeRock, Inc. Systems and methods for tuning containers in a high availability environment
CN112823493A (zh) * 2018-10-12 2021-05-18 西门子股份公司 自动配置系统的方法、系统、计算机程序和计算机可读介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112823493A (zh) * 2018-10-12 2021-05-18 西门子股份公司 自动配置系统的方法、系统、计算机程序和计算机可读介质
CN111400054A (zh) * 2018-12-27 2020-07-10 浙江大学 网络插件调用方法及装置,计算机存储介质和电子设备
US20210117217A1 (en) * 2019-10-21 2021-04-22 ForgeRock, Inc. Systems and methods for tuning containers in a high availability environment
CN111147297A (zh) * 2019-12-23 2020-05-12 广东省新一代通信与网络创新研究院 一种kubernetes的多层网络平面构建方法
CN111371627A (zh) * 2020-03-24 2020-07-03 广西梯度科技有限公司 一种在Kubernetes中Pod设置多IP的方法
CN111796905A (zh) * 2020-05-22 2020-10-20 浙商银行股份有限公司 一种kubernetes容器云平台VLAN网络的实现方法及系统
CN111857873A (zh) * 2020-07-15 2020-10-30 浪潮云信息技术股份公司 一种实现云原生容器网络的方法
CN111880902A (zh) * 2020-07-29 2020-11-03 北京浪潮数据技术有限公司 一种pod创建方法、装置、设备及可读存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114124901A (zh) * 2021-11-22 2022-03-01 深圳市华云中盛科技股份有限公司 Pod结构体修改方法、装置、计算机设备及存储介质
CN114124901B (zh) * 2021-11-22 2023-09-19 深圳市华云中盛科技股份有限公司 Pod结构体修改方法、装置、计算机设备及存储介质
CN114416278A (zh) * 2021-12-14 2022-04-29 北京勤慕数据科技有限公司 容器网络通讯监听方法、系统
CN116016028A (zh) * 2022-12-09 2023-04-25 明阳产业技术研究院(沈阳)有限公司 基于IPVlan为Pod创建多个网络接口的方法、系统、介质及设备
CN116016028B (zh) * 2022-12-09 2024-03-15 明阳产业技术研究院(沈阳)有限公司 基于IPVlan为Pod创建多个网络接口的方法、系统、介质及设备

Also Published As

Publication number Publication date
CN113220422B (zh) 2022-09-30

Similar Documents

Publication Publication Date Title
CN113220422B (zh) 基于K8s中CNI插件的运行时修改Pod网络接口的方法及系统
US10511506B2 (en) Method and device for managing virtualized network function
US20210294634A1 (en) Service Creation and Management
CN108370328B (zh) 一种nfv mano策略描述符的管理方法及装置
CN105429780A (zh) 一种虚拟化网络服务业务自动生成和动态监控的方法
CN105354076A (zh) 一种应用部署方法及装置
JP2004272905A (ja) 仮想ネットワーク・トポロジの生成
CN111221619A (zh) 一种业务开通和编排的方法、装置及设备
CN106134141A (zh) 一种更新网络服务描述器nsd的方法及装置
US9935830B1 (en) Cloud management system and method for disparate computing nodes in a cloud computing environment
CN103618762A (zh) 一种基于aop的企业服务总线状态预处理系统及方法
CN108319492A (zh) 复位物理机的方法、装置与系统
US12035156B2 (en) Communication method and apparatus for plurality of administrative domains
CN113037891A (zh) 边缘计算系统中有状态应用的访问方法、装置及电子设备
US10681177B2 (en) Self-driving content distribution
CN102970376A (zh) 集群配置方法和装置
CN114385126B (zh) 一种基于K8s的多租户深度学习模型研发系统及方法
US11063829B2 (en) Secure collaborative data communications network
CN114443059A (zh) Kubernetes集群的部署方法、装置及设备
CN115225645B (zh) 一种服务更新方法、装置、系统和存储介质
Adams et al. Scalable management—Technologies for management of large-scale, distributed systems
CN112418796B (zh) 子流程任务节点激活方法、装置、电子设备及存储介质
CN114745377A (zh) 边缘云集群服务系统及实现方法
CN114721827A (zh) 一种数据处理方法及装置
US9753789B2 (en) Distributed system for scheduling action requests

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