CN112104499B - 一种容器网络模型构建方法、装置、设备及介质 - Google Patents

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

Info

Publication number
CN112104499B
CN112104499B CN202010960439.4A CN202010960439A CN112104499B CN 112104499 B CN112104499 B CN 112104499B CN 202010960439 A CN202010960439 A CN 202010960439A CN 112104499 B CN112104499 B CN 112104499B
Authority
CN
China
Prior art keywords
resource
created
monitor
cluster
sdn controller
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
CN202010960439.4A
Other languages
English (en)
Other versions
CN112104499A (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.)
Inspur Cisco Networking Technology Co Ltd
Original Assignee
Inspur Cisco Networking Technology 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 Inspur Cisco Networking Technology Co Ltd filed Critical Inspur Cisco Networking Technology Co Ltd
Priority to CN202010960439.4A priority Critical patent/CN112104499B/zh
Publication of CN112104499A publication Critical patent/CN112104499A/zh
Application granted granted Critical
Publication of CN112104499B publication Critical patent/CN112104499B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (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监听器监听到K8S资源变化时,SDN控制器接收所述K8S监听器发送的发生变化的K8S资源,其中,所述变化的K8S资源包括创建K8S资源与删除K8S资源;SDN控制器将发生变化的K8S资源映射为Overlay网络的对应资源,以构建出容器网络模型,用于实现容器、虚拟机与裸金属服务器之间的通信,其中,所述容器网络模型包括K8S、SDN控制器以及Overlay网络,所述K8S包括K8S监听器与各类资源,所述Overlay网络包括交换机与核心设备。

Description

一种容器网络模型构建方法、装置、设备及介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种容器网络模型构建方法、装置、设备及介质。
背景技术
随着Docker容器技术的发展,Kubernetes(简称K8S)作为主流的容器编排引擎,具有更好的资源效率、更高的开发速度以及可移植性,用户使用kubernetes可以灵活的部署服务。由于K8S会创建数以千计的POD,现有的模型中存在路由管理复杂的问题。
发明内容
有鉴于此,本申请实施例提供了一种容器网络模型构建方法、装置、设备及介质,用于解决现有的模型中存在路由管理复杂的问题。
本申请实施例采用下述技术方案:
本申请实施例提供一种容器网络模型构建方法,所述方法包括:
在K8S监听器监听到K8S资源变化时,SDN控制器接收所述K8S监听器发送的发生变化的K8S资源,其中,所述变化的K8S资源包括创建K8S资源与删除K8S资源;
SDN控制器将发生变化的K8S资源映射为Overlay网络的对应资源,以构建出容器网络模型,用于实现容器、虚拟机与裸金属服务器之间的通信,其中,所述容器网络模型包括K8S、SDN控制器以及Overlay网络,所述K8S包括K8S监听器与各类资源,所述Overlay网络包括交换机与核心设备。
需要说明的是,本说明书实施例提出的一种容器网络模型构建方法,该方法在容器网络中引入SDN控制器,基于SDN控制器形成容器与虚拟机、裸金属服务器统一的网络管理,通过SDN控制器结合现有的硬件机制实现容器网络的Overlay网络,简化管理复杂性,可满足多场景下的容器网络与虚拟机以及裸金属服务器的互通需求,实现业务管理灵活性与网络管理简单性的有机结合。
进一步的,所述K8S资源包括K8S集群、NameSpace、集群子网以及POD。
进一步的,所述创建K8S资源为所述创建K8S集群时,在K8S监听器监听到K8S资源变化时,SDN控制器接收所述K8S监听器发送的发生变化的K8S资源,所述SDN控制器将发生变化的K8S资源映射为Overlay网络的对应资源,具体包括:
在所述K8S监听器监听到创建K8S集群时,SDN控制器接收到所述K8S监听器发送的有关创建K8S集群的通知,并在交换机上下发VRF,以将创建的K8S集群映射为虚拟路由器。
进一步的,所述创建K8S资源为所述创建NameSpace时,在K8S监听器监听到K8S资源变化时,SDN控制器接收所述K8S监听器发送的发生变化的K8S资源,所述SDN控制器将发生变化的K8S资源映射为Overlay网络的对应资源,具体包括:
在所述K8S监听器监听到创建NameSpace时,SDN控制器接收到所述K8S监听器发送的有关创建NameSpace的通知,并在交换机上下发交换机实现VLAN-VXLAN的映射以及BGP-EVPN基本配置,以将创建的NameSpace映射为虚拟网络。
进一步的,所述创建K8S资源为所述创建集群子网时,在K8S监听器监听到K8S资源变化时,SDN控制器接收所述K8S监听器发送的发生变化的K8S资源,所述SDN控制器将发生变化的K8S资源映射为Overlay网络的对应资源,具体包括:
在所述K8S监听器监听到创建集群子网时,SDN控制器接收到所述K8S监听器发送的有关创建集群子网的通知,并在交换机上下发子网网关配置,以将创建的集群子网映射为虚拟子网配置。
进一步的,所述创建K8S资源为所述创建POD时,在K8S监听器监听到K8S资源变化时,SDN控制器接收所述K8S监听器发送的发生变化的K8S资源,所述SDN控制器将发生变化的K8S资源映射为Overlay网络的对应资源,具体包括:
对应的NODE节点的kubelet接收到K8S发出的创建POD的请求时,所述kubelet调用SDN CNI插件,所述SDN CNI插件将创建的TAP口与预先创建的空白POD相连,并将对应的TAP口加入到OVS中,以将创建的POD映射为虚拟端口。
进一步的,所述交换机与OVS之间采用层次化端口绑定,以便在OVS上实现VLAN网络,在交换机上实现VXLAN网络,并在交换机的控制平面上运行BGP-EVPN协议。
本申请实施例还提供一种容器网络模型构建装置,所述装置包括:
监听单元,用于在K8S监听器监听到K8S资源变化时,SDN控制器接收所述K8S监听器发送的发生变化的K8S资源,其中,所述变化的K8S资源包括创建K8S资源与删除K8S资源;
构建单元,用于SDN控制器将发生变化的K8S资源映射为Overlay网络的对应资源,以构建出容器网络模型,用于实现容器、虚拟机与裸金属服务器之间的通信,其中,所述容器网络模型包括K8S、SDN控制器以及Overlay网络,所述K8S包括K8S监听器与各类资源,所述Overlay网络包括交换机与核心设备。
本申请实施例还提供一种容器网络模型构建设备,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
在K8S监听器监听到K8S资源变化时,SDN控制器接收所述K8S监听器发送的发生变化的K8S资源,其中,所述变化的K8S资源包括创建K8S资源与删除K8S资源;
SDN控制器将发生变化的K8S资源映射为Overlay网络的对应资源,以构建出容器网络模型,用于实现容器、虚拟机与裸金属服务器之间的通信,其中,所述容器网络模型包括K8S、SDN控制器以及Overlay网络,所述K8S包括K8S监听器与各类资源,所述Overlay网络包括交换机与核心设备。
本申请实施例还提供一种容器网络模型构建介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
在K8S监听器监听到K8S资源变化时,SDN控制器接收所述K8S监听器发送的发生变化的K8S资源,其中,所述变化的K8S资源包括创建K8S资源与删除K8S资源;
SDN控制器将发生变化的K8S资源映射为Overlay网络的对应资源,以构建出容器网络模型,用于实现容器、虚拟机与裸金属服务器之间的通信,其中,所述容器网络模型包括K8S、SDN控制器以及Overlay网络,所述K8S包括K8S监听器与各类资源,所述Overlay网络包括交换机与核心设备。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:本说明书实施例提出的一种容器网络模型构建方法,该方法在容器网络中引入SDN控制器,基于SDN控制器形成容器与虚拟机、裸金属服务器统一的网络管理,通过SDN控制器结合现有的硬件机制实现容器网络的Overlay网络,简化管理复杂性,可满足多场景下的容器网络与虚拟机以及裸金属服务器的互通需求,实现业务管理灵活性与网络管理简单性的有机结合。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本说明书实施例一提供的一种容器网络模型构建方法的流程示意图;
图2为本说明书实施例二提供的一种容器网络模型构建方法的流程示意图;
图3为本说明书实施例提供的工作原理图;
图4为本说明书实施例提供的基于SDN的Overlay网络模型示意图;
图5为本说明书实施例三提供的一种容器网络模型构建装置的结构示意图。
具体实施方式
随着用户业务的微服务化,不同的业务之间的互访也提出了更好的要求,作为容器化中最复杂的网络部分,Kubernetes网络模型的基础原则是:每个POD独立的IP地址,并且假设所有POD在一个可以直接联通的扁平的网络空间中。针对容器网络Kubernetes提出了容器网络模型,针对该模型提供了多种的方案支持,比较常见的方案有主要分为两类,一类是路由方案,典型的是Calico;另一类是隧道方案主要有典型的是Flannel。
针对Calico模型方案,所有的Server之间通过BGP进行路由发布,由于K8S会创建数以千计的POD,纯粹的路由方案节点间的路由管理复杂,路由表数量庞大,管理复杂。
针对Flannel方案,该方案使用Open vSwitch实现多租户,未实现硬件联动,在管理复杂性和性能方面由缺陷。在NODE节点数量增多时存在大量的隧道,管理复杂,存在性能瓶颈和管理复杂性瓶颈。
上述两种方案中,硬件交换机作为二层设备互联,原有租户隔离主要通过NetworkNameSpace实现,安全策略控制主要通过iptables实现,受限于协议栈性能,无法在硬件层面实现多租户隔离,无法达到有效的带宽利用。
同时,实际上上述软件方案的互联仍然要通过上层的硬件设备,硬件设备采用二层方式互联,存在链路利用率低方面的缺陷,同时硬件层面缺乏与用户网络的联动,实现效果并不理想。
此外,在现有的组网中,还存在多云混合组网的情况,这就需要K8S中的POD既需要与其它POD通信,又需要与OpenStack创建的虚拟机(VM)以及裸金属服务器(BM)进行通信,要实现异构网络互通,现有方案需要对原有的容器网络方案进行深度的开发,无法很好的满足多云互通需求。
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本说明书实施例一提供的一种容器网络模型构建方法的流程示意图,具体可以包括:
步骤S101,在K8S监听器监听到K8S资源变化时,SDN控制器接收所述K8S监听器发送的发生变化的K8S资源,其中,变化的K8S资源包括创建K8S资源与删除K8S资源。
在本说明书实施例的步骤S101中,创建K8S资源包括创建K8S集群、创建NameSpace、创建集群子网以及创建POD。删除K8S资源包括删除K8S集群、删除NameSpace、删除集群子网以及删除POD。
步骤S102,SDN控制器将发生变化的K8S资源映射为Overlay网络的对应资源,以构建出容器网络模型,用于实现容器、虚拟机与裸金属服务器之间的通信。
在本说明书实施例的步骤S102中,容器网络模型包括K8S、SDN控制器以及Overlay网络,所述K8S包括K8S监听器与各类资源,所述Overlay网络包括交换机与核心设备。
需要说明的是,本说明书实施例提出的一种容器网络模型构建方法,该方法在容器网络中引入SDN控制器,基于SDN控制器形成容器与虚拟机、裸金属服务器统一的网络管理,通过SDN控制器结合现有的硬件机制实现容器网络的Overlay网络,简化管理复杂性,可满足多场景下的容器网络与虚拟机以及裸金属服务器的互通需求,实现业务管理灵活性与网络管理简单性的有机结合。
与本说明书实施例一相对应的是,图2为本说明书实施例二提供的一种容器网络模型构建方法的流程示意图,具体可以包括:
步骤S201,在K8S监听器监听到K8S资源变化时,SDN控制器接收所述K8S监听器发送的发生变化的K8S资源,其中,所述变化的K8S资源包括创建K8S资源与删除K8S资源。
在本说明书实施例的步骤S201中,创建K8S资源包括创建K8S集群、创建NameSpace、创建集群子网以及创建POD。删除K8S资源包括删除K8S集群、删除NameSpace、删除集群子网以及删除POD。
步骤S202,SDN控制器将发生变化的K8S资源映射为Overlay网络的对应资源,以构建出容器网络模型,用于实现容器、虚拟机与裸金属服务器之间的通信,其中,所述容器网络模型包括K8S、SDN控制器以及Overlay网络,所述K8S包括K8S监听器与各类资源,所述Overlay网络包括交换机与核心设备。
在本说明书实施例的步骤S202中,容器网络模型包括K8S、SDN控制器以及Overlay网络,所述K8S包括K8S监听器与各类资源,所述Overlay网络包括交换机与核心设备。
进一步的,创建K8S资源为所述创建K8S集群(K8s Cluster)时,在K8S监听器监听到K8S资源变化时,SDN控制器接收所述K8S监听器发送的发生变化的K8S资源,所述SDN控制器将发生变化的K8S资源映射为Overlay网络的对应资源,具体包括:
在所述K8S监听器监听到创建K8S集群时,SDN控制器接收到所述K8S监听器发送的有关创建K8S集群的通知,并在交换机上下发VRF(Virtual Routing Forwarding,虚拟路由转发),以将创建的K8S集群映射为虚拟路由器。
进一步的,创建K8S资源为所述创建NameSpace时,在K8S监听器监听到K8S资源变化时,SDN控制器接收所述K8S监听器发送的发生变化的K8S资源,所述SDN控制器将发生变化的K8S资源映射为Overlay网络的对应资源,具体包括:
在所述K8S监听器监听到创建NameSpace时,SDN控制器接收到所述K8S监听器发送的有关创建NameSpace的通知,并在交换机上下发交换机实现VLAN-VXLAN的映射以及BGP-EVPN基本配置,以将创建的NameSpace映射为虚拟网络。
进一步的,创建K8S资源为所述创建集群子网(Cluster Subnet)时,在K8S监听器监听到K8S资源变化时,SDN控制器接收所述K8S监听器发送的发生变化的K8S资源,所述SDN控制器将发生变化的K8S资源映射为Overlay网络的对应资源,具体包括:
在所述K8S监听器监听到创建集群子网时,SDN控制器接收到所述K8S监听器发送的有关创建集群子网的通知,并在交换机上下发子网网关配置,以将创建的集群子网映射为虚拟子网配置。
进一步的,创建K8S资源为所述创建POD时,在K8S监听器监听到K8S资源变化时,SDN控制器接收所述K8S监听器发送的发生变化的K8S资源,所述SDN控制器将发生变化的K8S资源映射为Overlay网络的对应资源,具体包括:
对应的NODE节点的kubelet接收到K8S发出的创建POD的请求时,所述kubelet调用SDN CNI插件,所述SDN CNI插件将创建的TAP口与预先创建的空白POD相连,并将对应的TAP口加入到OVS中,以将创建的POD映射为虚拟端口。
此外,K8S资源还包括Service Cluster IP、External Subnet与Service,也是通过SDN映射为Overlay网络的对应资源,K8S资源与Overlay网络对应资源的映射关系如下表1:
Figure BDA0002680349260000091
表1
需要说明的是,本说明书实施例的工作原理参见图3,具体为:K8S监听器(K8S SDNWatcher)监听K8S的资源变化,并将对应的资源变化(创建K8S资源或删除K8S资源)通过rest接口通知SDN控制器(SDN Controller),SDN控制器将K8S资源映射为Overlay网络对应的资源。
经过上述的映射后,SDN控制器将容器网络的资源映射为Overlay网络,实现对于硬件设备配置的自动下发,对于OVS(Open VSwitch)和硬件上设备间采用OpenStackNeutron(层次化端口绑定),即在OVS上实现VLAN网络,而在硬件交换机上实现VXLAN网络,并在交换机的控制平面上运行BGP-EVPN协议,可以方便的支持POD的迁移。
参见图4,示出了基于SDN的Overlay网络模型示意图,在OVS上使用VLAN网络,硬件交换机层面上的Leaf交换机与Spine(核心设备)之间使用VXLAN,并运行BGP-EVPN协议,POD所连接的TAP口根据所在的NameSpace加入OVS对应的VLAN,在交换机上实现VLAN-VXLAN映射,基于硬件实现Overlay转发。
需要说明的是,基于本说明书实施例的容器网络模型,同网段跨节点的POD间的通信流程如下:用户创建了两个POD1和POD2,POD1所在NODE1上联的交换机为Leaf1,POD2所在NODE2节点上联的交换机为Leaf2,POD位于同一网络的同一子网下,对应的网络VLAN为100,VXLAN为10010,POD1与POD2位于同一网段,在OVS上进行VLAN内的二层转发,通过上行口到达元Leaf交换机,在Leaf1交换机上先进行VLAN-VXLAN映射,根据主机路由进行查询,发现下一挑为Leaf2的VTEP地址,对报文进行L2VXLAN封装,报文到达目的交换机Leaf2,Leaf2进行VXLAN解封装,然后查找MAC地址表转发到与NODE2互联的下行接口到达NODE2的OVS,OVS上在报文送达POD2。
需要说明的是,基于本说明书实施例的容器网络模型,跨网段跨节点POD之间的通信流程如下:用户创建了两个POD3 POD4,位于不同网段的不同子网,POD3与POD4通信,由于位于不同子网下,POD3发送报文携带的目的MAC为网关MAC,目的IP为POD4-IP,报文在OVS进行L2转发,到达Leaf交换机,在Leaf交换机上进行IP转发,查询POD4-IP主机位于Leaf2下,使用VRF对应的VNI进行封装进行VXLAN封装,内层报文的源MAC为(Leaf1 Router MAC)和目的MAC为(Leaf2 Router MAC),报文到达Leaf2,Leaf2根据主机路由进行查询,MAC地址源地址替换为网关MAC和目的地址为POD4-MAC,在对应VLAN内将报文发送至NODE2的OVS,OVS再通过二层转发将报文送至POD4。
需要说明的是,基于本说明书实施例的容器网络模型,POD与虚拟机VM之间的通信流程如下:用户创建了POD与VM,位于不同网段的不同子网,POD与VM通信,由于位于不同子网下,POD发送报文携带的目的MAC为网关MAC,目的IP为VM-IP,报文在OVS进行L2转发,到达Leaf交换机,在Leaf交换机上进行IP转发,查询VM-IP主机位于Leaf2下,使用VRF对应的VNI进行封装进行VXLAN封装,内层报文的源MAC为(Leaf1 Router MAC)和目的MAC为(Leaf2Router MAC),报文到达Leaf2,Leaf2根据主机路由进行查询,MAC地址源地址替换为网关MAC和目的地址为VM-MAC,在对应VLAN内将报文发送至NODE2的OVS,OVS再通过二层转发将报文送至VM。
上述三个通信中的POD与VM的MAC地址及IP的信息在交换机上通过BGP-EVPN自动进行发布,满足大规模组网需求。
需要说明的是,本说明书实施例公开了一种容器网络模型构建方法,通过SDN控制器与K8S联动实现对于容器网络的管理,在硬件层面实现Overlay网络,简化管理复杂性,提供高性能转发。同时,针对多云互通场景,本说明书实施例可以将K8S网络映射为相同的Overlay网络,实现容器、虚拟机与裸金属服务器之间的互通。此外,本说明书实施例可以充分利用成熟硬件实现高性能转发,实现硬件层面的多租户隔离,支持大规模节点组网。
与本说明书实施例二相对应的是,图5为本说明书实施例三提供的一种容器网络模型构建装置的结构示意图,具体可以包括:监听单元1与构建单元2。
监听单元1用于在K8S监听器监听到K8S资源变化时,SDN控制器接收所述K8S监听器发送的发生变化的K8S资源,其中,所述变化的K8S资源包括创建K8S资源与删除K8S资源;
构建单元2用于SDN控制器将发生变化的K8S资源映射为Overlay网络的对应资源,以构建出容器网络模型,用于实现容器、虚拟机与裸金属服务器之间的通信,其中,所述容器网络模型包括K8S、SDN控制器以及Overlay网络,所述K8S包括K8S监听器与各类资源,所述Overlay网络包括交换机与核心设备。
本申请实施例还提供一种容器网络模型构建设备,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
在K8S监听器监听到K8S资源变化时,SDN控制器接收所述K8S监听器发送的发生变化的K8S资源,其中,所述变化的K8S资源包括创建K8S资源与删除K8S资源;
SDN控制器将发生变化的K8S资源映射为Overlay网络的对应资源,以构建出容器网络模型,用于实现容器、虚拟机与裸金属服务器之间的通信,其中,所述容器网络模型包括K8S、SDN控制器以及Overlay网络,所述K8S包括K8S监听器与各类资源,所述Overlay网络包括交换机与核心设备。
本申请实施例还提供一种容器网络模型构建介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
在K8S监听器监听到K8S资源变化时,SDN控制器接收所述K8S监听器发送的发生变化的K8S资源,其中,所述变化的K8S资源包括创建K8S资源与删除K8S资源;
SDN控制器将发生变化的K8S资源映射为Overlay网络的对应资源,以构建出容器网络模型,用于实现容器、虚拟机与裸金属服务器之间的通信,其中,所述容器网络模型包括K8S、SDN控制器以及Overlay网络,所述K8S包括K8S监听器与各类资源,所述Overlay网络包括交换机与核心设备。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (5)

1.一种容器网络模型构建方法,其特征在于,所述方法包括:
在K8S监听器监听到K8S资源变化时,SDN控制器接收所述K8S监听器发送的发生变化的K8S资源,其中,所述变化的K8S资源包括创建K8S资源与删除K8S资源;
SDN控制器将发生变化的K8S资源映射为Overlay网络的对应资源,以构建出容器网络模型,用于实现容器、虚拟机与裸金属服务器之间的通信,其中,所述容器网络模型包括K8S、SDN控制器以及Overlay网络,所述K8S包括K8S监听器与各类资源,所述Overlay网络包括交换机与核心设备;
所述K8S资源包括K8S集群、NameSpace、集群子网以及POD;
所述创建K8S资源为创建K8S集群时,在K8S监听器监听到K8S资源变化时,SDN控制器接收所述K8S监听器发送的发生变化的K8S资源,所述SDN控制器将发生变化的K8S资源映射为Overlay网络的对应资源,具体包括:
在所述K8S监听器监听到创建K8S集群时,SDN控制器接收到所述K8S监听器发送的有关创建K8S集群的通知,并在交换机上下发VRF,以将创建的K8S集群映射为虚拟路由器;
在所述K8S监听器监听到创建NameSpace时,SDN控制器接收到所述K8S监听器发送的有关创建NameSpace的通知,并在交换机上下发交换机实现VLAN-VXLAN的映射以及BGP-EVPN基本配置,以将创建的NameSpace映射为虚拟网络;
在所述K8S监听器监听到创建集群子网时,SDN控制器接收到所述K8S监听器发送的有关创建集群子网的通知,并在交换机上下发子网网关配置,以将创建的集群子网映射为虚拟子网配置;
对应的NODE节点的kubelet接收到K8S发出的创建POD的请求时,所述kubelet调用SDNCNI插件,所述SDN CNI插件将创建的TAP口与预先创建的空白POD相连,并将对应的TAP口加入到OVS中,以将创建的POD映射为虚拟端口。
2.根据权利要求1所述的容器网络模型构建方法,其特征在于,所述交换机与OVS之间采用层次化端口绑定,以便在OVS上实现VLAN网络,在交换机上实现VXLAN网络,并在交换机的控制平面上运行BGP-EVPN协议。
3.一种容器网络模型构建装置,其特征在于,所述装置包括:
监听单元,用于在K8S监听器监听到K8S资源变化时,SDN控制器接收所述K8S监听器发送的发生变化的K8S资源,其中,所述变化的K8S资源包括创建K8S资源与删除K8S资源;
构建单元,用于SDN控制器将发生变化的K8S资源映射为Overlay网络的对应资源,以构建出容器网络模型,用于实现容器、虚拟机与裸金属服务器之间的通信,其中,所述容器网络模型包括K8S、SDN控制器以及Overlay网络,所述K8S包括K8S监听器与各类资源,所述Overlay网络包括交换机与核心设备,所述K8S资源包括K8S集群、NameSpace、集群子网以及POD;所述创建K8S资源为创建K8S集群时,在K8S监听器监听到K8S资源变化时,SDN控制器接收所述K8S监听器发送的发生变化的K8S资源,所述SDN控制器将发生变化的K8S资源映射为Overlay网络的对应资源,具体包括:在所述K8S监听器监听到创建K8S集群时,SDN控制器接收到所述K8S监听器发送的有关创建K8S集群的通知,并在交换机上下发VRF,以将创建的K8S集群映射为虚拟路由器;在所述K8S监听器监听到创建NameSpace时,SDN控制器接收到所述K8S监听器发送的有关创建NameSpace的通知,并在交换机上下发交换机实现VLAN-VXLAN的映射以及BGP-EVPN基本配置,以将创建的NameSpace映射为虚拟网络;在所述K8S监听器监听到创建集群子网时,SDN控制器接收到所述K8S监听器发送的有关创建集群子网的通知,并在交换机上下发子网网关配置,以将创建的集群子网映射为虚拟子网配置;对应的NODE节点的kubelet接收到K8S发出的创建POD的请求时,所述kubelet调用SDN CNI插件,所述SDN CNI插件将创建的TAP口与预先创建的空白POD相连,并将对应的TAP口加入到OVS中,以将创建的POD映射为虚拟端口。
4.一种容器网络模型构建设备,其特征在于,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
在K8S监听器监听到K8S资源变化时,SDN控制器接收所述K8S监听器发送的发生变化的K8S资源,其中,所述变化的K8S资源包括创建K8S资源与删除K8S资源;
SDN控制器将发生变化的K8S资源映射为Overlay网络的对应资源,以构建出容器网络模型,用于实现容器、虚拟机与裸金属服务器之间的通信,其中,所述容器网络模型包括K8S、SDN控制器以及Overlay网络,所述K8S包括K8S监听器与各类资源,所述Overlay网络包括交换机与核心设备;
所述K8S资源包括K8S集群、NameSpace、集群子网以及POD;
所述创建K8S资源为所述K8S集群时,在K8S监听器监听到K8S资源变化时,SDN控制器接收所述K8S监听器发送的发生变化的K8S资源,所述SDN控制器将发生变化的K8S资源映射为Overlay网络的对应资源,具体包括:
在所述K8S监听器监听到创建K8S集群时,SDN控制器接收到所述K8S监听器发送的有关创建K8S集群的通知,并在交换机上下发VRF,以将创建的K8S集群映射为虚拟路由器;
在所述K8S监听器监听到创建NameSpace时,SDN控制器接收到所述K8S监听器发送的有关创建NameSpace的通知,并在交换机上下发交换机实现VLAN-VXLAN的映射以及BGP-EVPN基本配置,以将创建的NameSpace映射为虚拟网络;
在所述K8S监听器监听到创建集群子网时,SDN控制器接收到所述K8S监听器发送的有关创建集群子网的通知,并在交换机上下发子网网关配置,以将创建的集群子网映射为虚拟子网配置;
对应的NODE节点的kubelet接收到K8S发出的创建POD的请求时,所述kubelet调用SDNCNI插件,所述SDN CNI插件将创建的TAP口与预先创建的空白POD相连,并将对应的TAP口加入到OVS中,以将创建的POD映射为虚拟端口。
5.一种容器网络模型构建介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令设置为:
在K8S监听器监听到K8S资源变化时,SDN控制器接收所述K8S监听器发送的发生变化的K8S资源,其中,所述变化的K8S资源包括创建K8S资源与删除K8S资源;
SDN控制器将发生变化的K8S资源映射为Overlay网络的对应资源,以构建出容器网络模型,用于实现容器、虚拟机与裸金属服务器之间的通信,其中,所述容器网络模型包括K8S、SDN控制器以及Overlay网络,所述K8S包括K8S监听器与各类资源,所述Overlay网络包括交换机与核心设备;
所述K8S资源包括K8S集群、NameSpace、集群子网以及POD;
所述创建K8S资源为创建K8S集群时,在K8S监听器监听到K8S资源变化时,SDN控制器接收所述K8S监听器发送的发生变化的K8S资源,所述SDN控制器将发生变化的K8S资源映射为Overlay网络的对应资源,具体包括:
在所述K8S监听器监听到创建K8S集群时,SDN控制器接收到所述K8S监听器发送的有关创建K8S集群的通知,并在交换机上下发VRF,以将创建的K8S集群映射为虚拟路由器;
在所述K8S监听器监听到创建NameSpace时,SDN控制器接收到所述K8S监听器发送的有关创建NameSpace的通知,并在交换机上下发交换机实现VLAN-VXLAN的映射以及BGP-EVPN基本配置,以将创建的NameSpace映射为虚拟网络;
在所述K8S监听器监听到创建集群子网时,SDN控制器接收到所述K8S监听器发送的有关创建集群子网的通知,并在交换机上下发子网网关配置,以将创建的集群子网映射为虚拟子网配置;
对应的NODE节点的kubelet接收到K8S发出的创建POD的请求时,所述kubelet调用SDNCNI插件,所述SDN CNI插件将创建的TAP口与预先创建的空白POD相连,并将对应的TAP口加入到OVS中,以将创建的POD映射为虚拟端口。
CN202010960439.4A 2020-09-14 2020-09-14 一种容器网络模型构建方法、装置、设备及介质 Active CN112104499B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010960439.4A CN112104499B (zh) 2020-09-14 2020-09-14 一种容器网络模型构建方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010960439.4A CN112104499B (zh) 2020-09-14 2020-09-14 一种容器网络模型构建方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN112104499A CN112104499A (zh) 2020-12-18
CN112104499B true CN112104499B (zh) 2023-05-02

Family

ID=73752596

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010960439.4A Active CN112104499B (zh) 2020-09-14 2020-09-14 一种容器网络模型构建方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN112104499B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113709810B (zh) * 2021-08-30 2024-01-26 河南星环众志信息科技有限公司 一种网络服务质量的配置方法、设备和介质
CN114691125B (zh) * 2022-04-01 2023-05-23 上海道客网络科技有限公司 一种应用资源映射转换的方法、系统、介质和电子设备
CN116132435B (zh) * 2023-02-17 2023-09-01 成都道客数字科技有限公司 一种容器云平台的双栈跨节点通信方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109743261A (zh) * 2019-01-07 2019-05-10 中国人民解放军国防科技大学 一种基于sdn的容器网络资源调度方法
CN109995641A (zh) * 2019-03-21 2019-07-09 新华三技术有限公司 一种信息处理方法、计算节点和存储介质
CN111049796A (zh) * 2019-10-25 2020-04-21 中国通信服务股份有限公司 一种基于Open vSwitch实现Overlay多租户CNI容器网络的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10037220B2 (en) * 2015-11-20 2018-07-31 International Business Machines Corporation Facilitating software-defined networking communications in a container-based networked computing environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109743261A (zh) * 2019-01-07 2019-05-10 中国人民解放军国防科技大学 一种基于sdn的容器网络资源调度方法
CN109995641A (zh) * 2019-03-21 2019-07-09 新华三技术有限公司 一种信息处理方法、计算节点和存储介质
CN111049796A (zh) * 2019-10-25 2020-04-21 中国通信服务股份有限公司 一种基于Open vSwitch实现Overlay多租户CNI容器网络的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
面向电信运营商的容器云SDN云网一体化方案研究;李铭轩等;《信息通信技术》;20190415(第02期);全文 *

Also Published As

Publication number Publication date
CN112104499A (zh) 2020-12-18

Similar Documents

Publication Publication Date Title
CN112104499B (zh) 一种容器网络模型构建方法、装置、设备及介质
CN111800329B (zh) 一种基于sdn与ovn的报文转发方法、设备及介质
US10063470B2 (en) Data center network system based on software-defined network and packet forwarding method, address resolution method, routing controller thereof
US11652743B2 (en) Internet group management protocol (IGMP) of a layer-2 network in a virtualized cloud environment
CN111478846B (zh) 一种云网环境下实现多租户网络的方法及设备、介质
CN111682927A (zh) 一种基于mlag环境的报文同步方法、装置、设备及介质
JP2022507436A (ja) データセンターのトラフィック共有方法、装置、デバイスおよび記憶媒体
US20200084146A1 (en) Routing between software defined networks and physical networks
CN111756629B (zh) 设备接入overlay网络及通信的方法、装置、设备、网络及介质
CN116886496A (zh) 基于dpu的数据处理方法、装置、设备及可读存储介质
JP2024503318A (ja) 仮想化されたクラウド環境においてアクセス制御リストを使用するレイヤ2ネットワーキング
CN116982295A (zh) 基于高速缓存和非高速缓存配置信息的云基础设施中的分组流
US20240054005A1 (en) Providing fault-resistance services in a dedicated region cloud at customer
US20240152409A1 (en) Routing in a gpu super-cluster
US20230269201A1 (en) Pooling smart nics for network disaggregation
JP2024503319A (ja) 仮想化されたクラウド環境におけるレイヤ2ネットワーキング情報
CN116248584A (zh) 一种在双spine mlag环境下处理evpn路由的方法、设备及介质
WO2024039521A1 (en) Providing fault-resistance services in a dedicated region cloud at customer
WO2024039519A1 (en) Multiple top-of-rack (tor) switches connected to a network virtualization device
WO2024039520A1 (en) Dual top-of-rack switch implementation for dedicated region cloud at customer
CN116074094A (zh) 一种数据传输的方法、装置、存储介质及电子设备
WO2024039522A1 (en) Network architecture for dedicated region cloud at customer
WO2022173555A1 (en) Invalidating cached flow information in a cloud infrastructure
CN117857062A (zh) 租户管理方法、设备和存储介质
CN116848827A (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