实现对容器网络统一管理的方法及装置制造方法及图纸

技术编号:28744535 阅读:24 留言:0更新日期:2021-06-06 17:48
本申请提供一种实现对容器网络统一管理的系统,Kubelet组件用于,获取承载租户网络的pod所包括的租户标识以及租户网络标识,并向VCFC

【技术实现步骤摘要】
实现对容器网络统一管理的方法及装置


[0001]本申请涉及通信
,尤其涉及一种实现对容器网络统一管理的方法及装置。

技术介绍

[0002]容器网络是容器连接到其他容器、主机和外部网络的机制。容器网络包括的运行时间(runtime)提供了各种网络模式,每种网络模式均存在不一样的效果,适用在不同的场景中。
[0003]Docker作为最为流行的容器引擎,其依赖于Linux内核虚拟化技术的发展,默认支持的网络模式主要包括以下几种:
[0004]1)bridge模式:默认的网络模式,每个容器可通过IP地址相互通信,但容器与宿主机不处于同一个网段,宿主机以外的世界无法直接与容器进行通信。
[0005]2)host模式:将容器添加至宿主机的网络堆栈中,使用宿主机的IP与外界通信;同时,容器内服务的端口也可以使用宿主机的端口,无需做额外的NAT转换。但是,容器不再拥有独立的、隔离的网络栈,安全性较差,与宿主机也要共享、竞争网络栈和端口的使用。
[0006]3)container模式:多个容器可共享同一个网络命名空间,多个容器形成的整体依然与宿主机以及其他容器形成网络隔离。另外,该模式还节约了一定数量的网络资源,但其并未改善容器与宿主机以外世界通信的情况。
[0007]在实际的业务场景中,业务组件之间的关系十分复杂,Kubernetes作为当前应用最广泛的容器编排技术,提供了较丰富的多主机网络解决方案。
[0008]Kubernetes集群的网络模型主要致力于解决以下场景:1)容器与容器之间的直接通信;2)抽象的Pod与Pod之间的通信;3)Pod与服务器(Service)之间的通信;4)集群外部与内部组件之间的通信。
[0009]Kubernetes集群的网络模型假定所有的Pod均处于一个可直接连通的扁平的网络空间内。目前,已存在多个开源组件支持Kubernetes的网络模型。例如,Flannel网络、Calico网络、Open vSwitch网络等。
[0010]Kubernetes集群的底层网络可通过Flannel网络搭建。Flannel网络可协助Kubernetes为每一个节点(Node)包括的Docker容器分配互相不冲突的IP地址,并且,在已分配的IP地址之间建立一个覆盖网络。通过这个覆盖网络,源容器可将数据包原封不动地传递至目标容器。
[0011]但是,Kubernetes集群的网络模型也暴露出下述缺陷:1)容器所处网络与宿主机不在同一网段,外部世界无法直接访问容器网络;2)外部世界访问容器时,需先找到其所在的宿主机,通过宿主机访问容器,对于生产环境规模较大的集群不方便统一管理;3)无法对容器网络进行统一的流量监控、租户隔离及网络安全配置。

技术实现思路

[0012]有鉴于此,本申请提供了一种实现对容器网络统一管理的方法及装置,用以解决Kubernetes集群外无法较好的直接访问容器,无法对容器网络进行统一监控、统一管理,无法提供多租户网络隔离及网络安全配置的问题。
[0013]第一方面,本申请提供了一种实现对容器网络统一管理的系统,所述系统包括Kubernetes集群以及VCFC;所述Kubernetes集群包括第一节点,所述第一节点包括Kubelet组件、VCFC

CNI插件组件、VCFC

net代理组件以及OVS;
[0014]所述Kubelet组件用于,获取承载租户网络的pod所包括的租户标识以及租户网络标识,并向所述VCFC

CNI插件组件传输所述租户标识以及所述租户网络标识;
[0015]所述VCFC

CNI插件组件用于,根据所述租户标识以及所述租户网络标识,向所述VCFC

net代理组件传输第一创建请求,所述第一创建请求包括所述租户标识以及所述租户网络标识;
[0016]所述VCFC

net代理组件用于,根据所述第一创建请求,向所述Kubernetes集群中的主节点发送第一API消息,所述第一API消息包括所述租户标识以及所述租户网络标识;
[0017]所述VCFC

net代理组件还用于,接收所述主节点对所述租户标识以及所述租户网络标识处理后发送的通知消息;根据所述通知消息,在所述OVS处创建所述端口,所述端口用于使所述VCFC通过所述端口对所述pod进行监控以及管理。
[0018]结合第一方面,在第一种可能的实现中,所述主节点包括VCFC

net

master组件以及Kube组件;
[0019]所述VCFC

net

master组件用于,接收所述第一API消息,并记录并存储所述租户标识以及所述租户网络标识;根据所述租户标识以及所述租户网络标识,配置所述端口的属性信息;向所述Kube组件传输第二API消息,所述第二API消息包括所述租户标识、所述租户网络标识、所述pod的属性信息以及所述端口的属性信息;
[0020]所述Kube组件用于,向所述VCFC发送所述第二API消息;
[0021]所述VCFC用于,根据所述第二API消息,记录并存储所述租户标识、所述租户网络标识、所述pod的属性信息以及所述端口的属性信息;建立所述租户标识、所述租户网络标识、端口的属性信息与所述pod的属性信息之间的关联关系。
[0022]结合第一方面,在第二种可能的实现中,所述VCFC

net代理组件还用于,创建转发流表,以使得所述端口根据所述转发流表处理报文。
[0023]结合第一方面,在第三种可能的实现中,将VCFC网络模式添加至已部署的Kubespray工具支持的容器网络模型的主文件中,并在所述主文件中增加所述VCFC

CNI插件的配置信息及安装流程文件。
[0024]结合第一方面的第三种可能,在第四种可能的实现中,所述第一节点还用于,接收用户输入的选择指令,所述选择指令包括用户选择出的所述VCFC网络模型的标识;
[0025]根据所述VCFC网络模型的标识,从所述主文件中获取所述VCFC

CNI插件的配置信息及安装流程文件;
[0026]根据所述VCFC

CNI插件的配置信息及安装流程文件,安装所述VCFC

CNI插件。
[0027]结合第一方面的第四种可能,在第五种可能的实现中,所述VCFC还用于,创建管理网络以及租户网络;
[0028]所述管理网络用于部署所述Kubernetes集群,并用于为所述Kubernetes集群包括的节点及主机网络模式下的系统组件分配IP地址;
[0029]所述租户网络用于为所述pod分配IP地址。
[0030]结合第一方面的第七种可能,在第六种可能的实现中,所述Kubern本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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组件用于,向所述V...

【专利技术属性】
技术研发人员:孟雨
申请(专利权)人:新华三大数据技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1