CN112910685A - 实现对容器网络统一管理的方法及装置 - Google Patents

实现对容器网络统一管理的方法及装置 Download PDF

Info

Publication number
CN112910685A
CN112910685A CN202110045193.2A CN202110045193A CN112910685A CN 112910685 A CN112910685 A CN 112910685A CN 202110045193 A CN202110045193 A CN 202110045193A CN 112910685 A CN112910685 A CN 112910685A
Authority
CN
China
Prior art keywords
vcfc
tenant
network
identification
component
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
CN202110045193.2A
Other languages
English (en)
Other versions
CN112910685B (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.)
New H3C Big Data Technologies Co Ltd
Original Assignee
New H3C Big Data 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 New H3C Big Data Technologies Co Ltd filed Critical New H3C Big Data Technologies Co Ltd
Priority to CN202110045193.2A priority Critical patent/CN112910685B/zh
Publication of CN112910685A publication Critical patent/CN112910685A/zh
Application granted granted Critical
Publication of CN112910685B publication Critical patent/CN112910685B/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/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种实现对容器网络统一管理的系统,Kubelet组件用于,获取承载租户网络的pod所包括的租户标识以及租户网络标识,并向VCFC‑CNI插件组件传输租户标识以及租户网络标识;VCFC‑CNI插件组件用于,根据租户标识以及租户网络标识,向VCFC‑net代理组件传输第一创建请求;VCFC‑net代理组件用于,根据第一创建请求,向Kubernetes集群中的主节点发送第一API消息;VCFC‑net代理组件还用于,接收主节点对租户标识以及租户网络标识处理后发送的通知消息;根据通知消息,在OVS处创建端口,该端口用于使VCFC通过端口对pod进行监控以及管理。

Description

实现对容器网络统一管理的方法及装置
技术领域
本申请涉及通信技术领域,尤其涉及一种实现对容器网络统一管理的方法及装置。
背景技术
容器网络是容器连接到其他容器、主机和外部网络的机制。容器网络包括的运行时间(runtime)提供了各种网络模式,每种网络模式均存在不一样的效果,适用在不同的场景中。
Docker作为最为流行的容器引擎,其依赖于Linux内核虚拟化技术的发展,默认支持的网络模式主要包括以下几种:
1)bridge模式:默认的网络模式,每个容器可通过IP地址相互通信,但容器与宿主机不处于同一个网段,宿主机以外的世界无法直接与容器进行通信。
2)host模式:将容器添加至宿主机的网络堆栈中,使用宿主机的IP与外界通信;同时,容器内服务的端口也可以使用宿主机的端口,无需做额外的NAT转换。但是,容器不再拥有独立的、隔离的网络栈,安全性较差,与宿主机也要共享、竞争网络栈和端口的使用。
3)container模式:多个容器可共享同一个网络命名空间,多个容器形成的整体依然与宿主机以及其他容器形成网络隔离。另外,该模式还节约了一定数量的网络资源,但其并未改善容器与宿主机以外世界通信的情况。
在实际的业务场景中,业务组件之间的关系十分复杂,Kubernetes作为当前应用最广泛的容器编排技术,提供了较丰富的多主机网络解决方案。
Kubernetes集群的网络模型主要致力于解决以下场景:1)容器与容器之间的直接通信;2)抽象的Pod与Pod之间的通信;3)Pod与服务器(Service)之间的通信;4)集群外部与内部组件之间的通信。
Kubernetes集群的网络模型假定所有的Pod均处于一个可直接连通的扁平的网络空间内。目前,已存在多个开源组件支持Kubernetes的网络模型。例如,Flannel网络、Calico网络、Open vSwitch网络等。
Kubernetes集群的底层网络可通过Flannel网络搭建。Flannel网络可协助Kubernetes为每一个节点(Node)包括的Docker容器分配互相不冲突的IP地址,并且,在已分配的IP地址之间建立一个覆盖网络。通过这个覆盖网络,源容器可将数据包原封不动地传递至目标容器。
但是,Kubernetes集群的网络模型也暴露出下述缺陷:1)容器所处网络与宿主机不在同一网段,外部世界无法直接访问容器网络;2)外部世界访问容器时,需先找到其所在的宿主机,通过宿主机访问容器,对于生产环境规模较大的集群不方便统一管理;3)无法对容器网络进行统一的流量监控、租户隔离及网络安全配置。
发明内容
有鉴于此,本申请提供了一种实现对容器网络统一管理的方法及装置,用以解决Kubernetes集群外无法较好的直接访问容器,无法对容器网络进行统一监控、统一管理,无法提供多租户网络隔离及网络安全配置的问题。
第一方面,本申请提供了一种实现对容器网络统一管理的系统,所述系统包括Kubernetes集群以及VCFC;所述Kubernetes集群包括第一节点,所述第一节点包括Kubelet组件、VCFC-CNI插件组件、VCFC-net代理组件以及OVS;
所述Kubelet组件用于,获取承载租户网络的pod所包括的租户标识以及租户网络标识,并向所述VCFC-CNI插件组件传输所述租户标识以及所述租户网络标识;
所述VCFC-CNI插件组件用于,根据所述租户标识以及所述租户网络标识,向所述VCFC-net代理组件传输第一创建请求,所述第一创建请求包括所述租户标识以及所述租户网络标识;
所述VCFC-net代理组件用于,根据所述第一创建请求,向所述Kubernetes集群中的主节点发送第一API消息,所述第一API消息包括所述租户标识以及所述租户网络标识;
所述VCFC-net代理组件还用于,接收所述主节点对所述租户标识以及所述租户网络标识处理后发送的通知消息;根据所述通知消息,在所述OVS处创建所述端口,所述端口用于使所述VCFC通过所述端口对所述pod进行监控以及管理。
结合第一方面,在第一种可能的实现中,所述主节点包括VCFC-net-master组件以及Kube组件;
所述VCFC-net-master组件用于,接收所述第一API消息,并记录并存储所述租户标识以及所述租户网络标识;根据所述租户标识以及所述租户网络标识,配置所述端口的属性信息;向所述Kube组件传输第二API消息,所述第二API消息包括所述租户标识、所述租户网络标识、所述pod的属性信息以及所述端口的属性信息;
所述Kube组件用于,向所述VCFC发送所述第二API消息;
所述VCFC用于,根据所述第二API消息,记录并存储所述租户标识、所述租户网络标识、所述pod的属性信息以及所述端口的属性信息;建立所述租户标识、所述租户网络标识、端口的属性信息与所述pod的属性信息之间的关联关系。
结合第一方面,在第二种可能的实现中,所述VCFC-net代理组件还用于,创建转发流表,以使得所述端口根据所述转发流表处理报文。
结合第一方面,在第三种可能的实现中,将VCFC网络模式添加至已部署的Kubespray工具支持的容器网络模型的主文件中,并在所述主文件中增加所述VCFC-CNI插件的配置信息及安装流程文件。
结合第一方面的第三种可能,在第四种可能的实现中,所述第一节点还用于,接收用户输入的选择指令,所述选择指令包括用户选择出的所述VCFC网络模型的标识;
根据所述VCFC网络模型的标识,从所述主文件中获取所述VCFC-CNI插件的配置信息及安装流程文件;
根据所述VCFC-CNI插件的配置信息及安装流程文件,安装所述VCFC-CNI插件。
结合第一方面的第四种可能,在第五种可能的实现中,所述VCFC还用于,创建管理网络以及租户网络;
所述管理网络用于部署所述Kubernetes集群,并用于为所述Kubernetes集群包括的节点及主机网络模式下的系统组件分配IP地址;
所述租户网络用于为所述pod分配IP地址。
结合第一方面的第七种可能,在第六种可能的实现中,所述Kubernetes集群还用于,获取所述租户网络的第一属性信息以及所述VCFC的第二属性信息;
将所述第一属性信息以及所述第二属性信息写入所述Kubernetes集群文件中。
结合第一方面,在第八种可能的实现中,所述Kubernetes集群还用于,在所述第一节点中创建所述pod;在所述pod的注解字段添加所述租户标识以及租户网络标识。
因此,通过应用本申请提供的实现对容器网络统一管理的系统,该系统包括Kubernetes集群以及VCFC;Kubernetes集群包括第一节点,第一节点包括Kubelet组件、VCFC-CNI插件组件、VCFC-net代理组件以及OVS。Kubelet组件用于,获取承载租户网络的pod所包括的租户标识以及租户网络标识,并向VCFC-CNI插件组件传输租户标识以及租户网络标识。VCFC-CNI插件组件用于,根据租户标识以及租户网络标识,向VCFC-net代理组件传输第一创建请求,该第一创建请求包括租户标识以及租户网络标识。VCFC-net代理组件用于,根据第一创建请求,向Kubernetes集群中的主节点发送第一API消息,该第一API消息包括租户标识以及租户网络标识。VCFC-net代理组件还用于,接收主节点对租户标识以及租户网络标识处理后发送的通知消息;根据通知消息,在OVS处创建端口,该端口用于使VCFC通过端口对pod进行监控以及管理。
如此,解决了Kubernetes集群外无法较好的直接访问容器,无法对容器网络进行统一监控、统一管理,无法提供多租户网络隔离及网络安全配置的问题。实现了在Kubernetes集群外的世界可直接访问容器网络,通过VCFC对Kubernetes集群内容器网络进行统一监控、统一管理;同时,为承载租户业务的pod标记租户网络的标签,使得不同租户使用自己的网络,能够较好的对多租户进行网络隔离。
附图说明
图1为本申请实施例提供的实现对容器网络统一管理的系统示意图;
图2为本申请实施例提供的Kubernetes集群与VCFC交互示意图;
图3为本申请实施例提供的部署Kubernetes集群以及VCFC插件示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本申请相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
下面对本申请实施例提供的实现对容器网络统一管理的系统进行详细地说明。参见图1以及图2,图1为本申请实施例提供的实现对容器网络统一管理的系统示意图。图2为本申请实施例提供的Kubernetes集群与VCFC交互示意图。该容器网络统一管理的系统包括Kubernetes集群以及虚拟应用融合架构控制器(英文:Virtual Converged FrameworkController,简称:VCFC)。
Kubernetes集群包括一个主(Master)节点以及至少一个节点(Node)。主节点包括Kube-apiserver组件、VCFC-net-master组件以及Kube组件。每个节点包括Kubelet组件、VCFC-CNI-plugin(插件)组件、VCFC-net-agent(代理)组件以及虚拟交换机(英文:OpenvSwitch,简称:OVS)。下面以第一节点为例进行说明。
Kubelet组件用于,获取承载租户网络的pod所包括的租户标识以及租户网络标识,并向VCFC-CNI插件组件传输租户标识以及租户网络标识。
VCFC-CNI插件组件用于,根据租户标识以及租户网络标识,向VCFC-net代理传输第一创建请求,该第一创建请求包括租户标识以及租户网络标识。
VCFC-net代理组件用于,根据第一创建请求,向Kubernetes集群中的主节点发送第一API消息,该第一API消息包括租户标识以及租户网络标识。
VCFC-net代理组件还用于,接收主节点对租户标识以及租户网络标识处理后发送的通知消息;根据通知消息,在OVS处创建端口,该端口用于使VCFC通过端口对pod进行监控以及管理。
进一步地,VCFC-net代理组件向Kubernetes集群中的主节点发送第一API消息,具体为:VCFC-net代理组件向主节点包括的VCFC-net-master组件发送第一API消息。
VCFC-net-master组件用于,接收第一API消息,记录并存储租户标识以及租户网络标识。根据租户标识以及租户网络标识,配置端口的属性信息。VCFC-net-master组件还获取第一节点中pod的属性信息。VCFC-net-master组件向Kube组件传输第二API消息,该第二API消息包括租户标识、租户网络标识、pod的属性信息以及端口的属性信息。
Kube组件用于,向VCFC发送所述第二API消息。
VCFC用于,根据第二API消息,记录并存储租户标识、租户网络标识、pod的属性信息以及端口的属性信息;建立租户标识、租户网络标识、端口的属性信息与pod的属性信息之间的关联关系。
进一步地,VCFC-net代理组件还用于,创建转发流表,以使得端口根据转发流表处理报文。
进一步地,在Kubernetes集群与VCFC交互之前,还包括对Kubernetes集群中每个节点部署Kubespray工具支持的容器网络模型的过程。
具体地,将VCFC网络模式添加至已部署的Kubespray工具支持的容器网络模型的主文件中,并在主文件中增加VCFC-CNI插件的配置信息及安装流程文件。
例如,在roles/kubernetes-apps/network_plugin/meta/main.yml中新增VCFC网络模式:
-role:kubernetes-apps/network_plugin/vcfc
when:kube_network_plugin=='vcfc'
tags:
-vcfc
新增的VCFC-CNI插件的配置信息及安装流程文件:
roles/network_plugin/vcfc/defaults/main.yml,
roles/network_plugin/vcfc/tasks/install.yml。
进一步地,第一节点向用户显示当前已部署的容器网络模型。用户对已部署的容器网络模型进行选择。第一节点还用于,接收用户输入的选择指令,在本申请实施例中,用户选择VCFC网络模式,该选择指令包括用户选择出的VCFC网络模型的标识。
根据VCFC网络模型的标识,第一节点从主文件中获取VCFC-CNI插件的配置信息及安装流程文件。根据VCFC-CNI插件的配置信息及安装流程文件,安装VCFC-CNI插件。
进一步地,VCFC还用于,创建管理网络以及租户网络。其中,管理网络用于部署Kubernetes集群,并用于为Kubernetes集群包括的节点及主机网络模式下的系统组件分配IP地址;租户网络用于为第一节点中的pod分配IP地址。
进一步地,Kubernetes集群还用于,获取租户网络的第一属性信息以及VCFC的第二属性信息;将第一属性信息以及第二属性信息写入Kubernetes集群文件中。
VCFC创建管理网络以及租户网络后,将创建的租户网络的第一属性信息以及VCFC的第二属性信息发送至Kubernetes集群中。Kubernetes集群接收到上述属性信息后,将第一属性信息以及第二属性信息写入Kubernetes集群文件中。
例如:将第一属性信息以及第二属性信息写入group_vars\k8s-cluster\k8s-cluster.yml文件中:
kube_network_plugin:vcfc
uplink_net_work_id:26ac7c21-b096-4fc0-aaa6-5667604e969c
vcfc_url:"http://10.125.32.170:8080"
vcfc_username:"sdn"
vcfc_password:"skyline123"
vcfc_domain:"sdn"
host_networks:"10.125.40.0/24"
vcfc_net_plugin_image:
"os-harbor-svc.default.svc.cloudos:443/helm/vcfc-net-plugin:E3603P01"
其中,uplink_net_work_id、host_networks为第一属性信息,其他为第二属性信息。
更进一步地,VCFC创建管理网络后,通过管理网络向Kubernetes集群发送管理网络的第三属性信息。Kubernetes集群根据第三属性信息,创建主节点。
VCFC通过管理网络向Kubernetes集群中cloudos的组件os-hydra-svc发送第三属性信息,该第三属性信息包括管理网络的网络标识、管理网络的网络名称。os-hydra-svc创建在网络标识为“d8472616-f4fd-4842-abf4-950aab6666f8”下的虚拟机节点。该节点作为Kubernetes集群的主节点。
例如:管理网络的网络标识、管理网络的网络名称以及创建的主节点。
Network Id:"d8472616-f4fd-4842-abf4-950aab6666f8"
Network Name:"testkaas1"
controllers:{count:1,name:"master1",cpu:4,memory:8,disk:100,password:"cloudos@123",username:"root"}
通过上述过程主节点被分配了管理网络下的一个IP地址作为节点IP地址。由于在Kube-apiserver的配置文件中设置--apiserver-advertise-address=${nodeIp},因此,Kube-apiserver将用分配的节点IP地址通信,即,主节点通过管理网络与VCFC进行通信。
进一步地,Kubernetes集群还用于,在第一节点中创建pod;在pod的注解字段添加租户标识以及租户网络标识。
Kubernetes集群在第一节点中创建pod,即,在yaml文件中pod的注解(annotations)字段中指定租户标识以及和租户网络标识,如此,使得第一节点中的pod承载配置的租户网络并通过该租户网络与VCFC进行通信。
例如,在第一节点中创建pod,并为该pod配置租户标识以及租户网络标识。
Figure BDA0002897082130000091
Figure BDA0002897082130000101
其中,tanent_id为租户标识,network_id为租户网络标识。
可以理解的是,前述实施例中,均以在第一节点中创建pod,并为该pod配置租户标识以及租户网络标识为例进行说明。比如,在第一节点中创建pod1,该pod1承载租户1网络。在第二节点中创建pod2,该pod2承载租户2网络。
如图3所示,图3为本申请实施例提供的部署Kubernetes集群以及VCFC插件示意图。在图3中,首先,在节点中部署Kubespray工具,将VCFC网络模式添加至已部署的Kubespray工具支持的容器网络模型的主文件中,并在主文件中增加VCFC-CNI插件的配置信息及安装流程文件。具体示例还请见前述实施例中的描述。
然后,对Kubernetes集群进行配置,在Kubernetes集群中节点创建pod,并为每个pod配置租户标识以及租户网络标识。如此,使得节点中的pod承载配置的租户网络并通过该租户网络与VCFC进行通信。
VCFC创建管理网络以及租户网络。其中,管理网络用于部署Kubernetes集群,并用于为Kubernetes集群包括的节点及主机网络模式下的系统组件分配IP地址;租户网络用于为节点中的pod分配IP地址。
Kubernetes集群还获取租户网络的第一属性信息以及VCFC的第二属性信息;将第一属性信息以及第二属性信息写入Kubernetes集群文件中。
VCFC创建管理网络以及租户网络后,将创建的租户网络的第一属性信息以及VCFC的第二属性信息发送至Kubernetes集群中。Kubernetes集群接收到上述属性信息后,将第一属性信息以及第二属性信息写入Kubernetes集群文件中。具体示例还请见前述实施例中的描述。
VCFC创建管理网络后,通过管理网络向Kubernetes集群发送管理网络的第三属性信息。Kubernetes集群根据第三属性信息,创建主节点。
VCFC通过管理网络向Kubernetes集群中cloudos的组件os-hydra-svc发送第三属性信息,该第三属性信息包括管理网络的网络标识、管理网络的网络名称。os-hydra-svc创建在网络标识为“d8472616-f4fd-4842-abf4-950aab6666f8”下的虚拟机节点。该节点作为Kubernetes集群的主节点。具体示例还请见前述实施例中的描述。
通过上述过程主节点被分配了管理网络下的一个IP地址作为节点IP地址。由于在Kube-apiserver的配置文件中设置--apiserver-advertise-address=${nodeIp},因此,Kube-apiserver将用分配的节点IP地址通信,即,主节点通过管理网络与VCFC进行通信。
进一步地,Kubernetes集群分别在节点1、节点2中创建pod;在pod的注解字段添加租户标识以及租户网络标识。
Kubernetes集群在节点中创建pod,即,在yaml文件中pod的注解(annotations)字段中指定租户标识以及和租户网络标识,如此,使得节点中的pod承载配置的租户网络并通过该租户网络与VCFC进行通信。具体示例还请见前述实施例中的描述。
比如,在节点1中创建pod1,该pod1承载租户1网络。在节点2中创建pod2,该pod2承载租户2网络。
因此,通过应用本申请提供的实现对容器网络统一管理的系统,该系统包括Kubernetes集群以及VCFC;Kubernetes集群包括第一节点,第一节点包括Kubelet服务、VCFC-CNI插件、VCFC-net代理以及OVS。Kubelet服务用于,获取承载租户网络的pod所包括的租户标识以及租户网络标识,并向VCFC-CNI插件传输租户标识以及租户网络标识。VCFC-CNI插件用于,根据租户标识以及租户网络标识,向VCFC-net代理传输第一创建请求,该第一创建请求包括租户标识以及租户网络标识。VCFC-net代理用于,根据第一创建请求,向Kubernetes集群中的主节点发送第一API消息,该第一API消息包括租户标识以及租户网络标识。VCFC-net代理还用于,接收主节点对租户标识以及租户网络标识处理后发送的通知消息;根据通知消息,在OVS处创建端口,该端口用于使VCFC通过端口对pod进行监控以及管理。
如此,解决了Kubernetes集群外无法较好的直接访问容器,无法对容器网络进行统一监控、统一管理,无法提供多租户网络隔离及网络安全配置的问题。实现了在Kubernetes集群外的世界可直接访问容器网络,通过VCFC对Kubernetes集群内容器网络进行统一监控、统一管理;同时,为承载租户业务的pod标记租户网络的标签,使得不同租户使用自己的网络,能够较好的对多租户进行网络隔离。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (8)

1.一种实现对容器网络统一管理的系统,其特征在于,所述系统包括Kubernetes集群以及VCFC;所述Kubernetes集群包括第一节点,所述第一节点包括Kubelet组件、VCFC-CNI插件组件、VCFC-net代理组件以及OVS;
所述Kubelet组件用于,获取承载租户网络的pod所包括的租户标识以及租户网络标识,并向所述VCFC-CNI插件组件传输所述租户标识以及所述租户网络标识;
所述VCFC-CNI插件组件用于,根据所述租户标识以及所述租户网络标识,向所述VCFC-net代理组件传输第一创建请求,所述第一创建请求包括所述租户标识以及所述租户网络标识;
所述VCFC-net代理组件用于,根据所述第一创建请求,向所述Kubernetes集群中的主节点发送第一API消息,所述第一API消息包括所述租户标识以及所述租户网络标识;
所述VCFC-net代理组件还用于,接收所述主节点对所述租户标识以及所述租户网络标识处理后发送的通知消息;根据所述通知消息,在所述OVS处创建所述端口,所述端口用于使所述VCFC通过所述端口对所述pod进行监控以及管理。
2.根据权利要求1所述的系统,其特征在于,所述主节点包括VCFC-net-master组件以及Kube组件;
所述VCFC-net-master组件用于,接收所述第一API消息,并记录并存储所述租户标识以及所述租户网络标识;根据所述租户标识以及所述租户网络标识,配置所述端口的属性信息;向所述Kube组件传输第二API消息,所述第二API消息包括所述租户标识、所述租户网络标识、所述pod的属性信息以及所述端口的属性信息;
所述Kube组件用于,向所述VCFC发送所述第二API消息;
所述VCFC用于,根据所述第二API消息,记录并存储所述租户标识、所述租户网络标识、所述pod的属性信息以及所述端口的属性信息;建立所述租户标识、所述租户网络标识、所述端口的属性信息与所述pod的属性信息之间的关联关系。
3.根据权利要求1所述的系统,其特征在于,所述VCFC-net代理组件还用于,创建转发流表,以使得所述端口根据所述转发流表处理报文。
4.根据权利要求1所述的系统,其特征在于,将VCFC网络模式添加至已部署的Kubespray工具支持的容器网络模型的主文件中,并在所述主文件中增加所述VCFC-CNI插件的配置信息及安装流程文件。
5.根据权利要求4所述的系统,其特征在于,所述第一节点还用于,接收用户输入的选择指令,所述选择指令包括用户选择出的所述VCFC网络模型的标识;
根据所述VCFC网络模型的标识,从所述主文件中获取所述VCFC-CNI插件的配置信息及安装流程文件;
根据所述VCFC-CNI插件的配置信息及安装流程文件,安装所述VCFC-CNI插件。
6.根据权利要求5所述的系统,其特征在于,所述VCFC还用于,创建管理网络以及租户网络;
所述管理网络用于部署所述Kubernetes集群,并用于为所述Kubernetes集群包括的节点及主机网络模式下的系统组件分配IP地址;
所述租户网络用于为所述pod分配IP地址。
7.根据权利要求6所述的系统,其特征在于,所述Kubernetes集群还用于,获取所述租户网络的第一属性信息以及所述VCFC的第二属性信息;
将所述第一属性信息以及所述第二属性信息写入所述Kubernetes集群文件中。
8.根据权利要求1所述的系统,其特征在于,所述Kubernetes集群还用于,在所述第一节点中创建所述pod;在所述pod的注解字段添加所述租户标识以及租户网络标识。
CN202110045193.2A 2021-01-13 2021-01-13 实现对容器网络统一管理的方法及装置 Active CN112910685B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110045193.2A CN112910685B (zh) 2021-01-13 2021-01-13 实现对容器网络统一管理的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110045193.2A CN112910685B (zh) 2021-01-13 2021-01-13 实现对容器网络统一管理的方法及装置

Publications (2)

Publication Number Publication Date
CN112910685A true CN112910685A (zh) 2021-06-04
CN112910685B CN112910685B (zh) 2022-04-01

Family

ID=76112927

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110045193.2A Active CN112910685B (zh) 2021-01-13 2021-01-13 实现对容器网络统一管理的方法及装置

Country Status (1)

Country Link
CN (1) CN112910685B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113329096A (zh) * 2021-06-23 2021-08-31 未鲲(上海)科技服务有限公司 消息传输方法、装置、电子设备和存储介质
CN113852669A (zh) * 2021-09-03 2021-12-28 紫光云(南京)数字技术有限公司 一种适应多种网络环境的高效的容器集群部署方法
CN114143315A (zh) * 2021-11-30 2022-03-04 阿里巴巴(中国)有限公司 边缘云系统、主机访问方法及设备
CN114172905A (zh) * 2021-12-09 2022-03-11 新华三大数据技术有限公司 一种集群网络组网的方法、装置、计算机设备及存储介质
CN114422492A (zh) * 2022-01-17 2022-04-29 星环信息科技(上海)股份有限公司 一种请求转发方法、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108989091A (zh) * 2018-06-22 2018-12-11 杭州才云科技有限公司 基于Kubernetes网络的租户网络隔离方法、存储介质、电子设备
US20190034210A1 (en) * 2017-07-28 2019-01-31 Kong Inc. Systems and methods for distributed api gateways
CN109995641A (zh) * 2019-03-21 2019-07-09 新华三技术有限公司 一种信息处理方法、计算节点和存储介质
CN110635987A (zh) * 2019-09-09 2019-12-31 新华三信息安全技术有限公司 一种报文传输方法、装置、设备及机器可读存储介质
CN111796905A (zh) * 2020-05-22 2020-10-20 浙商银行股份有限公司 一种kubernetes容器云平台VLAN网络的实现方法及系统
CN111880902A (zh) * 2020-07-29 2020-11-03 北京浪潮数据技术有限公司 一种pod创建方法、装置、设备及可读存储介质
US20200379812A1 (en) * 2019-05-31 2020-12-03 Hewlett Packard Enterprise Development Lp Unified container orchestration controller

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190034210A1 (en) * 2017-07-28 2019-01-31 Kong Inc. Systems and methods for distributed api gateways
CN108989091A (zh) * 2018-06-22 2018-12-11 杭州才云科技有限公司 基于Kubernetes网络的租户网络隔离方法、存储介质、电子设备
CN109995641A (zh) * 2019-03-21 2019-07-09 新华三技术有限公司 一种信息处理方法、计算节点和存储介质
US20200379812A1 (en) * 2019-05-31 2020-12-03 Hewlett Packard Enterprise Development Lp Unified container orchestration controller
CN110635987A (zh) * 2019-09-09 2019-12-31 新华三信息安全技术有限公司 一种报文传输方法、装置、设备及机器可读存储介质
CN111796905A (zh) * 2020-05-22 2020-10-20 浙商银行股份有限公司 一种kubernetes容器云平台VLAN网络的实现方法及系统
CN111880902A (zh) * 2020-07-29 2020-11-03 北京浪潮数据技术有限公司 一种pod创建方法、装置、设备及可读存储介质

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113329096A (zh) * 2021-06-23 2021-08-31 未鲲(上海)科技服务有限公司 消息传输方法、装置、电子设备和存储介质
CN113852669A (zh) * 2021-09-03 2021-12-28 紫光云(南京)数字技术有限公司 一种适应多种网络环境的高效的容器集群部署方法
CN113852669B (zh) * 2021-09-03 2024-01-12 紫光云(南京)数字技术有限公司 一种适应多种网络环境的高效的容器集群部署方法
CN114143315A (zh) * 2021-11-30 2022-03-04 阿里巴巴(中国)有限公司 边缘云系统、主机访问方法及设备
CN114172905A (zh) * 2021-12-09 2022-03-11 新华三大数据技术有限公司 一种集群网络组网的方法、装置、计算机设备及存储介质
CN114172905B (zh) * 2021-12-09 2024-03-26 新华三大数据技术有限公司 一种集群网络组网的方法、装置、计算机设备及存储介质
CN114422492A (zh) * 2022-01-17 2022-04-29 星环信息科技(上海)股份有限公司 一种请求转发方法、设备及存储介质
CN114422492B (zh) * 2022-01-17 2023-12-12 星环信息科技(上海)股份有限公司 一种请求转发方法、设备及存储介质

Also Published As

Publication number Publication date
CN112910685B (zh) 2022-04-01

Similar Documents

Publication Publication Date Title
CN112910685B (zh) 实现对容器网络统一管理的方法及装置
US11102079B2 (en) Cross-regional virtual network peering
US11372802B2 (en) Virtual RDMA switching for containerized applications
CN112511611B (zh) 节点集群的通信方法、装置、系统及电子设备
US11469964B2 (en) Extension resource groups of provider network services
US8300641B1 (en) Leveraging physical network interface functionality for packet processing
US11095534B1 (en) API-based endpoint discovery of resources in cloud edge locations embedded in telecommunications networks
WO2017157156A1 (zh) 一种用户请求的处理方法和装置
US9535730B2 (en) Communication apparatus and configuration method
US9559898B2 (en) Automatically configuring data center networks with neighbor discovery protocol support
AU2014278314A1 (en) Distributed lock management in a cloud computing environment
US11563799B2 (en) Peripheral device enabling virtualized computing service extensions
CN112202615B (zh) 一种多cni协同工作系统与方法
US10237235B1 (en) System for network address translation
US11520530B2 (en) Peripheral device for configuring compute instances at client-selected servers
CN110855488B (zh) 一种虚拟机接入方法及装置
CN110830574B (zh) 一种基于docker容器实现内网负载均衡的方法
CN106462457A (zh) 虚拟化应用集群
CN105704042A (zh) 报文处理方法、bng及bng集群系统
US20110246600A1 (en) Memory sharing apparatus
CN112583655B (zh) 数据传输方法、装置、电子设备及可读存储介质
CN115622878A (zh) k8s网桥插件实现方法、装置、电子设备和可读存储介质
JP7212158B2 (ja) プロバイダネットワークサービス拡張
KR102409272B1 (ko) 가상 플랫폼 환경에서의 통신 대상 ip를 기반으로 공공 ip를 공유하는 방법 및 호스트 장치
JP2013207386A (ja) 通信制御システム、通信制御方法及び通信制御プログラム

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