CN111147297A - 一种kubernetes的多层网络平面构建方法 - Google Patents
一种kubernetes的多层网络平面构建方法 Download PDFInfo
- Publication number
- CN111147297A CN111147297A CN201911352429.6A CN201911352429A CN111147297A CN 111147297 A CN111147297 A CN 111147297A CN 201911352429 A CN201911352429 A CN 201911352429A CN 111147297 A CN111147297 A CN 111147297A
- Authority
- CN
- China
- Prior art keywords
- network
- cni
- server nodes
- pod
- server
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- 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/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- 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
- 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
-
- 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
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/4557—Distribution of virtual machine instances; Migration and load balancing
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种kubernetes的多层网络平面构建方法,包括:根据预设的业务性能需求对服务器节点进行配置,以完成服务器物理环境的搭建;对所有的服务器节点部署平台所需基本软件;部署Multus CNI插件,以使Pod支持多网卡启动;对Macvlan CNI插件中的cmdAdd函数和cmdDel函数进行源码修改并编译后存储到所有服务器节点的bin目录下;编辑驱动定义文件,以使服务器网卡支持SRIOV功能,继而构建并编译SRIOV CNI源码并将编译生成的目标文件存储到所有服务器节点的bin目录下;对Pod启动文件进行多网卡配置并指定Pod的IP地址。本发明针对Kubernetes的管理网络平面、业务的控制平面、业务的数据平面做了详细的设计和隔离方案,从而有效加深了Kubernetes平台与CT领域的融合。
Description
技术领域
本发明涉及云计算网络技术领域,尤其是涉及一种kubernetes的多层网络平面构建方法。
背景技术
随着云数据中心以及用户规模的逐渐扩大,对优秀的容器编排系统的需求也日益迫切,Kubernetes作为谷歌十几年以来大规模应用容器技术的经验积累和升华的重要成果,其源码一经开源就一鸣惊人,并迅速称霸容器领域。
随着容器技术在企业生产的逐步落地,用户对容器云的网络特性的要求也越来越高。跨主机容器间的网络已经成为基本需求,更高的要求包括容器固定IP地址、一个容器多个IP地址、多个子网隔离、外部设备能够和Pod内部直连并管理其IP地址等等。在Kubernetes整体架构中,网络部分的实现相对灵活,针对特定的环境和要求,其实现上也会根据需求不同实施不同的网络方案。容器网络接口(Container Network Interface,简称CNI)作为已经被Kubernetes项目采纳的网络规范,它提供了一种应用容器的插件化网络解决方案,定义对容器网络进行操作和配置的规范。由于CNI仅关注在创建时分配网络资源,和销毁容器时删除网络资源,这使得CNI规范非常轻巧、易于实现、得到广泛的支持。
现有的Kubernetes方案更集中于互联网技术(Internet Technology,简称IT)领域,以微服务的方式对外提供服务。但是,通信技术(Communication Technology:简称CT)领域的设备或者功能虚拟化后部署在Kubernetes平台上,传统Kubernetes网络方案难以解决CT设备特有的多层网络平面的问题,Kubernetes平台与CT领域的融合度较差。
发明内容
本发明实施例所要解决的技术问题在于,提供一种kubernetes的多层网络平面构建方法,旨在解决Kubernetes平台与CT领域的融合度较差的问题。
为了解决上述技术问题,本发明实施例提供了一种kubernetes的多层网络平面构建方法,包括:
根据预设的业务性能需求对服务器节点进行配置,以完成服务器物理环境的搭建;其中,所述服务器节点包括Master服务器节点和Node服务器节点;
对所有的服务器节点部署平台所需基本软件;其中,所述平台所需基本软件包括docker服务、CNI网络插件、kubectl软件、kubelet软件和kubeadm软件;
部署Multus CNI插件,以使Pod支持多网卡启动;
对Macvlan CNI插件中的cmdAdd函数和cmdDel函数进行源码修改,并将修改后的源码进行编译后存储到所有服务器节点的bin目录下,以使所述Macvlan CNI插件对Pod启动时的指定地址进行管理;
编辑驱动定义文件,以使服务器网卡支持SRIOV功能,继而构建并编译SRIOV CNI源码并将编译生成的目标文件存储到所有服务器节点的bin目录下;
对Pod启动文件进行多网卡配置并指定Pod的IP地址后,启动Pod。
进一步地,所述对所有的服务器节点部署平台所需基本软件,具体包括:
将docker安装包解压到所有服务器节点的bin目录下,并编辑docker.service文件,以将所述docker服务部署到所有的服务器节点中;
将CNI安装包解压到所有服务器节点的bin目录下,以将所述CNI网络插件部署到所有的服务器节点中;
使用预设的软件安装指令将所述kubectl软件、所述kubelet软件和所述kubeadm软件部署到所有服务器节点中。
进一步地,所述对所有的服务器节点部署平台所需基本软件,还包括:
所述Master服务器节点通过kubeadm init命令对kubernetes平台环境进行初始化,并通过kubeadm join命令将所述Node服务器节点添加到Kubernetes平台以作为容器的调度节点。
进一步地,所述对所有的服务器节点部署平台所需基本软件,还包括:
使用kubectl apply命令对flannel网络进行部署,以构建kubernetes的管理网络平面。
进一步地,所述部署Multus CNI插件,以使Pod支持多网卡启动,具体包括:
使用build命令对所述Multus CNI插件的源码进行编译,并将编译生成的目标文件拷贝到所有服务器节点的bin目录下,以使Pod支持多网卡启动。
进一步地,在所述对Macvlan CNI插件中的cmdAdd函数和cmdDel函数进行源码修改,并将修改后的源码进行编译后存储到所有服务器节点的bin目录下,以使所述MacvlanCNI插件对Pod启动时的指定地址进行管理之后,在所述编辑驱动定义文件之前,还包括:
使用预设的自定义网络资源对象创建Macvlan网络配置,并将所述CNI网络插件的使用类型设为Macvlan。
进一步地,在所述编辑驱动定义文件,以使服务器网卡支持SRIOV功能,继而构建并编译SRIOV CNI源码并将编译生成的目标文件存储到所有服务器节点的bin目录下之后,在所述对Pod启动文件进行多网卡配置之前,还包括:
使用预设的自定义网络资源对象创建DPDK SRIOV网络配置,并将所述CNI网络插件的使用类型设为SRIOV。
进一步地,所述Master服务器节点的个数至少为1,所述Node服务器节点的个数至少为1。
与现有技术相比,本发明具有如下有益效果:
本发明实施例提供了一种kubernetes的多层网络平面构建方法,包括:根据预设的业务性能需求对服务器节点进行配置,以完成服务器物理环境的搭建;其中,所述服务器节点包括Master服务器节点和Node服务器节点;对所有的服务器节点部署平台所需基本软件;其中,所述平台所需基本软件包括docker服务、CNI网络插件、kubectl软件、kubelet软件和kubeadm软件;部署Multus CNI插件,以使Pod支持多网卡启动;对Macvlan CNI插件中的cmdAdd函数和cmdDel函数进行源码修改,并将修改后的源码进行编译后存储到所有服务器节点的bin目录下,以使所述Macvlan CNI插件对Pod启动时的指定地址进行管理;编辑驱动定义文件,以使服务器网卡支持SRIOV功能,继而构建并编译SRIOV CNI源码并将编译生成的目标文件存储到所有服务器节点的bin目录下;对Pod启动文件进行多网卡配置并指定Pod的IP地址后,启动Pod。
本发明针对Kubernetes的管理网络平面、业务的控制平面、业务的数据平面做了详细的设计和隔离方案,采用Multus CNI插件使得Pod多网卡方案成为可能;此外,根据业务数据平面的需要,在三层平面的基础上,可以增加多个平行的数据平面的网口,以满足特殊情况的大流量业务,也可以根据业务的功能不同增加Pod的数据平面的网络接口,从而有效加深了Kubernetes平台与CT领域的融合。
附图说明
图1是本发明一实施例提供的kubernetes的多层网络平面构建方法的流程示意图;
图2是本发明一实施例提供的kubernetes物理拓扑配置示意图;
图3是本发明一实施例提供的Pod启动时增加多网口的工作流程示意图;
图4是本发明一实施例提供的多网络层面的具体实施方案示意图;
图5是本发明一实施例提供的主机内Pod的网卡数已经和实际物理网卡的对应关系示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,本发明实施例提供了一种kubernetes的多层网络平面构建方法,包括步骤:
S1、根据预设的业务性能需求对服务器节点进行配置,以完成服务器物理环境的搭建;其中,所述服务器节点包括Master服务器节点和Node服务器节点。
在本发明实施例中,进一步地,所述Master服务器节点的个数至少为1,所述Node服务器节点的个数至少为1。
S2、对所有的服务器节点部署平台所需基本软件;其中,所述平台所需基本软件包括docker服务、CNI网络插件、kubectl软件、kubelet软件和kubeadm软件。
在本发明实施例中,进一步地,步骤S2具体包括步骤:
S210、将docker安装包解压到所有服务器节点的bin目录下,并编辑docker.service文件,以将所述docker服务部署到所有的服务器节点中;
S220、将CNI安装包解压到所有服务器节点的bin目录下,以将所述CNI网络插件部署到所有的服务器节点中;
S230、使用预设的软件安装指令将所述kubectl软件、所述kubelet软件和所述kubeadm软件部署到所有服务器节点中。
在本发明实施例中,进一步地,步骤S2还包括步骤:
S240、所述Master服务器节点通过kubeadm init命令对kubernetes平台环境进行初始化,并通过kubeadm join命令将所述Node服务器节点添加到Kubernetes平台以作为容器的调度节点。
在本发明实施例中,进一步地,步骤S2还包括步骤:
S250、使用kubectl apply命令对flannel网络进行部署,以构建kubernetes的管理网络平面。
S3、部署Multus CNI插件,以使Pod支持多网卡启动。
在本发明实施例中,进一步地,步骤S3具体包括:
使用build命令对所述Multus CNI插件的源码进行编译,并将编译生成的目标文件拷贝到所有服务器节点的bin目录下,以使Pod支持多网卡启动。
S4、对Macvlan CNI插件中的cmdAdd函数和cmdDel函数进行源码修改,并将修改后的源码进行编译后存储到所有服务器节点的bin目录下,以使所述Macvlan CNI插件对Pod启动时的指定地址进行管理。
在本发明实施例中,进一步地,所述方法还包括:
使用预设的自定义网络资源对象创建Macvlan网络配置,并将所述CNI网络插件的使用类型设为Macvlan。
S5、编辑驱动定义文件,以使服务器网卡支持SRIOV功能,继而构建并编译SRIOVCNI源码并将编译生成的目标文件存储到所有服务器节点的bin目录下。
在本发明实施例中,进一步地,所述方法还包括:
使用预设的自定义网络资源对象创建DPDK SRIOV网络配置,并将所述CNI网络插件的使用类型设为SRIOV。
S6、对Pod启动文件进行多网卡配置并指定Pod的IP地址后,启动Pod。
相比于现有技术,本发明具有如下有益效果:
本发明针对Kubernetes的管理网络平面、业务的控制平面、业务的数据平面做了详细的设计和隔离方案。采用Multus CNI插件使得Pod多网卡方案成为可能。针对管理网络平面,由于业务的大流量报文均可以分流到业务的数据平面,所以采用Flannel或者Calico等Kubernetes平台已经非常成熟的网络方案。针对业务控制平面,采用改进的Macvlan方案,使用bridge模式部署,让连在Macvlan物理接口的外部设备也可以达到直连Pod容器的效果。并且,参考Calico方案源码修改Macvlan方案,使它支持在启动容器的时候固定Pod的IP地址,满足了一些特定情况下,业务需要指定IP地址启动或修改IP地址的需求。针对业务的数据平面,采用数据平面开发套件(Data Plane Development Kit:简称DPDK)以及单根I/O虚拟化(Single Root I/O Virtualization:简称SRIOV)插件的方式部署,使它满足业务数据流比较大的情况对Pod网口性能的要求。此外,根据业务数据平面的需要,在三层平面的基础上,可以增加多个平行的数据平面的网口,以满足特殊情况的大流量业务。也可以根据业务的功能不同增加Pod的数据平面的网络接口。
以下结合附图对本发明的实施方式进行具体举例说明:
如图2所示的Kubernetes物理拓扑情况,用二层交换机汇聚各个网络层面的数据流量(二层交换机用网线连上每个服务器的网口,开机即可,不需要任何配置)。
步骤101:设置用于部署Master节点的服务数为M=1(M≥1),用于部署服务的Node节点服务器个数N=2(N≥1)。
其中,M为根据kubernetes集群的高可用,成本等方面考虑设置,至少设置为1,工程上一般设置3至5个。N的大小则需要考虑业务包含的容器大小,服务器性能,成本等各方面因素,至少为1。考虑比较典型集群结构,1个Master节点,2个Node节点,所以这里M设置为1,N设置为2。
搭建好如图2所示的服务器物理网络拓扑之后,包含Master和Node的所有节点,接下来安装Kubernetes平面基本软件依赖环境,详细步骤如下所示:
步骤201:所有服务器部署docker服务,具体将docker安装包解压到/usr/bin目录,编辑docker.service文件,使用systemctl start docker启动docker服务。
步骤202:所有服务器部署CNI网络插件,具体将CNI安装包解压到三台服务器的/opt/cni/bin目录下。
步骤203:所有服务器部署kubectl、kubelet、kubeadm;具体使用sudo yuminstall kubectl kubelet kubeadm进行安装。kubernetes平台后续初始化以及使用过程依赖这3种软件,使用centos的yum解决各个软件本身依赖问题。
步骤204:在Master服务器上使用kubeadm init初始化kubernetes平台环境。在运行kubeadminit命令后,会打印出kubeadm join的相关命令,kubeadm join命令表示向该kubernetes平台中添加Node节点。因此,用kubeadm join将预先设置的2台Node节点服务器添加到Kubernetes平台作为容器的调度节点;
步骤205:kubectl apply–f kube-flannel.yaml命令可以将Flannel相关配置应用到Flannel相关Pod。使用kubectl apply部署Flannel网络,作为Kubernetes的管理网络平面;
根据以上步骤101-205之后,基本的Kubernetes平台已经搭建完成。为了使Pod支持多网卡启动,需要部署Multi CNI。同时,如图3所示是Pod启动时增加多网口的工作流程。如图4所示给出了多网络层面的具体实施方案,具体步骤如下:
步骤301:使用./build命令编译Multus CNI的源码。
步骤302:使用cpmultus/opt/cni/bin命令将步骤301生成的目标文件拷贝到Master和Node服务器的/opt/cni/bin目录下。
步骤401:修改macvlan.go里面cmdAdd()函数,增加判断条件,当Pod的配置文件中指定了Pod的IP地址时,使用指定IP,否则从IPAM(Internet Potocol AddressManagement)获取,其中IPAM为步骤202中CNI的功能,可以为Pod分配IP地址;
步骤402:修改macvlan.go里面cmdDel函数,当外部指定了Pod的IP地址时,删除指定的IP地址,否则按照IPAM方式删除;
步骤403:编译步骤401和步骤402修改之后的源码;
步骤404:将步骤403生成的目标文件放到所有服务器的/opt/cni/bin目录以备调用;
步骤405:使用用户自定义网络资源对象创建改进的Macvlan网络配置,cni的type设置为Macvlan,以备Pod调用。其中type表示CNI设置要使用的网络插件类型。
步骤501:使能网卡的SRIOV功能。具体为编辑/etc/modprobe.conf文件,设置options ixgbemax_vfs=8,8。
步骤502:使用make命令构建SRIOV CNI的源码。(步骤501是硬件上网卡支持SRIOV功能,502是使SRIOV软件作为CNI的插件供Kubernetes调用)
步骤503:将步骤502生成的目标文件放到所有服务器/opt/cni/bin目录下以备调用。
步骤504:使用用户自定义网络资源对象创建DPDK SRIOV网络配置,CNI的type设置为SRIOV,并设置DPDK-TOOL,创建SRIOV DPDK网络配置,以备Pod调用。
图5为主机内Pod的网卡数已经和实际物理网卡的对应关系,具体设置ethN中的N为3。经过步骤301至504之后,为Pod添加Macvlan以及DPDK SRIOV网口准备了自定义网资源对象。
步骤601:设置业务相关Pod的配置文件,在其Network参数下增加MacvlanPlugin以及SRIOV DPDK Plugin作为Pod的网卡,并指定Pod的IP地址。
步骤602:使用kubectl apply命令将相关配置应用到业务相关Pod,并启动该Pod。
需要说明的是,本发明实施例从网络的管理层面,控制层面,数据层面做了详细的网络方案设计。针对管理平面,由于流量的不大采用技术较为成熟的flannel网络方案;针对控制平面,修改了Macvlan的源代码,使它能够在Pod启动的时候设置IP地址,并在运行过程中根据业务需要修改Pod的IP,Kubernetes自愈功能不改变该IP地址,保证外部设备直连Pod容器的稳定性,也提供了一种外部设备通过IP访问Pod的方法。数据平面,采用dpdk-sriov的方式,保证了容器与外部设备的直通特性,可以满足大流量业务的性能要求。
需要说明的是,对于以上方法或流程实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作并不一定是本发明实施例所必须的。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (8)
1.一种kubernetes的多层网络平面构建方法,其特征在于,包括:
根据预设的业务性能需求对服务器节点进行配置,以完成服务器物理环境的搭建;其中,所述服务器节点包括Master服务器节点和Node服务器节点;
对所有的服务器节点部署平台所需基本软件;其中,所述平台所需基本软件包括docker服务、CNI网络插件、kubectl软件、kubelet软件和kubeadm软件;
部署Multus CNI插件,以使Pod支持多网卡启动;
对Macvlan CNI插件中的cmdAdd函数和cmdDel函数进行源码修改,并将修改后的源码进行编译后存储到所有服务器节点的bin目录下,以使所述Macvlan CNI插件对Pod启动时的指定地址进行管理;
编辑驱动定义文件,以使服务器网卡支持SRIOV功能,继而构建并编译SRIOV CNI源码并将编译生成的目标文件存储到所有服务器节点的bin目录下;
对Pod启动文件进行多网卡配置并指定Pod的IP地址后,启动Pod。
2.根据权利要求1所述的kubernetes的多层网络平面构建方法,其特征在于,所述对所有的服务器节点部署平台所需基本软件,具体包括:
将docker安装包解压到所有服务器节点的bin目录下,并编辑docker.service文件,以将所述docker服务部署到所有的服务器节点中;
将CNI安装包解压到所有服务器节点的bin目录下,以将所述CNI网络插件部署到所有的服务器节点中;
使用预设的软件安装指令将所述kubectl软件、所述kubelet软件和所述kubeadm软件部署到所有服务器节点中。
3.根据权利要求2所述的kubernetes的多层网络平面构建方法,其特征在于,所述对所有的服务器节点部署平台所需基本软件,还包括:
所述Master服务器节点通过kubeadminit命令对kubernetes平台环境进行初始化,并通过kubeadm join命令将所述Node服务器节点添加到Kubernetes平台以作为容器的调度节点。
4.根据权利要求3所述的kubernetes的多层网络平面构建方法,其特征在于,所述对所有的服务器节点部署平台所需基本软件,还包括:
使用kubectl apply命令对flannel网络进行部署,以构建kubernetes的管理网络平面。
5.根据权利要求1所述的kubernetes的多层网络平面构建方法,其特征在于,所述部署Multus CNI插件,以使Pod支持多网卡启动,具体包括:
使用build命令对所述Multus CNI插件的源码进行编译,并将编译生成的目标文件拷贝到所有服务器节点的bin目录下,以使Pod支持多网卡启动。
6.根据权利要求1所述的kubernetes的多层网络平面构建方法,其特征在于,在所述对Macvlan CNI插件中的cmdAdd函数和cmdDel函数进行源码修改,并将修改后的源码进行编译后存储到所有服务器节点的bin目录下,以使所述Macvlan CNI插件对Pod启动时的指定地址进行管理之后,在所述编辑驱动定义文件之前,还包括:
使用预设的自定义网络资源对象创建Macvlan网络配置,并将所述CNI网络插件的使用类型设为Macvlan。
7.根据权利要求1所述的kubernetes的多层网络平面构建方法,其特征在于,在所述编辑驱动定义文件,以使服务器网卡支持SRIOV功能,继而构建并编译SRIOV CNI源码并将编译生成的目标文件存储到所有服务器节点的bin目录下之后,在所述对Pod启动文件进行多网卡配置之前,还包括:
使用预设的自定义网络资源对象创建DPDK SRIOV网络配置,并将所述CNI网络插件的使用类型设为SRIOV。
8.根据权利要求1所述的kubernetes的多层网络平面构建方法,其特征在于,所述Master服务器节点的个数至少为1,所述Node服务器节点的个数至少为1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911352429.6A CN111147297B (zh) | 2019-12-23 | 2019-12-23 | 一种kubernetes的多层网络平面构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911352429.6A CN111147297B (zh) | 2019-12-23 | 2019-12-23 | 一种kubernetes的多层网络平面构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111147297A true CN111147297A (zh) | 2020-05-12 |
CN111147297B CN111147297B (zh) | 2022-07-15 |
Family
ID=70519804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911352429.6A Active CN111147297B (zh) | 2019-12-23 | 2019-12-23 | 一种kubernetes的多层网络平面构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111147297B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111740869A (zh) * | 2020-08-19 | 2020-10-02 | 广东省新一代通信与网络创新研究院 | 基于物理网卡的kubernetes网络实现方法、系统、设备及介质 |
CN112130957A (zh) * | 2020-09-11 | 2020-12-25 | 烽火通信科技股份有限公司 | 一种容器突破虚拟化隔离使用智能网卡的方法与系统 |
CN112398936A (zh) * | 2020-11-06 | 2021-02-23 | 浪潮云信息技术股份公司 | 一种基于Kubernetes的多网卡容器实现方法及系统 |
CN112637135A (zh) * | 2020-12-04 | 2021-04-09 | 同盾控股有限公司 | 基于macvlan的主机网络隔离的方法、装置及系统 |
CN113014453A (zh) * | 2021-03-03 | 2021-06-22 | 上海天旦网络科技发展有限公司 | k8s中基于DPDK的数据包回放方法、系统及介质 |
CN113127152A (zh) * | 2021-04-09 | 2021-07-16 | 浪潮软件科技有限公司 | 实现kubernetes容器多网络平面的方法及装置 |
CN113220422A (zh) * | 2021-06-03 | 2021-08-06 | 上海天旦网络科技发展有限公司 | 基于K8s中CNI插件的运行时修改Pod网络接口的方法及系统 |
CN114035901A (zh) * | 2021-11-16 | 2022-02-11 | 湖北亿咖通科技有限公司 | 用于运行进程的容器的构建方法、装置和电子设备 |
CN114500279A (zh) * | 2021-12-30 | 2022-05-13 | 天翼云科技有限公司 | 一种插件配置方法及装置 |
CN114915609A (zh) * | 2021-01-29 | 2022-08-16 | 中国电信股份有限公司 | 容器多网络平面适配方法和装置 |
EP4054150A1 (en) * | 2021-03-01 | 2022-09-07 | Juniper Networks, Inc. | Container networking interface for multiple types of interfaces |
CN115314353A (zh) * | 2022-08-10 | 2022-11-08 | 中电云数智科技有限公司 | 一种基于kubernetes实现单pod多网卡的装置和方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107580083A (zh) * | 2017-09-20 | 2018-01-12 | 北京京东尚科信息技术有限公司 | 一种容器ip地址分配的方法和系统 |
CN108874779A (zh) * | 2018-06-21 | 2018-11-23 | 东北大学 | 基于K8s集群建立的依图写诗系统的控制方法 |
CN109392020A (zh) * | 2018-10-26 | 2019-02-26 | 中山大学 | 一种面向5g移动网络的资源管理平台 |
CN109947452A (zh) * | 2019-03-26 | 2019-06-28 | 南京联创信息科技有限公司 | 一种Kubernetes容器平台应用更新方法 |
CN110297670A (zh) * | 2019-05-17 | 2019-10-01 | 北京瀚海星云科技有限公司 | 一种提高容器云上分布式任务训练效率的方法及系统 |
-
2019
- 2019-12-23 CN CN201911352429.6A patent/CN111147297B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107580083A (zh) * | 2017-09-20 | 2018-01-12 | 北京京东尚科信息技术有限公司 | 一种容器ip地址分配的方法和系统 |
CN108874779A (zh) * | 2018-06-21 | 2018-11-23 | 东北大学 | 基于K8s集群建立的依图写诗系统的控制方法 |
CN109392020A (zh) * | 2018-10-26 | 2019-02-26 | 中山大学 | 一种面向5g移动网络的资源管理平台 |
CN109947452A (zh) * | 2019-03-26 | 2019-06-28 | 南京联创信息科技有限公司 | 一种Kubernetes容器平台应用更新方法 |
CN110297670A (zh) * | 2019-05-17 | 2019-10-01 | 北京瀚海星云科技有限公司 | 一种提高容器云上分布式任务训练效率的方法及系统 |
Non-Patent Citations (3)
Title |
---|
庞涛: "开源深度学习框架发展现状与趋势研究", 《互联网天地》, no. 04, 20 April 2018 (2018-04-20) * |
盛乐标等: "Kubernetes高可用集群的部署实践", 《电脑知识与技术》, no. 26, 15 September 2018 (2018-09-15) * |
迷失0: "Kubernetes Multus-CNI", 《CSDN》, 9 February 2019 (2019-02-09) * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111740869B (zh) * | 2020-08-19 | 2021-01-08 | 广东省新一代通信与网络创新研究院 | 基于物理网卡的kubernetes网络实现方法、系统、设备及介质 |
CN111740869A (zh) * | 2020-08-19 | 2020-10-02 | 广东省新一代通信与网络创新研究院 | 基于物理网卡的kubernetes网络实现方法、系统、设备及介质 |
CN112130957A (zh) * | 2020-09-11 | 2020-12-25 | 烽火通信科技股份有限公司 | 一种容器突破虚拟化隔离使用智能网卡的方法与系统 |
CN112130957B (zh) * | 2020-09-11 | 2023-04-18 | 烽火通信科技股份有限公司 | 一种容器突破虚拟化隔离使用智能网卡的方法与系统 |
CN112398936A (zh) * | 2020-11-06 | 2021-02-23 | 浪潮云信息技术股份公司 | 一种基于Kubernetes的多网卡容器实现方法及系统 |
CN112637135A (zh) * | 2020-12-04 | 2021-04-09 | 同盾控股有限公司 | 基于macvlan的主机网络隔离的方法、装置及系统 |
CN114915609A (zh) * | 2021-01-29 | 2022-08-16 | 中国电信股份有限公司 | 容器多网络平面适配方法和装置 |
EP4054150A1 (en) * | 2021-03-01 | 2022-09-07 | Juniper Networks, Inc. | Container networking interface for multiple types of interfaces |
US11743182B2 (en) | 2021-03-01 | 2023-08-29 | Juniper Networks, Inc. | Container networking interface for multiple types of interfaces |
CN113014453A (zh) * | 2021-03-03 | 2021-06-22 | 上海天旦网络科技发展有限公司 | k8s中基于DPDK的数据包回放方法、系统及介质 |
CN113127152A (zh) * | 2021-04-09 | 2021-07-16 | 浪潮软件科技有限公司 | 实现kubernetes容器多网络平面的方法及装置 |
CN113220422B (zh) * | 2021-06-03 | 2022-09-30 | 上海天旦网络科技发展有限公司 | 基于K8s中CNI插件的运行时修改Pod网络接口的方法及系统 |
CN113220422A (zh) * | 2021-06-03 | 2021-08-06 | 上海天旦网络科技发展有限公司 | 基于K8s中CNI插件的运行时修改Pod网络接口的方法及系统 |
CN114035901A (zh) * | 2021-11-16 | 2022-02-11 | 湖北亿咖通科技有限公司 | 用于运行进程的容器的构建方法、装置和电子设备 |
CN114500279A (zh) * | 2021-12-30 | 2022-05-13 | 天翼云科技有限公司 | 一种插件配置方法及装置 |
CN114500279B (zh) * | 2021-12-30 | 2024-03-08 | 天翼云科技有限公司 | 一种插件配置方法及装置 |
CN115314353A (zh) * | 2022-08-10 | 2022-11-08 | 中电云数智科技有限公司 | 一种基于kubernetes实现单pod多网卡的装置和方法 |
CN115314353B (zh) * | 2022-08-10 | 2023-09-19 | 中电云数智科技有限公司 | 一种基于kubernetes实现单pod多网卡的装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111147297B (zh) | 2022-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111147297B (zh) | 一种kubernetes的多层网络平面构建方法 | |
US10838747B2 (en) | Virtual appliances | |
US10133485B2 (en) | Integrating storage resources from storage area network in machine provisioning platform | |
JP6170237B2 (ja) | サービスプロバイダネットワークにおけるプライベート仮想ネットワークの自動作成 | |
WO2018205325A1 (zh) | 在异构资源上构建内容分发网络平台的方法和系统 | |
CN111857873A (zh) | 一种实现云原生容器网络的方法 | |
US20100115070A1 (en) | Method for generating manipulation requests of an initialization and administration database of server cluster, data medium and corresponding a server cluster, data medium and corresponding service cluster | |
CN111934918A (zh) | 对同一容器集群内的容器实例的网络隔离方法和装置 | |
US20110131304A1 (en) | Systems and methods for mounting specified storage resources from storage area network in machine provisioning platform | |
CN114237812A (zh) | 容器网络管理系统 | |
CN106031116A (zh) | 一种ns与vnf的关联方法、装置及系统 | |
WO2016106486A1 (en) | Method and apparatus for configuring a communication system | |
CN113504954A (zh) | 调用CSI LVM Plugin插件、动态持久卷供应的方法、系统及介质 | |
CN111104201A (zh) | 系统迁移方法和装置、电子设备、存储介质 | |
CN112579008A (zh) | 容器编排引擎的存储部署方法、装置、设备及存储介质 | |
CN108574613B (zh) | Sdn数据中心的二层互通方法及装置 | |
CN112600903B (zh) | 一种弹性虚拟网卡迁移方法 | |
CN103577122A (zh) | 分布式应用系统在平台间迁移的实现方法及装置 | |
CN111857973A (zh) | 一种应用资源访问方法及装置 | |
CN111857735A (zh) | 一种基于Rook部署Ceph的Crush创建方法及系统 | |
CN113419813B (zh) | 一种基于容器平台部署裸机管理服务的方法及装置 | |
CN106911741B (zh) | 一种虚拟化网管文件下载负载均衡的方法及网管服务器 | |
CN109218462B (zh) | 一种云数据中心物理主机的ip分配方法 | |
CN112565475B (zh) | 容器集群业务层添加新节点的ip地址分配方法 | |
CN107733717B (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 |