对容器的逻辑处理制造技术

技术编号:17166233 阅读:29 留言:0更新日期:2018-02-01 23:24
一些实施例提供了用于第一受管理的转发元件(MFE)的方法。该方法接收数据消息,数据消息包括识别特定逻辑转发元件的逻辑端口的逻辑上下文标签。基于逻辑上下文标签,该方法将本地标签添加到数据消息。本地标签与特定逻辑转发元件相关联,逻辑转发元件是在容器虚拟机(VM)上运行的一个或多个容器所属的几个逻辑转发元件之一。容器VM连接到第一MFE。该方法在没有任何逻辑上下文的情况下将数据消息递送给容器VM。在容器VM上运行的第二MFE使用本地标签将数据消息转发到在容器VM上运行的几个容器中的正确容器。

Logical handling of containers

Some embodiments provide a method for the first managed forwarding element (MFE). The method receives the data message, which includes a logical context label that identifies the logical port of a specific logical forwarding element. Based on a logical context label, this method adds a local label to a data message. Local tags are associated with specific logic forwarding elements. Logical forwarding elements are one of several logical forwarding components that one or more containers run on container virtual machine (VM). The container VM is connected to the first MFE. This method delivers the data message to the container VM without any logical context. The second MFE running on the container VM uses a local label to forward the data message to the correct container in several containers running on the container VM.

【技术实现步骤摘要】
【国外来华专利技术】对容器的逻辑处理
技术介绍
越来越多的应用被部署到虚拟机(VM)中,其中许多应用消耗网络和安全服务(例如,防火墙、访问控制列表(ACL)、服务质量(QoS)等)。在虚拟化网络中,虚拟化系统可以进一步虚拟化其它系统,从而增加了在虚拟接口背后创建一层虚拟接口的系统的复杂性和深度。例如,在VM上运行的Linux容器可以创建几个接口共享VM的单个接口(也被称为容器VM)。共享容器VM的单个接口的容器接口可能使得难以提供普遍适用的网络虚拟化平台,该平台为非容器VM以及为在系统中的容器VM内执行的容器提供网络和安全服务。
技术实现思路
本专利技术的一些实施例提供了一种网络控制系统,用于定义连接在网络中的主机机器上运行的虚拟机(VM)以及在网络的主机机器之一上运行的另一个VM(即,容器VM)内运行的容器(例如,Linux容器、VM等)的逻辑网络。一些实施例的网络控制系统定义在逻辑上连接主机机器上的VM和在容器VM上运行的容器的逻辑网络的逻辑数据路径。在一些实施例中,网络控制系统包括管理在主机机器上且在容器VM内的转发元件以实现逻辑网络的控制器集合。在一些实施例中,网络中的每个主机机器包括用于虚拟化主机机器的物理资源的虚拟化软件(例如,管理程序)和用于将网络流量(例如,数据消息)转发到虚拟机和从虚拟机转发网络流量的主机受管理的转发元件(managedforwardingelement,MFE)。在一些实施例中,主机MFE在虚拟化软件内运行。此外,一些主机机器包括连接到主机MFE的一个或多个VM,其中一些VM可以是托管容器集合的容器VM。在一些实施例中,本地MFE在每个容器VM内运行,以便将数据消息转发到容器VM内托管的容器和从容器VM内托管的容器转发数据消息。一些实施例的网络控制系统包括用于管理主机MFE和本地MFE的控制器集合。在一些实施例中,控制器集合配置主机MFE和本地MFE,以根据由网络的管理员配置的逻辑转发元件(例如,逻辑交换机、逻辑路由器),在逻辑上转发容器和VM的数据消息。一些实施例的控制器集合包括用于管理容器VM的本地MFE的本地VM控制器(LVC)集合、用于管理主机机器的主机MFE的本地主机控制器(LHC)集合、以及用于管理LHC和/或LVC以实现逻辑网络的逻辑转发元件(LFE)的集中式网络控制器(CNC)集合。不同的控制器可以以不同的方式跨不同的机器分布,从而在与它们管理的元件相同的机器或分离的机器上运行。例如,一些实施例的LHC在具有主机MFE的主机机器上(例如,在虚拟化软件内)运行,而在其它实施例中,LHC在与主机机器分离的机器上运行并且通过网络与主机MFE通信。在一些实施例中,网络控制系统配置MFE(主机MFE和本地MFE两者),以便将容器VM的容器以及非容器VM附连到一个或多个LFE。为了将容器附连到特定的LFE,一些实施例的LHC从在容器VM上运行的LVC接收关于容器VM的容器的容器信息。在一些实施例中,容器信息包括地址信息(例如,MAC地址、IP地址)以及在容器中运行的应用的应用状态数据。一些实施例的容器信息识别容器的本地标签值(例如,VLANID)到逻辑数据(例如,逻辑端口、LFE等)的映射。在一些实施例中,映射向由容器VM的MFE实现的每个LFE(即,在容器VM中运行的容器之一所连接到的每个LFE)提供不同的本地标签值。在其它实施例中,不是向每个LFE分配本地标签值,而是本地控制器向容器VM上的每个容器分配不同的本地标签值,而与容器所关联的LFE无关。基于接收到的容器信息,一些实施例的LHC将每个容器映射到特定LFE的逻辑端口。LHC使用本地标签值到LFE的逻辑端口的映射来配置主机MFE,以处理去往容器和来自容器的网络流量,并向发送到容器和从容器发送的网络流量应用逻辑策略,从而移除从本地MFE应用此类策略的责任。对于发送到容器的数据消息,主机MFE基于与网络流量相关联的逻辑端口用本地标签值来标记网络流量。例如,当主机MFE接收去往特定逻辑端口的数据消息时,主机MFE基于来自LHC的映射数据确定特定逻辑端口与特定本地标签值相关联,并且在将数据消息发送到容器VM之前用特定本地标签值来标记数据消息。容器VM上的本地MFE被配置成基于本地标签值将数据消息转发到正确的目的地容器。对于从容器接收到的数据消息,一些实施例的本地MFE(即,在容器VM上运行的MFE)被配置成用本地标签值标记数据消息,并将数据消息转发到主机MFE。主机MFE接收数据消息,并且基于本地标签值和/或唯一地址(例如,源MAC地址)识别与数据消息相关联的逻辑端口。主机MFE然后在通过逻辑网络转发数据消息之前向数据消息应用逻辑网络策略(例如,经由CNC从LHC接收到的策略)集合。一些实施例的逻辑网络策略(例如,防火墙策略、服务质量(QoS)策略、负载平衡等)在逻辑网络的多个级别(例如逻辑交换机端口、逻辑交换机、逻辑路由器端口等)处定义。在一些实施例中,不是在主机MFE处应用所有逻辑网络策略,而是网络控制系统在主机MFE和本地MFE之间分发一些逻辑处理。例如,一些实施例的本地MFE被配置成应用专用于容器VM上的容器之间的本地流量的逻辑网络策略。在一些实施例中,LHC还实例化要添加到逻辑网络的新容器。一些实施例的LHC确定主机机器上是否有可用的合适的容器VM,如果没有,那么创建新的容器VM并初始化用于容器VM的本地MFE。在一些实施例中,LHC配置本地MFE以将来自容器的所有流量转发到主机MFE。前面的
技术实现思路
旨在用作对本专利技术的一些实施例的简要介绍。这并不意味着是对本文档中公开的所有创造性主题的介绍或概述。以下的具体实施方式和在具体实施方式中提及的附图将进一步描述在本
技术实现思路
中描述的实施例以及其它实施例。因此,为了理解由本文档描述的所有实施例,需要对
技术实现思路
、具体实施方式、附图和权利要求书进行全面审阅。而且,所要求保护的主题不受
技术实现思路
、具体实施方式和附图中的说明性细节的限制。附图说明本专利技术的新颖特征在所附权利要求中阐述。但是,为了解释的目的,在以下图中阐述了本专利技术的几种实施例。图1图示了具有在物理网络上实现的容器的逻辑网络的示例。图2图示了具有在物理网络上实现的容器的逻辑网络中的控制器的示例。图3概念性地图示了用于在容器VM级别将容器添加到逻辑网络的过程。图4图示了将容器添加到逻辑网络的逻辑转发元件的示例。图5概念性地图示了用于在主机机器级别将容器添加到逻辑网络的过程。图6图示了将容器添加到逻辑网络的逻辑转发元件的示例。图7图示了为不同的逻辑转发元件添加容器的示例。图8图示了逻辑网络和物理网络之间的映射的示例。图9概念性地图示了用于处理通过逻辑网络来自容器的数据消息的过程。图10图示了通过逻辑网络转发来自容器的数据消息的示例。图11图示了通过逻辑网络转发来自容器的数据消息的另一个示例。图12概念性地图示了用于处理通过逻辑网络去往容器的数据消息的过程。图13图示了通过逻辑网络接收用于容器的数据消息的示例。图14概念性地图示了实现本专利技术的一些实施例的计算机系统。具体实施方式在本专利技术的以下详细描述中,阐述和描述了本专利技术的许多细节、示例和实施例。但是,对本领域技术人员来说将清楚和显而易见的是,本专利技术不限于所阐述的实施例,并且本专利技术可以在本文档来自技高网
...
对容器的逻辑处理

【技术保护点】
一种用于第一受管理的转发元件MFE的方法,包括:接收数据消息,所述数据消息包括识别特定逻辑转发元件的逻辑端口的逻辑上下文标签;基于所述逻辑上下文标签,将本地标签添加到所述数据消息,所述本地标签与所述特定逻辑转发元件相关联,其中所述特定逻辑转发元件是在容器虚拟机VM上运行的一个或多个容器所属的多个逻辑转发元件之一,其中容器VM连接到第一MFE;以及在没有任何逻辑上下文的情况下,将所述数据消息递送给容器VM,其中在容器VM上运行的第二MFE使用所述本地标签将所述数据消息转发到在容器VM上运行的多个容器中的正确容器。

【技术特征摘要】
【国外来华专利技术】2015.05.17 US 62/162,774;2015.08.28 US 14/839,746;1.一种用于第一受管理的转发元件MFE的方法,包括:接收数据消息,所述数据消息包括识别特定逻辑转发元件的逻辑端口的逻辑上下文标签;基于所述逻辑上下文标签,将本地标签添加到所述数据消息,所述本地标签与所述特定逻辑转发元件相关联,其中所述特定逻辑转发元件是在容器虚拟机VM上运行的一个或多个容器所属的多个逻辑转发元件之一,其中容器VM连接到第一MFE;以及在没有任何逻辑上下文的情况下,将所述数据消息递送给容器VM,其中在容器VM上运行的第二MFE使用所述本地标签将所述数据消息转发到在容器VM上运行的多个容器中的正确容器。2.如权利要求1所述的方法,其中所述数据消息是以太网帧、IP分组、TCP段和UDP数据报之一。3.如权利要求1所述的方法,其中所述本地标签包括VLAN标签和MPLS标签之一。4.如权利要求1所述的方法,其中在容器VM上运行的容器包括虚拟机集合。5.如权利要求1所述的方法,其中所述容器用于隔离在每个容器内运行的服务或应用。6.如权利要求1所述的方法,其中在没有任何逻辑上下文的情况下将所述数据消息递送给容器VM包括:移除所述逻辑上下文标签。7.一种用于第一受管理的转发元件MFE的方法,包括:从连接到第一MFE的接口的容器虚拟机VM上运行的第二MFE接收数据消息,所述数据消息包括由第二MFE添加到所述数据消息的本地标签;将所述本地标签映射到通过其处理所述数据消息的逻辑转发元件,其中所述数据消息的源是在容器VM上运行以实现所述逻辑转发元件的终端机器的容器;根据所述逻辑转发元件的配置,向所述数据消息应用策略集合;以及通过所述逻辑转发元件所属的逻辑网络转发所述数据消息。8.如权利要求7所述的方法,其中容器VM用作多个容器的主机。9.如权利要求8所述的方法,其中所述数据消息是第一数据消息,并且第一MFE耦合到不用作任何容器的主机的非容器VM集合,所述方法还包括:从非容器VM接收第二数据消息,并且根据所述逻辑转发元件的配置,向第二数据消息应用所述策略集合。10.如权利要求8所述的方法,其中所述多个容器包括虚拟机集合。11.如权利要求7所述的方法,还包括:从网络控制器接收所述逻辑转发元件的配置,其中根据所述配置修改第一MFE的转发行为。12.如权利要求11所述的方法,其中,根据第一MFE和耦合到所述逻辑转发元件的其它终端机器的第三MFE之间的配置建立隧道。13.如权利要求11所述的方法,其中第一MFE是在机器上运行的软件虚拟转发元件,并且所述网络控制器在相同机器上运行。14.一种用于针对在主机机器上运行的本地网络控制器管理第一受管理的转发元件MFE的方法,第一受管理的转发元件MFE通过将第一MFE配置成转发在连接到第一MFE的容器虚拟机VM内运行的容器集合的流量来操作,以在多个逻辑网络的主机机器上转发流量,所述方法包括:从集中式网络控制器接收所述容器集合在逻辑上所连接到的逻辑网络的逻辑网络配置信息;从容器VM接收由容器VM上运行的第二MFE使用的标签值到所述容器集合所连接到的逻辑网络的逻辑转发元件的映射;以及将第一MFE配置成向从容器VM接收到的、用所述标签值标记的数据消息应用所述逻辑网络配置信息。15.如权利要求14所述的方法,其中所述标...

【专利技术属性】
技术研发人员:S·彼赫拉韩东海沈建军J·皮提特
申请(专利权)人:NICIRA股份有限公司
类型:发明
国别省市:美国,US

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

1