CN113067739B - 一种高密度容器网络部署方法及系统 - Google Patents
一种高密度容器网络部署方法及系统 Download PDFInfo
- Publication number
- CN113067739B CN113067739B CN202110477114.5A CN202110477114A CN113067739B CN 113067739 B CN113067739 B CN 113067739B CN 202110477114 A CN202110477114 A CN 202110477114A CN 113067739 B CN113067739 B CN 113067739B
- Authority
- CN
- China
- Prior art keywords
- container
- address
- new container
- network
- node
- 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
Links
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
- 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/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本文提供了一种高密度容器网络部署方法及系统,涉及通信网络技术领域,可应用于金融领域及其他领域,其中,方法包括:K8s的主节点从网络池子中获取一IP地址并创建IP地址声明;发出包含所述IP地址声明的第一容器创建请求;根据第一容器创建请求,将新容器调度至K8s的工作节点;根据第一容器创建请求及调度结果,生成相应工作节点的新容器配置信息;工作节点根据本工作节点的新容器配置信息,获取新容器的IP地址、VLAN、网关;在本工作节点的虚拟交换机上创建虚拟网口,生成mac地址;建立新容器的IP地址、VLAN、网关及mac地址之间的关联关系。本文能够提高单台服务器容器部署上限及虚拟化倍率。
Description
技术领域
本文涉及通信网络技术领域,尤其涉及一种高密度容器网络部署方法及系统。
背景技术
随着近几年容器技术蓬勃发展,金融、互联网、IT等企业积极对投入容器技术研发和应用推广。继虚拟化技术后,容器技术成为对云计算领域具有深远影响的变革技术。
从趋势上看,应用拥抱容器化是大势所趋,但是MySQL数据库等有状态应用和无状态应用在容器通讯网络方案上存在较大的差异,具体的:
1)无状态应用:适用于无状态化改造后的应用,例如为nginx(一个高性能的HTTP和反向代理web服务器)、微服务等,无状态应用是在虚拟机之上构建容器,容器共享虚拟机的网络协议栈,通过虚拟机的IP、端口实现容器之间的相互访问。
2)有状态应用:适用于MySQL、Redis等有状态的应用。在物理机之上构建容器。
现有技术中,对于有状态应用,在物理机之上构建容器的方式因依赖物理网卡类型的限制存在容器数量有限及虚拟化倍率低(一张网卡能虚拟出的虚拟网口的个数)的问题,例如物理网卡类型intel 82599的物理机,仅能创建63个容器。
发明内容
本文提供一种高密度容器网络部署方法及系统,用于解决现有技术中,有状态应用在物理机的基础上实现部署,存在容器数量有限及虚拟化倍率低的问题。
为了解决上述技术问题,作为本文的第一方面,提供一种高密度容器网络部署方法,预先创建网络池子,其中,所述网络池子中指定有IP段、VLAN、网关,所述容器网络部署方法包括:
K8s的主节点从网络池子中获取一IP地址并创建IP地址声明;发出包含所述IP地址声明的第一容器创建请求;根据所述第一容器创建请求,将新容器调度至所述K8s的工作节点;根据所述第一容器创建请求及调度结果,生成相应工作节点的新容器配置信息;
所述工作节点根据本工作节点的新容器配置信息,获取新容器的IP地址、VLAN、网关;在本工作节点的虚拟交换机上创建虚拟网口,生成mac地址;建立新容器的IP地址、VLAN、网关及mac地址之间的关联关系。
作为本文进一步实施例中,新容器配置信息包括:新容器标识、IP地址声明、工作节点标识。
作为本文进一步实施例中,所述工作节点根据本工作节点的新容器配置信息,获取新容器的IP地址、VLAN、网关,包括:
所述工作节点监测到新容器调度到本工作节点后,利用docker引擎调用容器网络插件,其中,所述容器网络插件为预先安装于所述工作节点中的程序;
由所述容器网络插件根据所述新容器配置信息,获取新容器的IP地址、VLAN、网关。
作为本文进一步实施例中,所述容器网络插件根据所述新容器配置信息,获取新容器的IP地址、VLAN、网关的过程包括:
根据新容器标识,从所述新容器配置信息中查询新容器IP地址声明;
根据查询出的新容器IP地址声明,确定新容器的IP地址;
确定所述新容器的IP地址所属的网络池子;
根据所述新容器的IP地址所属的网络池子,确定所述新容器的VLAN及网关。
作为本文进一步实施例中,高密度容器网络部署方法还包括:
所述主节点实时监测容器的运行情况,若容器出现异常,则发出第二容器创建请求,其中,所述第二容器创建请求中包含异常容器对应的IP地址声明;根据所述第二容器创建请求,将新容器调度至所述K8s的工作节点;根据所述第二容器创建请求及调度结果,生成新容器配置信息。
作为本文的第二方面,提供一种高密度容器网络部署系统,预先创建网络池子,其中,所述网络池子中指定有IP段、VLAN、网关,所述高密度容器部署系统包括:K8s的主节点及工作节点;
所述主节点,用于从网络池子中获取一IP地址并创建IP地址声明;发出包含所述IP地址声明的第一容器创建请求;根据所述第一容器创建请求,将新容器调度至所述K8s的工作节点;根据所述第一容器创建请求及调度结果,生成新容器配置信息;
所述工作节点,用于根据所述新容器配置信息,获取新容器的IP地址、VLAN、网关;在本工作节点的虚拟交换机上创建虚拟网口,生成mac地址;建立新容器的IP地址、VLAN、网关及mac地址之间的关联关系。
作为本文的第三方面,提供一种高密度容器网络部署方法,包括:
从网络池子中获取一IP地址并创建IP地址声明;
发出第一容器创建请求,其中,所述第一容器创建请求中包含所述IP地址声明;
根据所述第一容器创建请求,将新容器调度至所述K8s的工作节点;
根据所述第一容器创建请求及调度结果,生成新容器配置信息。
作为本文的第四方面,提供一种K8s主节点侧的高密度容器网络部署装置,包括:
获取模块,用于从网络池子中获取一IP地址并创建IP地址声明;
容器创建请求模块,用于发出第一容器创建请求,其中,所述第一容器创建请求中包含所述IP地址声明;
调度模块,用于根据所述第一容器创建请求,将新容器调度至所述K8s的工作节点;
配置模块,用于根据所述第一容器创建请求及调度结果,生成新容器配置信息。
作为本文的第五方面,提供一种高密度容器网络部署方法,包括:
监测是否调度到本工作节点的新容器配置信息;
若有调度到本工作节点的新容器配置信息,则根据本工作节点的新容器配置信息,获取新容器的IP地址、VLAN、网关;
在本工作节点的虚拟交换机上创建虚拟网口,生成mac地址;
建立新容器的IP地址、VLAN、网关及mac地址之间的关联关系。
作为本文的第六方面,提供一种K8s工作节点侧的高密度容器网络部署装置,包括:
监测模块,用于监测是否调度到本工作节点的新容器配置信息;
引擎模块,用于若有调度到本工作节点的新容器配置信息,则根据本工作节点的新容器配置信息,获取新容器的IP地址、VLAN、网关;
创建模块,用于在本工作节点的虚拟交换机上创建虚拟网口,生成mac地址;
配置模块,用于建立新容器的IP地址、VLAN、网关及mac地址之间的关联关系。
作为本文的第七方面,提供一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时,执行K8s主节点侧的高密度容器网络部署方法或K8s工作节点侧的高密度容器网络部署方法的指令。
作为本文的第八方面,提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被计算机设备的处理器运行时,执行K8s主节点侧的高密度容器网络部署方法或K8s工作节点侧的高密度容器网络部署方法的指令。
本文提供的高密度容器网络部署方法及系统,通过K8s的主节点从网络池子中获取一IP地址并创建IP地址声明;发出包含所述IP地址声明的第一容器创建请求;根据所述第一容器创建请求,将新容器调度至所述K8s的工作节点;根据所述第一容器创建请求及调度结果,生成相应工作节点的新容器配置信息;工作节点根据本工作节点的新容器配置信息,获取新容器的IP地址、VLAN、网关;在本工作节点的虚拟交换机上创建虚拟网口,生成mac地址;建立新容器的IP地址、VLAN、网关及mac地址之间的关联关系,利用虚拟交换机来创建虚拟网口,使得服务器部署容器的数量仅与单台服务器处理资源相关,不再受单台服务器物理网卡的硬件限制,能够提高单台服务器容器部署上限及虚拟化倍率。
为让本文的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
为了更清楚地说明本文实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本文的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本文实施例K8s架构的示意图;
图2示出了本文实施例高密度容器网络部署方法的第一流程图;
图3示出了本文实施例工作节点获取新容器的IP地址、VLAN、网关过程的流程图;
图4示出了本文实施例网络插件获取新容器的IP地址、VLAN、网关过程的流程图;
图5示出了本文实施例高密度容器网络部署方法的第二流程图;
图6示出了本文实施例高密度容器网络部署系统的结构图;
图7示出了本文实施例K8s主节点侧的高密度容器网络部署方法的流程图;
图8示出了本文实施例K8s工作节点侧的高密度容器网络部署方法的流程图;
图9示出了本文实施例K8s主节点侧的高密度容器网络部署装置的结构图;
图10示出了本文实施例K8s工作节点侧的高密度容器网络部署装置的结构图;
图11示出了本文实施例计算机设备的结构图。
附图符号说明:
601、主节点;
602、工作节点;
901、获取模块;
902、容器创建请求模块;
903、调度模块;
904、配置模块;
1001、监测模块;
1002、引擎模块;
1003、创建模块;
1004、配置模块;
1102、计算机设备;
1104、处理器;
1106、存储器;
1108、驱动机构;
1110、输入/输出模块;
1112、输入设备;
1114、输出设备;
1116、呈现设备;
1118、图形用户接口;
1120、网络接口;
1122、通信链路;
1124、通信总线。
具体实施方式
下面将结合本文实施例中的附图,对本文实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本文一部分实施例,而不是全部的实施例。基于本文中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文保护的范围。
本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或装置产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。
本文提供的高密度容器网络部署方法可用于金融领域在高密度容器网络部署方面的应用,也可用于除金融领域之外的任意领域,本公开高密度容器网络部署方法的应用领域不做限定。
本文提供的高密度容器网络部署方法的实施依赖于K8s(kubernetes的简称),为了便于说明后续高密度容器网络部署方法,下面先对K8s的架构进行简要说明。
具体的,K8s是一个开源的,用于管理云平台中多个工作节点(即主机)的容器化的应用,各种自研插件只要满足K8s的定义标准,就可以通过K8s调用。如图1所示,K8s包括:至少一个主节点(Master节点)及多个工作节点(Node节点),主节点与工作节点一般情况下,部署在不同的服务器上。
其中,主节点有四个组件:Api接口(Apiserver)、数据库(Etcd)、资源调度模块(Scheduler)、控制管理模块(Controller manager)。工作节点有两个组件:容器管理模块(Kubelet)、监测及分配模块(Kube-proxy)。组件之间的关系:只有Apiserver与Etcd连接,其余所有的组件与Apiserver连接。下面详细说明各组件的作用。
Apiserver:为对外暴露的K8s的Api接口,提供了资源操作的唯一入口,并提供认证、授权、访问控制、api注册和发现等机制,用于将用户的需求,读、写到Etcd。
Etcd:保存整个K8s集群的状态,以键值对的形式保存。
Scheduler:负责资源调度,即监听新创建却没有分配到node的容器(pod),为pod选择一个node。
Controller manager:负责维护集群的状态,比如故障检测、自动扩展、滚动更新等。
Kubelet:负责维护容器的生命周期,同时也负责volume(CSI)和网络(CNI)的管理。
Kube-proxy:负责为服务(service)提供集群(cluster)内部的服务发现和负载均衡。
考虑到现有有状态应用在物理机的基础上实现部署,存在容器数量有限及虚拟化倍率低的问题,本文一实施例中,提供一种高密度容器网络部署方法,本方法实施之前需要预先创建网络池子(network),其中,所述网络池子中指定有IP段、VLAN(Virtual LocalArea Network,虚拟局域网)、网关(gateway,GW),具体实施时,创建的网络池子还可包括掩码,用于指明IP地址的哪些位标识的主机所在的子网。
具体的,如图2所示,容器网络部署方法包括:
K8s的主节点执行如下操作:步骤201,从网络池子中获取一IP地址并创建IP地址声明;步骤202,发出包含所述IP地址声明的第一容器创建请求;步骤203,根据所述第一容器创建请求,将新容器调度至所述K8s的工作节点;步骤204,根据所述第一容器创建请求及调度结果,生成相应工作节点的新容器配置信息;
K8s工作节点执行如下操作:步骤205,根据本工作节点的新容器配置信息,获取新容器的IP地址、VLAN、网关;步骤206,在本工作节点的虚拟交换机上创建虚拟网口,生成mac地址;步骤207,建立新容器的IP地址、VLAN、网关及mac地址之间的关联关系。
通过本文所述高密度容器网络部署方法完成容器网络部署后,即可根据部署信息(即新容器的IP地址、VLAN、网关及mac地址之间的关联关系)实现容器之间的网络交互,网络交互的过程可参考虚拟交换机二层转发交互的过程,本文此处不再详述。
本文提供的高密度容器网络部署方法,利用虚拟交换机的二层网络特性,能够解决高密度部署容器的问题。具体的,利用虚拟交换机来创建虚拟网口,使得服务器部署容器的数量仅与单台服务器处理资源相关,不再受单台服务器物理网卡的硬件限制,能够提高单台服务器容器部署上限及虚拟化倍率。除此之外,本文还可以实现容器固定IP,且IP对外可见的效果。
详细的说,网络池子中的IP段指定有多个IP地址,IP地址的具体个数可根据需求设定,本文对此不作限定。同一个网络池子中的IP段对应的VLAN及网关相同,具体实施时,可预先设置多个网络池子。用户通过Apiserver的kubectl命令创建网络池子。
具体实施时,用户通过Apiserver的kubectl命令创建networkclaim,K8s的主节点根据该命令从网络池子中获取一IP地址并创建IP地址声明。
用户通过Apiserver的kubectl命令发出包含IP地址声明的第一容器创建请求,其中,第一容器创建请求包括:容器名称(POD name)、容器映像(image)及标签信息(labels),其中labels字段包含上一步创建的IP地址声明,用于将上一步已分配到的IP地址与容器绑定。
K8s主节点生成的新容器配置信息包括新容器标识、IP地址声明、工作节点标识,存储于K8s etcd数据库中。
K8s工作节点中的kubelet监听K8S ApiServer,发现新的容器调度到本节点,根据本工作节点的新容器配置信息,获取新容器的IP地址、VLAN、网关。IP地址、VLAN、网关及mac地址之间的关联关系可以以数据表格的形式进行存储,本文对此不作限定。
虚拟交换机预先安装于工作节点中,虚拟交换机的二层网络特性指的是交换机具有二、三层功能,二层功能根据mac地址表进行转发,三层网络是通过IP地址表进行转发。
本文一实施例中,如图3所示,工作节点根据本工作节点的新容器配置信息,获取新容器的IP地址、VLAN、网关,包括:
步骤301,工作节点监测到新容器调度到本工作节点后,利用docker引擎调用容器网络插件,其中,所述容器网络插件为预先安装于所述工作节点中的程序;
步骤302,由所述容器网络插件根据所述新容器配置信息,获取新容器的IP地址、VLAN、网关。
本文一实施例中,如图4所示,上述步骤302容器网络插件根据所述新容器配置信息,获取新容器的IP地址、VLAN、网关的过程包括:
步骤401,根据新容器标识,从所述新容器配置信息中查询新容器IP地址声明;
步骤402,根据查询出的新容器IP地址声明,确定新容器的IP地址;
步骤403,确定所述新容器的IP地址所属的网络池子;
步骤404,根据所述新容器的IP地址所属的网络池子,确定所述新容器的VLAN及网关。
作为本文的进一步实施例中,如图5所示,K8s主节点除了用于执行上述步骤201至步骤204外,还用于执行如下操作:
步骤208,实时监测容器的运行情况,若容器出现异常,则发出第二容器创建请求,其中,第二容器创建请求中包含异常容器对应的IP地址声明;
步骤209,根据第二容器创建请求,将新容器调度至所述K8s的工作节点;
步骤210,根据所述第二容器创建请求及调度结果,生成新容器配置信息。
本实施例能够保障在容器出现异常情况,新建容器仍能按照异常IP地址找到,避免数据计算错误的情况发生。
本文的一实施例中,如图6所示,还提供一种高密度容器网络部署系统,预先创建网络池子,其中,所述网络池子中指定有IP段、VLAN、网关,所述高密度容器部署系统包括:K8s的主节点601及工作节点602。
主节点601,用于从网络池子中获取一IP地址并创建IP地址声明;发出包含所述IP地址声明的第一容器创建请求;根据所述第一容器创建请求,将新容器调度至所述K8s的工作节点;根据所述第一容器创建请求及调度结果,生成新容器配置信息;
工作节点602,用于根据所述新容器配置信息,获取新容器的IP地址、VLAN、网关;在本工作节点的虚拟交换机上创建虚拟网口,生成mac地址;建立新容器的IP地址、VLAN、网关及mac地址之间的关联关系。
本实施例中,利用虚拟交换机来创建虚拟网口,使得服务器部署容器的数量仅与单台服务器处理资源相关,不再受单台服务器物理网卡的硬件限制,能够提高单台服务器容器部署上限及虚拟化倍率。
本文一实施例中,如图7所示,还提供一种K8s主节点侧的高密度容器网络部署方法,包括:
步骤701,从网络池子中获取一IP地址并创建IP地址声明;
步骤702,发出第一容器创建请求,其中,所述第一容器创建请求中包含所述IP地址声明;
步骤703,根据所述第一容器创建请求,将新容器调度至所述K8s的工作节点;
步骤704,根据所述第一容器创建请求及调度结果,生成新容器配置信息。
本文一实施例中,如图8所示,还提供一种K8s工作节点侧的高密度容器网络部署方法,包括:
步骤801,监测是否调度到本工作节点的新容器配置信息,若有调度到本工作节点的新容器配置信息,则执行步骤802,若未调度到本工作节点的新容器配置信息,则继续实时监测;
步骤802,根据本工作节点的新容器配置信息,获取新容器的IP地址、VLAN、网关;
步骤803,在本工作节点的虚拟交换机上创建虚拟网口,生成mac地址;
步骤804,建立新容器的IP地址、VLAN、网关及mac地址之间的关联关系。
基于同一发明构思,本文还提供一种K8s主节点侧的高密度容器网络部署装置及K8s工作节点侧的高密度容器网络部署装置,如下面的实施例所述。由于K8s主节点侧的高密度容器网络部署装置及K8s工作节点侧的高密度容器网络部署装置解决问题的原理与K8s主节点侧的高密度容器网络部署方法及K8s工作节点侧的高密度容器网络部署方法相似,因此K8s主节点侧的高密度容器网络部署装置及K8s工作节点侧的高密度容器网络部署装置的实施可以参见K8s主节点侧的高密度容器网络部署方法及K8s工作节点侧的高密度容器网络部署方法,重复之处不再赘述。
本实施例提供的K8s主节点侧的高密度容器网络部署装置及K8s工作节点侧的高密度容器网络部署装置包括多个功能模块,均可以由专用或者通用芯片实现,还可以通过软件程序实现,本文对此不作限定。
具体的,如图9所示,K8s主节点侧的高密度容器网络部署装置包括:
获取模块901,从网络池子中获取一IP地址并创建IP地址声明;
容器创建请求模块902,发出第一容器创建请求,其中,所述第一容器创建请求中包含所述IP地址声明;
调度模块903,根据所述第一容器创建请求,将新容器调度至所述K8s的工作节点;
配置模块904,根据所述第一容器创建请求及调度结果,生成新容器配置信息。
具体实施时,获取模块901及容器创建请求模块902的功能借助K8s的主节点的Apiserver实现。调度模块903及配置模块904的功能借助K8s的主节点的Scheduler模块实现。
如图10所示,K8s工作节点侧的高密度容器网络部署装置包括:
监测模块1001,用于监测是否调度到本工作节点的新容器配置信息;
引擎模块1002,用于若有调度到本工作节点的新容器配置信息,则根据本工作节点的新容器配置信息,获取新容器的IP地址、VLAN、网关;
创建模块1003,用于在本工作节点的虚拟交换机上创建虚拟网口,生成mac地址;
配置模块1004,用于建立新容器的IP地址、VLAN、网关及mac地址之间的关联关系。
具体实施时,监测模块1001及引擎模块1002的功能借助K8s工作节点的Kube-proxy实现。创建模块1003及配置模块1004的功能借助K8s工作节点的Kubelet模块实现。
本文提供的高密度容器网络部署方法及系统能够实现如下技术效果:
1)有状态应用可以固定IP,并且IP对外可见,可直接访问;2)通过利用虚拟交换机来虚拟化虚拟网口,而不是通过物理网卡的硬件虚拟化,来解决物理网卡虚拟化的倍率上限及容器部署量上限的问题。
本文的一实施例中,还提供一种计算机设备,如图11所示,计算机设备1102可以包括一个或多个处理器1104,诸如一个或多个中央处理单元(CPU),每个处理单元可以实现一个或多个硬件线程。计算机设备1102还可以包括任何存储器1106,其用于存储诸如代码、设置、数据等之类的任何种类的信息。非限制性的,比如,存储器1106可以包括以下任一项或多种组合:任何类型的RAM,任何类型的ROM,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示计算机设备1102的固定或可移除部件。在一种情况下,当处理器1104执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备1102可以执行相关联指令的任一操作。计算机设备1102还包括用于与任何存储器交互的一个或多个驱动机构1108,诸如硬盘驱动机构、光盘驱动机构等。
计算机设备1102还可以包括输入/输出模块1110(I/O),其用于接收各种输入(经由输入设备1112)和用于提供各种输出(经由输出设备1114))。一个具体输出机构可以包括呈现设备1116和相关联的图形用户接口1118(GUI)。在其他实施例中,还可以不包括输入/输出模块1110(I/O)、输入设备1112以及输出设备1114,仅作为网络中的一台计算机设备。计算机设备1102还可以包括一个或多个网络接口1120,其用于经由一个或多个通信链路1122与其他设备交换数据。一个或多个通信总线1124将上文所描述的部件耦合在一起。
通信链路1122可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路1122可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
本文一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述任一实施例方法的步骤。
本文一实施例中,还提供一种计算机可读指令,其中当处理器执行所述指令时,其中的程序使得处理器执行上述任一实施例方法的步骤。
应理解,在本文的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本文实施例的实施过程构成任何限定。
还应理解,在本文实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本文的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本文所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本文实施例方案的目的。
另外,在本文各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本文的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本文各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本文中应用了具体实施例对本文的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本文的方法及其核心思想;同时,对于本领域的一般技术人员,依据本文的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本文的限制。
Claims (12)
1.一种高密度容器网络部署方法,其特征在于,预先创建网络池子,其中,所述网络池子中指定有IP段、VLAN、网关,所述容器网络部署方法包括:
K8s的主节点从网络池子中获取一IP地址并创建IP地址声明;发出包含所述IP地址声明的第一容器创建请求;根据所述第一容器创建请求,将新容器调度至所述K8s的工作节点;根据所述第一容器创建请求及调度结果,生成相应工作节点的新容器配置信息;
所述工作节点根据本工作节点的新容器配置信息,获取新容器的IP地址、VLAN、网关;在本工作节点的虚拟交换机上创建虚拟网口,生成mac地址;建立新容器的IP地址、VLAN、网关及mac地址之间的关联关系。
2.如权利要求1所述的高密度容器网络部署方法,其特征在于,新容器配置信息包括:新容器标识、IP地址声明、工作节点标识。
3.如权利要求2所述的高密度容器网络部署方法,其特征在于,所述工作节点根据本工作节点的新容器配置信息,获取新容器的IP地址、VLAN、网关,包括:
所述工作节点监测到新容器调度到本工作节点后,利用docker引擎调用容器网络插件,其中,所述容器网络插件为预先安装于所述工作节点中的程序;
由所述容器网络插件根据所述新容器配置信息,获取新容器的IP地址、VLAN、网关。
4.如权利要求3所述的高密度容器网络部署方法,其特征在于,所述容器网络插件根据所述新容器配置信息,获取新容器的IP地址、VLAN、网关的过程包括:
根据新容器标识,从所述新容器配置信息中查询新容器IP地址声明;
根据查询出的新容器IP地址声明,确定新容器的IP地址;
确定所述新容器的IP地址所属的网络池子;
根据所述新容器的IP地址所属的网络池子,确定所述新容器的VLAN及网关。
5.如权利要求1所述的高密度容器网络部署方法,其特征在于,还包括:
所述主节点实时监测容器的运行情况,若容器出现异常,则发出第二容器创建请求,其中,所述第二容器创建请求中包含异常容器对应的IP地址声明;根据所述第二容器创建请求,将新容器调度至所述K8s的工作节点;根据所述第二容器创建请求及调度结果,生成新容器配置信息。
6.一种高密度容器网络部署系统,其特征在于,预先创建网络池子,其中,所述网络池子中指定有IP段、VLAN、网关,所述高密度容器部署系统包括:K8s的主节点及工作节点;
所述主节点,用于从网络池子中获取一IP地址并创建IP地址声明;发出包含所述IP地址声明的第一容器创建请求;根据所述第一容器创建请求,将新容器调度至所述K8s的工作节点;根据所述第一容器创建请求及调度结果,生成新容器配置信息;
所述工作节点,用于根据所述新容器配置信息,获取新容器的IP地址、VLAN、网关;在本工作节点的虚拟交换机上创建虚拟网口,生成mac地址;建立新容器的IP地址、VLAN、网关及mac地址之间的关联关系。
7.一种K8s主节点侧的高密度容器网络部署方法,其特征在于,包括:
从网络池子中获取一IP地址并创建IP地址声明;
发出第一容器创建请求,其中,所述第一容器创建请求中包含所述IP地址声明;
根据所述第一容器创建请求,将新容器调度至所述K8s的工作节点;
根据所述第一容器创建请求及调度结果,生成新容器配置信息。
8.一种K8s主节点侧的高密度容器网络部署装置,其特征在于,包括:
获取模块,用于从网络池子中获取一IP地址并创建IP地址声明;
容器创建请求模块,用于发出第一容器创建请求,其中,所述第一容器创建请求中包含所述IP地址声明;
调度模块,用于根据所述第一容器创建请求,将新容器调度至所述K8s的工作节点;
配置模块,用于根据所述第一容器创建请求及调度结果,生成新容器配置信息。
9.一种K8s工作节点侧的高密度容器网络部署方法,其特征在于,包括:
监测是否调度到本工作节点的新容器配置信息;
若有调度到本工作节点的新容器配置信息,则根据本工作节点的新容器配置信息,获取新容器的IP地址、VLAN、网关;
在本工作节点的虚拟交换机上创建虚拟网口,生成mac地址;
建立新容器的IP地址、VLAN、网关及mac地址之间的关联关系。
10.一种K8s工作节点侧的高密度容器网络部署装置,其特征在于,包括:
监测模块,用于监测是否调度到本工作节点的新容器配置信息;
引擎模块,用于若有调度到本工作节点的新容器配置信息,则根据本工作节点的新容器配置信息,获取新容器的IP地址、VLAN、网关;
创建模块,用于在本工作节点的虚拟交换机上创建虚拟网口,生成mac地址;
配置模块,用于建立新容器的IP地址、VLAN、网关及mac地址之间的关联关系。
11.一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,其特征在于,所述计算机程序被所述处理器运行时,执行根据权利要求7或9所述方法的指令。
12.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被计算机设备的处理器运行时,执行根据权利要求7或9所述方法的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110477114.5A CN113067739B (zh) | 2021-04-29 | 2021-04-29 | 一种高密度容器网络部署方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110477114.5A CN113067739B (zh) | 2021-04-29 | 2021-04-29 | 一种高密度容器网络部署方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113067739A CN113067739A (zh) | 2021-07-02 |
CN113067739B true CN113067739B (zh) | 2022-08-30 |
Family
ID=76567960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110477114.5A Active CN113067739B (zh) | 2021-04-29 | 2021-04-29 | 一种高密度容器网络部署方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113067739B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113810230B (zh) * | 2021-09-16 | 2024-06-25 | 广州虎牙科技有限公司 | 对容器集群中的容器进行网络配置的方法、装置及系统 |
CN114640633B (zh) * | 2022-03-29 | 2024-04-05 | 京东科技信息技术有限公司 | 负载均衡器及其实现方法、负载均衡的方法、网关系统 |
CN116233070A (zh) * | 2023-03-20 | 2023-06-06 | 北京奇艺世纪科技有限公司 | 一种集群静态ip地址的分配系统及分配方法 |
CN117640546A (zh) * | 2023-11-28 | 2024-03-01 | 北京中科腾越科技发展有限公司 | 基于源mac地址扩展网口的方法、装置和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017131285A1 (ko) * | 2016-01-25 | 2017-08-03 | 쿨클라우드(주) | 컨테이너 네트워크 관리 시스템 및 컨테이너 네트워킹 방법 |
CN107566541A (zh) * | 2017-08-03 | 2018-01-09 | 携程旅游信息技术(上海)有限公司 | 容器网络资源分配方法、系统、存储介质和电子设备 |
CN107592225A (zh) * | 2017-09-13 | 2018-01-16 | 国云科技股份有限公司 | 一种融合物理机、虚拟机与容器网络设置的系统及方法 |
CN111787126A (zh) * | 2020-08-07 | 2020-10-16 | 北京凌云雀科技有限公司 | 容器创建方法、服务器及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8260588B2 (en) * | 2009-10-16 | 2012-09-04 | Oracle America, Inc. | Virtualizing complex network topologies |
US10454824B2 (en) * | 2018-03-01 | 2019-10-22 | Nicira, Inc. | Generic communication channel for information exchange between a hypervisor and a virtual machine |
-
2021
- 2021-04-29 CN CN202110477114.5A patent/CN113067739B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017131285A1 (ko) * | 2016-01-25 | 2017-08-03 | 쿨클라우드(주) | 컨테이너 네트워크 관리 시스템 및 컨테이너 네트워킹 방법 |
CN107566541A (zh) * | 2017-08-03 | 2018-01-09 | 携程旅游信息技术(上海)有限公司 | 容器网络资源分配方法、系统、存储介质和电子设备 |
CN107592225A (zh) * | 2017-09-13 | 2018-01-16 | 国云科技股份有限公司 | 一种融合物理机、虚拟机与容器网络设置的系统及方法 |
CN111787126A (zh) * | 2020-08-07 | 2020-10-16 | 北京凌云雀科技有限公司 | 容器创建方法、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113067739A (zh) | 2021-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113067739B (zh) | 一种高密度容器网络部署方法及系统 | |
US11119739B1 (en) | Executable programs representing firewall rules for evaluating data packets | |
CN107566541B (zh) | 容器网络资源分配方法、系统、存储介质和电子设备 | |
US10505796B2 (en) | Network function virtualization | |
CN110710168B (zh) | 跨隔离的网络堆栈的智能线程管理 | |
US9967136B2 (en) | System and method for policy-based smart placement for network function virtualization | |
CN111880902A (zh) | 一种pod创建方法、装置、设备及可读存储介质 | |
US8370481B2 (en) | Inventory management in a computing-on-demand system | |
CN110719209B (zh) | 一种集群网络配置方法、系统、设备及可读存储介质 | |
CN107707622A (zh) | 一种访问桌面云虚拟机的方法、装置及桌面云控制器 | |
CN114172905B (zh) | 一种集群网络组网的方法、装置、计算机设备及存储介质 | |
US11563799B2 (en) | Peripheral device enabling virtualized computing service extensions | |
EP3442201B1 (en) | Cloud platform construction method and cloud platform | |
DE102018202432A1 (de) | Strukturunterstützung für die Dienstgüte | |
CN107402956A (zh) | 大任务的数据处理方法、设备和计算机可读存储介质 | |
CN109309585A (zh) | 一种日志收集方法、装置以及设备 | |
US11915051B2 (en) | Allocating resources for network function virtualization | |
CN114979286B (zh) | 容器服务的访问控制方法、装置、设备及计算机存储介质 | |
CN109286617B (zh) | 一种数据处理方法及相关设备 | |
CN114745377B (zh) | 边缘云集群服务系统及实现方法 | |
CN109995571A (zh) | 服务器配置与vnf应用匹配的方法及装置 | |
CN113656181A (zh) | 一种实时应用集群实例资源的发放方法及装置 | |
CN113535370A (zh) | 一种实现负载均衡的多rdma网卡虚拟化的方法、设备 | |
CN111698141A (zh) | 报文的转发方法及装置 | |
CN109617954A (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 |