CN113810230A - 对容器集群中的容器进行网络配置的方法、装置及系统 - Google Patents
对容器集群中的容器进行网络配置的方法、装置及系统 Download PDFInfo
- Publication number
- CN113810230A CN113810230A CN202111086357.2A CN202111086357A CN113810230A CN 113810230 A CN113810230 A CN 113810230A CN 202111086357 A CN202111086357 A CN 202111086357A CN 113810230 A CN113810230 A CN 113810230A
- Authority
- CN
- China
- Prior art keywords
- target
- node
- network
- computing node
- 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
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000004044 response Effects 0.000 claims abstract description 68
- 238000004590 computer program Methods 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 82
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (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
本申请公开了一种对容器集群中的容器进行网络配置的方法、装置及系统,其中,该容器集群包括管理节点以及计算节点,该管理节点中部署有管理组件,该计算节点中部署有网络插件;当该方法应用于计算节点时包括:当该网络插件检测到本计算节点的新容器时,获取该计算节点的目标节点信息,并根据该目标节点信息生成调用请求;将该调用请求发送至该管理组件中,并接收该管理组件基于该调用请求返回的调用响应信息,该调用响应信息包括该管理组件为当前网络插件分配的目标IP地址;根据该调用响应信息以及该目标网络类型,为该新容器进行网络数据平面的配置,从而实现在同一容器集群中支持多种不同网络类型的容器网络模式并存。
Description
技术领域
本申请涉及网络处理技术领域,尤其涉及一种对容器集群中的容器进行网络配置的方法、装置及系统。
背景技术
IT行业越来越多的使用基于Kubernetes的容器集群来作为IT的基础架构,而诸如Kubernetes之类的集群管理系统利用CNI接口标准(Container Network Interface,容器网络接口标准)完成和网络插件之间的通信,网络插件实现了集群中网络数据面的搭建,使能容器以及节点之间的网络通信。
在相关技术中,选择了特定的网络插件,就决定了整个集群范围内的容器网络的网络类型只能部署为该网络插件所支持网络类型的其中一种。但是实际环境下企业可能会选择不同类型的机房作为集群的Node节点,因此对容器网络插件的灵活性提出了更高的要求。
发明内容
本申请提供对容器集群中的容器进行网络配置的方法、装置及系统,以解决现有技术中容器集群中不能兼容不同网络类型的节点的问题。
第一方面,本申请实施例提供了一种对容器集群中的容器进行网络配置的方法,所述容器集群包括管理节点以及计算节点,所述管理节点中部署有管理组件,所述计算节点中部署有网络插件;所述方法应用于计算节点中,包括:
当所述网络插件检测到本计算节点的新容器时,获取所述计算节点的目标节点信息,并根据所述目标节点信息生成调用请求,所述目标节点信息包括目标网络类型;
将所述调用请求发送至所述管理组件中,并接收所述管理组件基于所述调用请求返回的调用响应信息,所述调用响应信息包括所述管理组件为当前网络插件分配的目标IP地址;
根据所述调用响应信息以及所述目标网络类型,为所述新容器进行网络数据平面的配置。
第二方面,本申请实施例还提供了一种对容器集群中的容器进行网络配置的方法,所述容器集群包括管理节点以及计算节点,所述管理节点中部署有管理组件,所述计算节点中部署有网络插件;所述方法应用于管理节点中,包括:
接收计算节点的网络插件发送的调用请求,所述调用请求包括所述计算节点的目标节点信息,所述目标节点信息包括目标节点标识以及目标网络类型;
根据所述目标节点标识以及所述目标网络类型,确定目标IP地址;
根据所述目标IP地址生成调用响应信息,并将所述调用响应信息返回所述计算节点,以由所述计算节点的网络插件根据所述调用响应信息以及所述目标网络类型,为新容器进行网络数据平面的配置。
第三方面,本申请实施例还提供了一种对容器集群中的容器进行网络配置的装置,所述容器集群包括管理节点以及计算节点,所述管理节点中部署有管理组件,所述计算节点中部署有网络插件;所述装置应用于计算节点中,包括:
调用请求生成模块,用于当所述网络插件检测到本计算节点的新容器时,获取所述计算节点的目标节点信息,并根据所述目标节点信息生成调用请求,所述目标节点信息包括目标网络类型;
调用请求发送模块,用于将所述调用请求发送至所述管理组件中;
调用响应信息接收模块,用于接收所述管理组件基于所述调用请求返回的调用响应信息,所述调用响应信息包括所述管理组件为当前网络插件分配的目标IP地址;
容器配置模块,用于根据所述调用响应信息以及所述目标网络类型,为所述新容器进行网络数据平面的配置。
第四方面,本申请实施例还提供了一种对容器集群中的容器进行网络配置的装置,所述容器集群包括管理节点以及计算节点,所述管理节点中部署有管理组件,所述计算节点中部署有网络插件;所述装置应用于管理节点中,包括:
调用请求接收模块,用于接收计算节点的网络插件发送的调用请求,所述调用请求包括所述计算节点的目标节点信息,所述目标节点信息包括目标节点标识以及目标网络类型;
目标IP地址确定模块,用于根据所述目标节点标识以及所述目标网络类型,确定目标IP地址;
调用响应信息返回模块,用于根据所述目标IP地址生成调用响应信息,并将所述调用响应信息返回所述计算节点,以由所述计算节点的网络插件根据所述调用响应信息以及所述目标网络类型,为新容器进行网络数据平面的配置。
第五方面,本申请实施例还提供了一种容器集群系统,所述容器集群系统包括管理节点以及计算节点,所述管理节点中部署有管理组件,所述计算节点中部署有网络插件;所述计算节点用于执行上述第一方面的方法,所述管理节点用于执行上述第二方面的方法。
第六方面,本申请实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述第一方面或第二方面的方法。
第七方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面或第二方面的方法。
本申请所提供的技术方案,具有如下有益效果:
在本实施例中,通过自定义的网络插件,并在容器集群的各计算节点中部署该网络插件,使得网络插件可以获得其所在的计算节点的目标网络类型等目标节点信息,并在检测到其所在计算节点创建新容器时,基于获取的该目标节点信息生成调用请求,将该调用请求发送至管理组件中以向管理组件请求该新容器的目标IP地址等调用响应信息,当获得该新容器的调用响应信息以后,则可以根据该调用响应信息以及该目标网络类型为新容器进行网络数据平面的配置。从而可以实现在同一容器集群中支持多种不同网络类型的容器网络模式并存,最大化地释放节点的网络性能。
附图说明
图1是本申请实施例一提供的一种对容器集群中的容器进行网络配置的方法实施例的流程图;
图2是本申请实施例二提供的一种对容器集群中的容器进行网络配置的方法实施例的流程图;
图3是本申请实施例三提供的一种对容器集群中的容器进行网络配置的装置实施例的结构框图;
图4是本申请实施例四提供的一种对容器集群中的容器进行网络配置的装置实施例的结构框图;
图5是本申请实施例五提供的一种容器集群系统实施例的结构框图;
图6是本申请实施例六提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
实施例一
图1为本申请实施例一提供的一种对容器集群中的容器进行网络配置的方法实施例的流程图,其中,该容器集群为基于Kubernetes(Kubernetes是于云计算集群中用于自动部署、扩展和管理容器化应用程序的开源系统)的容器集群,其中可以包括管理节点以及计算节点。该管理节点中部署有自研的管理组件,集群中各计算节点中部署有自研的、基于CNI的网络插件,各网络插件的主要的功能是实现POD资源能够跨宿主机进行通信。
本实施例的目的在于实现在同一个容器集群中,能够同时部署多种不同的容器网络数据平面,从而让用户可以根据集群中机房的自身属性选择相应的容器网络类型,满足不同场景的业务需求,充分发挥集群中各种不同类型节点的网络性能。例如,集群内有自建机房,网段为10.0.0.0/16,同时集群内有腾讯云机房,网段为10.1.0.0/16;那么利用本实施例的方案,就可以实现为自建机房内的容器分配10.0.0.0/16网段的IP地址,为腾讯云机房分配10.1.0.0/16网段的IP地址。自建机房内利用BGP路由完成机房节点和容器间的通信,而腾讯云机房内利用腾讯云的弹性网卡机制来完成机房节点和容器间的通信,这样可以实现在同一容器集群中存在不同网络类型的机房,使得不同机房的网络性能最优。
本实施例从计算节点侧进行说明,可以包括如下步骤:
步骤110,当所述网络插件检测到本计算节点的新容器时,获取所述计算节点的目标节点信息,并根据所述目标节点信息生成调用请求,所述目标节点信息包括目标网络类型。
具体的,kubernetes创建新容器并调度到某个计算节点(例如本计算节点)之后,计算节点上的kubelet组件会主动调用本节点部署好的网络插件,则网络插件被调用时可以判定为检测到该新容器。
然后,网络插件可以读取本计算节点的目标节点信息,在一种实现中,网络插件可以通过读取计算节点的配置文件来获得目标节点信息,其中,该配置文件可以为cni.json文件,其可以是开发人员根据计算节点的自身属性为该计算节点部署的文件。
示例性地,该目标节点信息包括目标网络类型以及计算节点的节点标识。其中,目标网络类型根据计算节点的不同而不同,例如,计算节点的种类可以包括自建机房节点和公有云机房节点(如腾讯、阿里、亚马逊等公有云厂商的机房),自建机房节点在机房内采用三层BGP(Border Gateway Protocol,边界网关协议,用于边界网关之间交换路由)路由的通信,而公有云机房节点在机房内利用云上VPC(Virtual Private Cloud,虚拟私有云)的弹性网卡(Elastic Network Interface,简称ENI)通信。也就是说,对应的网络类型可以包括:自建机房节点的基于三层BGP路由转发,以及,公有云机房节点的基于VPC的弹性网卡。
当网络插件获得目标节点信息以后,则可以根据该目标节点信息生成调用请求,该调用请求中可以包括上述的目标节点信息。其中,该调用请求可以为RPC(RemoteProcedure Call,远程过程调用)请求,该RPC请求用于向管理组件请求分配IP地址等信息。
步骤120,将所述调用请求发送至所述管理组件中,并接收所述管理组件基于所述调用请求返回的调用响应信息,所述调用响应信息包括所述管理组件为当前网络插件分配的目标IP地址。
网络插件生成调用请求以后,则可以将该调用请求发送至管理组件中。对于管理组件而言,当接收到调用请求以后,通过对该调用请求的解析获得目标节点信息,并根据该目标节点信息进行IP地址等资源分配操作,然后向该网络插件返回调用响应信息。示例性地,该调用响应信息可以包括管理组件为当前网络插件分配的目标IP地址。
需要说明的是,根据本计算节点的网络类型不同,则管理组件返回的调用响应信息也是略有不同的。例如,若本计算节点为自建机房节点,则调用响应信息可以只包含目标IP地址;若本计算节点为公有云机房节点,则调用响应信息除了包含目标IP地址以外,还可以包括还可以包括一些与相应云厂商后端的必要交互信息,如目标弹性网卡信息。
步骤130,根据所述调用响应信息以及所述目标网络类型,为所述新容器进行网络数据平面的配置。
在该步骤中,当网络插件获得调用响应信息以后,则可以结合本计算节点的网络类型,为新容器进行网络数据平面的配置。
在一种实施例中,若本计算节点为自建机房节点,则步骤130进一步可以包括如下步骤:
将所述目标IP地址配置到所述新容器所在的网络命名空间中;在所述计算节点中采用BGP路由协议发布所述目标IP地址。
在另一种实施例中,若本计算节点为公有云机房节点,则步骤130进一步可以包括如下步骤:
将所述目标IP地址配置到所述新容器所在的网络命名空间中;在本计算节点上配置所述目标IP地址关联到所述目标弹性网卡信息的策略路由。
具体的,计算节点跟网络类型是1对1的关系,计算节点的网络插件带着节点标识和网络类型去访问管理组件,管理组件收到网络插件的访问信息之后,校验访问信息中的网络类型是否跟之前注册的网络类型一致,如果一致则根据网络类型决定具体的分配内容。如果本计算节点是vpc-node(公有云机房节点),管理组件会分配目标IP地址和目标ENI,并且还要调用厂商接口将本次分配到的IP地址绑定为对应ENI的辅助IP地址。返回给网络插件的内容就包括分配的目标IP地址和目标ENI;如果本计算节点是classic-node(自建机房节点)类型,管理组件只需要分配IP地址,返回给网络插件的内容就只有IP地址。
网络插件收到返回参数之后,如果是vpc-node类型,要在节点将本次分配的目标IP地址配置到容器所在的网络命名空间中,同时在节点上配置关于该IP地址走哪个ENI弹性网卡(即目标ENI)的策略路由;如果是classic-node类型,要在节点将本次分配的IP地址配置到容器所在的网络命名空间中,同时将该IP地址利用BGP路由发布到机房内部来通告该IP地址的位置。在一种实施例中,在步骤110之前,网络插件需要先在管理组件中进行注册,则本实施例还可以包括如下步骤:
确定所述网络插件的注册信息,所述注册信息包括所述目标节点信息;将所述注册信息发送至所述管理组件中,以向所述管理组件注册所述网络插件。
在该实施例中,本计算节点可以向管理组件发送注册信息来对网络插件进行注册。示例性地,注册信息可以包括目标节点信息,如网络类型、节点标识等,除此以外,还可以包括网络插件的标识、版本信息等与插件相关的参数信息。
通过本实施例,可以实现在同一容器集群中支持多种不同网络类型的节点并存,则集群内不同网络类型的计算节点需要跨机房互相通信时,可以采用后台部署的网络专线(例如运营商铺设好的物理网络线路)或公网隧道(如IPIP(IP in IP))来实现。
在本实施例中,通过自定义的网络插件,并在容器集群的各计算节点中部署该网络插件,使得网络插件可以获得其所在的计算节点的目标网络类型等目标节点信息,并在检测到其所在计算节点创建新容器时,基于获取的该目标节点信息生成调用请求,将该调用请求发送至管理组件中以向管理组件请求该新容器的目标IP地址等调用响应信息,当获得该新容器的调用响应信息以后,则可以根据该调用响应信息以及该目标网络类型为新容器进行网络数据平面的配置。从而可以实现在同一容器集群中支持多种不同网络类型的容器网络模式并存,最大化地释放节点的网络性能。例如,针对不同的云厂商节点,在部署本实施例的网络插件以后,可以充分利用厂商自身Iaas(Infrastructure as a Service,一般代指云厂商的底层基础设施)层原有的基础网络,无需二次虚拟化,同时设计架构上支持动态扩展网络类型,当有新的网络类型的计算节点加入集群时,可以通过自定义对应网络类型为新节点部署相应的网络平面,从而实现了容器网络动态扩展,灵活配置,高性能部署。
实施例二
图2为本申请实施例二提供的一种对容器集群中的容器进行网络配置的方法实施例的流程图,其中,容器集群中可以包括管理节点以及计算节点,且该管理节点中部署有自研的管理组件,集群中各计算节点中部署有自研的网络插件,本实施例从管理组件侧进行说明,可以包括如下步骤:
步骤210,接收计算节点的网络插件发送的调用请求,所述调用请求包括所述计算节点的目标节点信息,所述目标节点信息包括目标节点标识以及目标网络类型。
步骤220,根据所述目标节点标识以及所述目标网络类型,确定目标IP地址。
在该步骤中,当网络插件接收到计算节点的网络插件发送的调用请求以后,通过对该调用请求的解析可以获得目标节点标识以及目标网络类型。然后,基于上述的目标节点标识以及目标网络类型,完成对该网络插件的地址分配。
在一种实施例中,步骤220进一步可以包括如下步骤:
步骤220-1,在预先生成的注册数据库中查找所述目标节点标识,以获得所述目标节点标识在注册时登记的网络类型。
在该步骤中,管理节点侧可以维护一注册数据库,或者,记录有注册数据库的地址,并具备权限读取该注册数据库中的注册信息。其中,该注册数据库用于记录不同计算节点上报的注册信息,而该注册信息用于为计算节点的网络插件进行注册。示例性地,注册信息可以至少包括各计算节点的节点标识、网络类型、网络名词等网络插件的相关参数信息。
当管理组件从调用请求中获得目标节点标识以后,则可以以该目标节点标识作为检索词在注册数据库中进行检索,若检索到该目标节点标识,则从检索到的数据记录中读取该目标节点标识在注册时登记的网络类型。
步骤220-2,若所述注册时登记的网络类型与所述目标网络类型一致,则在预先生成的节点数据库中查找所述目标节点标识,以获得所述目标节点标识对应的目标网段。
管理节点获得该目标节点标识在注册时登记的网络类型以后,则可以将该检索到的网络类型与从调用请求中解析出的目标网络类型进行比较,若两者一致,则表示对该计算节点的校验正确。然后进行下一步的查找操作,即可以在预先生成的节点数据库中查找该目标节点标识,以获得该目标节点标识对应的目标网段。具体的,在管理节点中,除了维护有网络插件的注册信息,还维护有计算节点的注册信息,该计算节点的注册信息记录在节点数据库中,可以包括计算节点的节点标识、该节点使用的网段信息、节点厂商的接口、以及节点厂商的其他必要交互参数数据等。当管理组件在节点数据库中查找到目标节点标识时,则可以从查找到的数据记录中读取其网段字段的字段值,作为目标网段。
如果该检索到的网络类型与从调用请求中解析出的目标网络类型不一致,则进行报错处理。
步骤220-3,从所述目标网段中确定目标IP地址。
在一种实现中,可以基于预设的IP选择算法来从目标网段中确定目标IP地址。例如,可以设置已用IP地址池以及可用IP地址池,然后将目标网段中的所有可用的IP地址放入可用IP地址池中,每次请求过来的时候,管理组件可以按照设定策略从可用IP地址池中选取一个IP地址作为目标IP地址,并将该目标IP地址从可用IP地址池迁移到已用IP地址池中。这样,每次管理组件重启后,都可以获得各网段的IP地址的分配情况。
步骤230,根据所述目标IP地址生成调用响应信息,并将所述调用响应信息返回所述计算节点,以由所述计算节点的网络插件根据所述调用响应信息以及所述目标网络类型,为新容器进行网络数据平面的配置。
具体的,若当前计算节点为自建机房节点,则管理组件在确定目标IP地址以后,则可以直接将该目标IP地址生成调用响应信息,并向该计算节点返回该调用响应信息。
需要说明的是,若当前计算节点为公有云机房节点,则管理组件在确定目标IP地址以后,还需要为当前计算节点分配目标弹性网卡信息(目标ENI),并将该目标弹性网卡信息以及该目标IP地址生成调用响应信息。具体的,管理组件可以根据调用请求中携带的参数,初始化对应厂商的接口。然后按照选择算法,选定当前计算节点上的一个ENI,作为目标ENI。并调用厂商接口将本次分配到的目标IP地址绑定为对应目标ENI的辅助IP地址。然后在返回的参数中,将本次选定的目标ENI和目标IP地址。
在本实施例中,管理组件根据各计算节点的网络插件提出的调用请求,从该调用请求中解析出目标网络类型以及目标节点标识,然后确定该目标网络类型以及目标节点标识对应的目标IP地址,完成IP地址的分配,使得计算节点根据该目标IP地址以及目标网络类型,为新容器进行网络数据平面的配置,实现在同一容器集群中,不同的计算节点能够部署不同网络类型的容器网络数据平面,从而让用户可以根据集群中机房的自身属性选择相应的容器网络类型,满足不同场景的业务需求,充分发挥集群中各种不同类型节点的网络性能。
实施例三
图3为本申请实施例三提供的一种对容器集群中的容器进行网络配置的装置实施例的结构框图,其中,所述容器集群包括管理节点以及计算节点,所述管理节点中部署有管理组件,所述计算节点中部署有网络插件;本装置实施例可以应用于计算节点中,可以包括如下模块:
调用请求生成模块310,用于当所述网络插件检测到本计算节点的新容器时,获取所述计算节点的目标节点信息,并根据所述目标节点信息生成调用请求,所述目标节点信息包括目标网络类型;
调用请求发送模块320,用于将所述调用请求发送至所述管理组件中;
调用响应信息接收模块330,用于接收所述管理组件基于所述调用请求返回的调用响应信息,所述调用响应信息包括所述管理组件为当前网络插件分配的目标IP地址;
容器配置模块340,用于根据所述调用响应信息以及所述目标网络类型,为所述新容器进行网络数据平面的配置。
在一种实施例中,若所述计算节点为自建机房节点,容器配置模块340具体用于:
将所述目标IP地址配置到所述新容器所在的网络命名空间中;
在所述计算节点中采用BGP路由协议发布所述目标IP地址。
在另一种实施例中,若所述计算节点为公有云机房节点,所述调用响应信息还包括目标弹性网卡信息;则容器配置模块340具体用于:
将所述目标IP地址配置到所述新容器所在的网络命名空间中;
在本计算节点上配置所述目标IP地址关联到所述目标弹性网卡信息的策略路由。
在一种实施例中,本装置实施例还可以包括如下模块:
注册模块,用于确定所述网络插件的注册信息,所述注册信息包括所述目标节点信息;将所述注册信息发送至所述管理组件中,以向所述管理组件注册所述网络插件。
在一种实施例中,本装置实施例还可以包括如下模块:
跨机房通信模块,用于采用网络专线或公网隧道来与其他计算节点通信,其中,所述其他计算节点与本计算节点的网络类型不相同。
本申请实施例所提供的一种对容器集群中的容器进行网络配置的装置可执行本申请实施例一中的一种对容器集群中的容器进行网络配置的方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4为本申请实施例四提供的一种对容器集群中的容器进行网络配置的装置实施例的结构框图,所述容器集群包括管理节点以及计算节点,所述管理节点中部署有管理组件,所述计算节点中部署有网络插件;所述装置应用于管理节点中,可以包括如下模块:
调用请求接收模块410,用于接收计算节点的网络插件发送的调用请求,所述调用请求包括所述计算节点的目标节点信息,所述目标节点信息包括目标节点标识以及目标网络类型;
目标IP地址确定模块420,用于根据所述目标节点标识以及所述目标网络类型,确定目标IP地址;
调用响应信息返回模块430,用于根据所述目标IP地址生成调用响应信息,并将所述调用响应信息返回所述计算节点,以由所述计算节点的网络插件根据所述调用响应信息以及所述目标网络类型,为新容器进行网络数据平面的配置。
在一种实施例中,所述目标IP地址确定模块420具体用于:
在预先生成的注册数据库中查找所述目标节点标识,以获得所述目标节点标识在注册时登记的网络类型;
若所述注册时登记的网络类型与所述目标网络类型一致,则在预先生成的节点数据库中查找所述目标节点标识,以获得所述目标节点标识对应的目标网段;
从所述目标网段中确定目标IP地址。
在一种实施例中,所述目标网络类型包括公有云机房节点的网络类型,所述调用响应信息返回模块430具体用于:
为所述计算节点分配目标弹性网卡信息;
根据所述目标弹性网卡信息以及所述目标IP地址生成调用响应信息。
本申请实施例所提供的一种对容器集群中的容器进行网络配置的装置可执行本申请实施例二中的一种对容器集群中的容器进行网络配置的方法,具备执行方法相应的功能模块和有益效果。
实施例五
图5为本申请实施例五提供的一种容器集群系统实施例的结构框图,所述容器集群系统包括管理节点510以及计算节点520(图5中以两个计算节点为例进行说明,实际上计算节点的数据可以有很多,本实施例对此不作限定),所述管理节点510中部署有管理组件511,所述计算节点520中部署有网络插件521;所述计算节点520用于执行实施例一中的方法,所述管理节点510用于执行实施例二中的方法,具备执行方法相应的功能模块和有益效果。
实施例六
图6为本申请实施例六提供的一种电子设备的结构示意图,如图6所示,该电子设备包括处理器610、存储器620、输入装置630和输出装置640;电子设备中处理器610的数量可以是一个或多个,图6中以一个处理器610为例;电子设备中的处理器610、存储器620、输入装置630和输出装置640可以通过总线或其他方式连接,图6中以通过总线连接为例。
存储器620作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例中的上述实施例一或实施例二对应的程序指令/模块。处理器610通过运行存储在存储器620中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的方法实施例一或实施例二中提到的方法。
存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器620可进一步包括相对于处理器610远程设置的存储器,这些远程存储器可以通过网络连接至设备/终端/服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置630可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置640可包括显示屏等显示设备。
实施例七
本申请实施例七还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行上述方法实施例一或二中的方法。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本申请任意实施例所提供的方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本申请可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
值得注意的是,上述装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。
Claims (13)
1.一种对容器集群中的容器进行网络配置的方法,其特征在于,所述容器集群包括管理节点以及计算节点,所述管理节点中部署有管理组件,所述计算节点中部署有网络插件;所述方法应用于计算节点中,包括:
当所述网络插件检测到本计算节点的新容器时,获取所述计算节点的目标节点信息,并根据所述目标节点信息生成调用请求,所述目标节点信息包括目标网络类型;
将所述调用请求发送至所述管理组件中,并接收所述管理组件基于所述调用请求返回的调用响应信息,所述调用响应信息包括所述管理组件为当前网络插件分配的目标IP地址;
根据所述调用响应信息以及所述目标网络类型,为所述新容器进行网络数据平面的配置。
2.根据权利要求1所述的方法,其特征在于,若所述计算节点为自建机房节点,所述根据所述调用响应信息以及所述目标网络类型,为所述新容器进行网络数据平面的配置,包括:
将所述目标IP地址配置到所述新容器所在的网络命名空间中;
在所述计算节点中采用BGP路由协议发布所述目标IP地址。
3.根据权利要求1所述的方法,其特征在于,若所述计算节点为公有云机房节点,所述调用响应信息还包括目标弹性网卡信息;
所述根据所述调用响应信息以及所述目标网络类型,为所述新容器进行网络数据平面的配置,包括:
将所述目标IP地址配置到所述新容器所在的网络命名空间中;
在本计算节点上配置所述目标IP地址关联到所述目标弹性网卡信息的策略路由。
4.根据权利要求1-3任一项所述的方法,其特征在于,在所述当所述网络插件检测到本计算节点创建新容器时,获取所述计算节点的目标节点信息,并根据所述目标节点信息生成调用请求之前,所述方法还包括:
确定所述网络插件的注册信息,所述注册信息包括所述目标节点信息;
将所述注册信息发送至所述管理组件中,以向所述管理组件注册所述网络插件。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
采用网络专线或公网隧道来与其他计算节点通信,其中,所述其他计算节点与本计算节点的网络类型不相同。
6.一种对容器集群中的容器进行网络配置的方法,其特征在于,所述容器集群包括管理节点以及计算节点,所述管理节点中部署有管理组件,所述计算节点中部署有网络插件;所述方法应用于管理节点中,包括:
接收计算节点的网络插件发送的调用请求,所述调用请求包括所述计算节点的目标节点信息,所述目标节点信息包括目标节点标识以及目标网络类型;
根据所述目标节点标识以及所述目标网络类型,确定目标IP地址;
根据所述目标IP地址生成调用响应信息,并将所述调用响应信息返回所述计算节点,以由所述计算节点的网络插件根据所述调用响应信息以及所述目标网络类型,为新容器进行网络数据平面的配置。
7.根据权利要求6所述的方法,其特征在于,所述根据所述目标节点标识以及所述目标网络类型,确定目标IP地址,包括:
在预先生成的注册数据库中查找所述目标节点标识,以获得所述目标节点标识在注册时登记的网络类型;
若所述注册时登记的网络类型与所述目标网络类型一致,则在预先生成的节点数据库中查找所述目标节点标识,以获得所述目标节点标识对应的目标网段;
从所述目标网段中确定目标IP地址。
8.根据权利要求7所述的方法,其特征在于,所述目标网络类型包括公有云机房节点的网络类型,所述根据所述目标IP地址生成调用响应信息,包括:
为所述计算节点分配目标弹性网卡信息;
根据所述目标弹性网卡信息以及所述目标IP地址生成调用响应信息。
9.一种对容器集群中的容器进行网络配置的装置,其特征在于,所述容器集群包括管理节点以及计算节点,所述管理节点中部署有管理组件,所述计算节点中部署有网络插件;所述装置应用于计算节点中,包括:
调用请求生成模块,用于当所述网络插件检测到本计算节点的新容器时,获取所述计算节点的目标节点信息,并根据所述目标节点信息生成调用请求,所述目标节点信息包括目标网络类型;
调用请求发送模块,用于将所述调用请求发送至所述管理组件中;
调用响应信息接收模块,用于接收所述管理组件基于所述调用请求返回的调用响应信息,所述调用响应信息包括所述管理组件为当前网络插件分配的目标IP地址;
容器配置模块,用于根据所述调用响应信息以及所述目标网络类型,为所述新容器进行网络数据平面的配置。
10.一种对容器集群中的容器进行网络配置的装置,其特征在于,所述容器集群包括管理节点以及计算节点,所述管理节点中部署有管理组件,所述计算节点中部署有网络插件;所述装置应用于管理节点中,包括:
调用请求接收模块,用于接收计算节点的网络插件发送的调用请求,所述调用请求包括所述计算节点的目标节点信息,所述目标节点信息包括目标节点标识以及目标网络类型;
目标IP地址确定模块,用于根据所述目标节点标识以及所述目标网络类型,确定目标IP地址;
调用响应信息返回模块,用于根据所述目标IP地址生成调用响应信息,并将所述调用响应信息返回所述计算节点,以由所述计算节点的网络插件根据所述调用响应信息以及所述目标网络类型,为新容器进行网络数据平面的配置。
11.一种容器集群系统,其特征在于,所述容器集群系统包括管理节点以及计算节点,所述管理节点中部署有管理组件,所述计算节点中部署有网络插件;所述计算节点用于执行权利要求1-5任一项所述的方法,所述管理节点用于执行权利要求6-8任一项所述的方法。
12.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8任一项所述的方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111086357.2A CN113810230B (zh) | 2021-09-16 | 2021-09-16 | 对容器集群中的容器进行网络配置的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111086357.2A CN113810230B (zh) | 2021-09-16 | 2021-09-16 | 对容器集群中的容器进行网络配置的方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113810230A true CN113810230A (zh) | 2021-12-17 |
CN113810230B CN113810230B (zh) | 2024-06-25 |
Family
ID=78941295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111086357.2A Active CN113810230B (zh) | 2021-09-16 | 2021-09-16 | 对容器集群中的容器进行网络配置的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113810230B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338670A (zh) * | 2021-12-24 | 2022-04-12 | 中汽创智科技有限公司 | 一种边缘云平台和具有其的网联交通三级云控平台 |
CN114510297A (zh) * | 2022-03-31 | 2022-05-17 | 国家卫星海洋应用中心 | 卫星数据重处理方法、装置和电子设备 |
CN115277864A (zh) * | 2022-07-27 | 2022-11-01 | 海通证券股份有限公司 | 路由确定方法及装置、计算机可读存储介质、终端 |
CN115314376A (zh) * | 2022-08-01 | 2022-11-08 | 北京金山云网络技术有限公司 | 集群中网络插件部署方法和装置、电子设备和存储介质 |
CN115460075A (zh) * | 2022-09-14 | 2022-12-09 | 深圳前海环融联易信息科技服务有限公司 | 基于云原生的多网络模式实现方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109587281A (zh) * | 2017-09-29 | 2019-04-05 | 华为技术有限公司 | 容器配置方法和计算节点 |
CN111404753A (zh) * | 2020-03-23 | 2020-07-10 | 星环信息科技(上海)有限公司 | 一种扁平网络配置方法、计算机设备及存储介质 |
CN112242920A (zh) * | 2019-07-19 | 2021-01-19 | 杭州海康威视数字技术股份有限公司 | 一种云平台部署方法、装置及节点 |
CN113067739A (zh) * | 2021-04-29 | 2021-07-02 | 中国工商银行股份有限公司 | 一种高密度容器网络部署方法及系统 |
CN113127150A (zh) * | 2021-03-18 | 2021-07-16 | 同盾控股有限公司 | 云原生系统的快速部署方法、装置、电子设备和存储介质 |
-
2021
- 2021-09-16 CN CN202111086357.2A patent/CN113810230B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109587281A (zh) * | 2017-09-29 | 2019-04-05 | 华为技术有限公司 | 容器配置方法和计算节点 |
CN112242920A (zh) * | 2019-07-19 | 2021-01-19 | 杭州海康威视数字技术股份有限公司 | 一种云平台部署方法、装置及节点 |
CN111404753A (zh) * | 2020-03-23 | 2020-07-10 | 星环信息科技(上海)有限公司 | 一种扁平网络配置方法、计算机设备及存储介质 |
CN113127150A (zh) * | 2021-03-18 | 2021-07-16 | 同盾控股有限公司 | 云原生系统的快速部署方法、装置、电子设备和存储介质 |
CN113067739A (zh) * | 2021-04-29 | 2021-07-02 | 中国工商银行股份有限公司 | 一种高密度容器网络部署方法及系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338670A (zh) * | 2021-12-24 | 2022-04-12 | 中汽创智科技有限公司 | 一种边缘云平台和具有其的网联交通三级云控平台 |
CN114338670B (zh) * | 2021-12-24 | 2023-12-26 | 中汽创智科技有限公司 | 一种边缘云平台和具有其的网联交通三级云控平台 |
CN114510297A (zh) * | 2022-03-31 | 2022-05-17 | 国家卫星海洋应用中心 | 卫星数据重处理方法、装置和电子设备 |
CN115277864A (zh) * | 2022-07-27 | 2022-11-01 | 海通证券股份有限公司 | 路由确定方法及装置、计算机可读存储介质、终端 |
CN115277864B (zh) * | 2022-07-27 | 2024-01-26 | 海通证券股份有限公司 | 路由确定方法及装置、计算机可读存储介质、终端 |
CN115314376A (zh) * | 2022-08-01 | 2022-11-08 | 北京金山云网络技术有限公司 | 集群中网络插件部署方法和装置、电子设备和存储介质 |
CN115314376B (zh) * | 2022-08-01 | 2024-01-19 | 北京金山云网络技术有限公司 | 集群中网络插件部署方法和装置、电子设备和存储介质 |
CN115460075A (zh) * | 2022-09-14 | 2022-12-09 | 深圳前海环融联易信息科技服务有限公司 | 基于云原生的多网络模式实现方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113810230B (zh) | 2024-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113810230B (zh) | 对容器集群中的容器进行网络配置的方法、装置及系统 | |
CN107580083B (zh) | 一种容器ip地址分配的方法和系统 | |
US11658936B2 (en) | Resizing virtual private networks in provider network environments | |
CN111614738B (zh) | 基于Kubernetes集群的服务访问方法、装置、设备及存储介质 | |
US9143582B2 (en) | Interoperability for distributed overlay virtual environments | |
US20170052807A1 (en) | Methods, apparatuses, and computer program products for deploying and managing software containers | |
US11368407B2 (en) | Failover management using availability groups | |
CN113746887A (zh) | 一种跨集群数据请求处理方法、设备及存储介质 | |
US20220244998A1 (en) | Method and apparatus for acquiring device information, storage medium and electronic device | |
CN112035216B (zh) | 一种Kubernetes集群网络和OpenStack网络的打通方法 | |
CN112202615B (zh) | 一种多cni协同工作系统与方法 | |
US10673694B2 (en) | Private network mirroring | |
CN114205342B (zh) | 服务调试的路由方法、电子设备及介质 | |
CN112882792B (zh) | 信息加载方法、计算机设备及存储介质 | |
CN111327651A (zh) | 资源下载方法、装置、边缘节点及存储介质 | |
CN115086166B (zh) | 计算系统、容器网络配置方法及存储介质 | |
CN113141405A (zh) | 服务访问方法、中间件系统、电子设备和存储介质 | |
CN114938394B (zh) | 跨集群网络控制方法、装置、设备及存储介质 | |
CN115686729A (zh) | 容器集群网络系统、数据处理方法、设备及计算机程序产品 | |
CN116113923A (zh) | 容器集群管理方法及其系统 | |
CN114979286A (zh) | 容器服务的访问控制方法、装置、设备及计算机存储介质 | |
CN114172853A (zh) | 流量转发及裸机服务器的配置方法、装置 | |
WO2021248972A1 (zh) | 默认网关管理方法、网关管理器、服务器及存储介质 | |
CN114157573A (zh) | 部署虚拟化网络功能的方法和装置 | |
CN108370329B (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 |