用于虚拟化计算基础设施的系统、方法及存储介质技术方案

技术编号:39814918 阅读:12 留言:0更新日期:2023-12-22 19:33
本公开涉及用于虚拟化计算基础设施的系统、方法及存储介质。通常,本公开描述了用于提供混合数据平面的技术,该混合数据平面可以包括基于内核的数据平面和基于数据平面开发工具包(DPDK)的数据平面。示例性系统包括基于DPDK的虚拟路由器和内核网络栈,该基于DPDK的虚拟路由器被配置为经由物理网络接口发送和接收数据包,并且该内核网络栈被配置为对去往容器化应用并且由基于DPDK的虚拟路由器经由物理接口接收的数据包执行隧道传送处理。物理接口接收的数据包执行隧道传送处理。物理接口接收的数据包执行隧道传送处理。

【技术实现步骤摘要】
用于虚拟化计算基础设施的系统、方法及存储介质
[0001]相关申请的交叉引用
[0002]本申请要求于2022年7月15日提交的美国专利申请第17/813,027号的权益,并要求于2022年6月17日提交的美国临时专利申请第63/366,619号的权益,每个申请通过引用整体并入本文作为参考。


[0003]本公开涉及虚拟化计算基础设施,并且更具体地涉及用于容器化平台的混合数据平面。

技术介绍

[0004]在典型的云数据中心环境中,存在提供计算和/或存储容量以运行各种应用的互连服务器的大集合。例如,数据中心可以包括为订户(即数据中心的客户)托管应用和服务的设施。数据中心可以例如托管所有基础设施装备,诸如联网和存储系统、冗余电源和环境控制。在典型的数据中心中,存储系统和应用服务器的集群经由一层或多层物理网络交换机和路由器提供的高速交换结构互连。更复杂的数据中心利用位于各种物理主机设施中的订户支持设备提供遍布全世界的基础设施。
[0005]虚拟化数据中心正成为现代信息技术(IT)基础设施的核心基础。具体地,现代数据中心已经广泛地利用了虚拟化环境,其中虚拟主机,在本文也被称为虚拟执行元件,诸如虚拟机或容器,被部署在物理计算设备的下层计算平台上并在其上执行。
[0006]数据中心或包括一个或多个服务器的任何环境内的虚拟化可以提供若干优点。一个优点是虚拟化可以提供对效率的显著改进。随着每个物理CPU具有大量内核的多核微处理器架构的出现,下层物理计算设备(即,服务器)已经变得越来越强大,虚拟化变得更容易和更有效。第二个优点是虚拟化提供了对计算基础设施的显著控制。随着物理计算资源变成可替代资源,诸如在基于云的计算环境中,计算基础设施的供应和管理变得更容易。因此,企业IT人员通常更喜欢数据中心中的虚拟化的计算集群,因为除了虚拟化提供的效率和增加的投资回报(ROI)之外,它们的管理具备优势。
[0007]容器化是基于操作系统级虚拟化的虚拟化方案。容器是用于彼此隔离并且与主机隔离的应用的重量轻且便携的执行元件。此类隔离系统表示容器,诸如由开源DOCKER容器应用程序或由CoreOS Rkt(“Rocket”)提供的那些容器。与虚拟机一样,每个容器被虚拟化并且可以保持与主机和其他容器隔离。然而,与虚拟机不同,每个容器可以省略单独的操作系统,而是提供应用套件和应用专用库。通常,容器由作为隔离的用户空间实例的主机来执行,并且可以与主机上执行的其他容器共享操作系统和公共库。因此,容器可能比虚拟机需要更少的处理能力、存储和网络资源。一个或多个容器的组可以被配置为共享一个或多个虚拟网络接口,以便在对应的虚拟网络上通信。
[0008]因为容器没有紧密耦合到主机硬件计算环境,所以应用可以被绑定到容器图像并且作为单个轻量包在支持下层容器架构的任何主机或虚拟主机上执行。这样,容器解决了
如何使软件在不同的计算环境中工作的问题。容器提供了从一个计算环境到另一个虚拟或物理环境一致运行的承诺。
[0009]利用容器的固有轻量级性质,单个主机通常可以支持比传统虚拟机(VM)更多的容器实例。通常,可以比VM更有效地创建和移动短期容器,并且还可以将它们作为逻辑相关的元件组来管理(例如,容器化的工作负载,对于一些编排平台,例如Kubernetes,有时称为“pod”)。这些容器特性影响容器联网解决方案的要求:网络应当是灵活的和可扩展的。VM、容器和裸金属服务器可能需要在同一计算环境中共存,其中在应用的不同部署之间启用通信。容器网络还应当不知道与用于部署容器化应用的多种类型的编排平台一起工作。
[0010]管理部署和应用执行的基础设施的计算基础设施可以涉及两个主要角色:(1)编排—用于跨主机集群自动化应用的部署、缩放和操作,并且提供计算基础设施,其可以包括以容器为中心的计算基础设施;和(2)网络管理

用于在网络基础设施中创建虚拟网络以使得能够在诸如容器或VM的虚拟执行环境上运行的应用之间以及在传统(例如,物理)环境上运行的应用之间进行数据包化通信。软件定义网络有助于网络管理。

技术实现思路

[0011]一般而言,本公开描述了用于为计算节点提供混合数据平面的技术,该混合数据平面包括两个不同的数据平面,每个数据平面可以支持不同的通信协议。现有系统通常提供单个数据平面,或者如果提供多个数据平面,则它们是不相交的数据平面。单个数据平面可能不能满足服务器上容器化应用的变化的需要。例如,一些容器化应用—可以使用pod来部署—可能需要由数据平面开发工具包(DPDK)数据平面可以提供的高吞吐量和低延迟,而其他pod可能需要DPDK数据平面不支持的封装、服务和/或路由。在不相交模型中,一组结构(面向核心)接口由内核数据平面管理,而另一组由DPDK数据平面管理。在这个模型中,来自内核pod接口的业务旨在通过内核核心接口转发,并且来自DPDK pod的业务旨在通过DPDK结构接口转发。然而,对于相应的控制平面和路由协议来实现此类分离即使不是不可能的,也是非常复杂的。此外,不能保证入站或出站数据包将采用对应于预期数据平面的接口。这可能导致低效的数据包处理或者甚至导致数据平面中的崩溃。作为示例,实现不相交数据平面的计算节点可以具有由内核数据平面拥有的第一端口和由DPDK数据平面拥有的第二端口。因为计算节点通常不能通知外部节点使用哪个端口与计算节点上的pod通信,所以应当由DPDK平面数据平面处理的数据包可能到达内核所拥有的接口(例如,第一端口)。当此类情况发生时,内核必须将数据包转发到DPDK数据平面,从而导致数据包的开销和低效率的处理。此外,DPDK数据平面通常以比内核数据平面高得多的速率处理网络流量。结果,内核可以以高速率接收打算送给DPDK数据平面的数据包。这会导致显著的CPU利用率问题或资源存储器问题,这会进一步导致整体系统性能的降低。
[0012]鉴于上述内容,由现有系统提供的单个数据平面或不相交的数据平面可能不满足在服务器上执行的不同工作负载的变化的需要。此外,不相交的数据平面可能导致对到达内核数据平面的、针对DPDK数据平面的网络流量的低效处理。
[0013]本文描述的混合数据平面可以以提供优于现有系统的技术优点的方式支持云本地路由器。例如,本文描述的混合数据平面模型的技术优点是,混合数据平面可以通过在计算节点中配置DPDK数据平面以拥有所有结构接口来避免故障或低效的操作。Pod或其他工
作负载可以被配置为利用作为混合数据平面的一部分提供的内核数据平面和DPDK数据平面中的一者或两者。该pod可以被配置为使用最适合于pod的通信需求(即,在该pod中部署的容器化应用的pod的通信需求)的数据平面。例如,需要高吞吐量和/或低延迟的pod可以被配置为利用DPDK数据平面,而需要DPDK数据平面不支持的更复杂封装的pod可以利用基于内核的数据平面。内核数据平面可以执行封装,并且将封装的数据包转发到DPDK数据平面,以便通过转发出DPDK数据平面所拥有的接口来传递。因为DPDK数据平面被分配由云本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于虚拟化计算基础设施的系统,所述系统包括:处理电路;容器化应用;物理接口;基于数据平面开发工具包DPDK的虚拟路由器,被配置为在所述处理电路上执行以经由所述物理接口发送和接收数据包;以及内核网络栈,被配置为在所述处理电路上执行,以对去往所述容器化应用并且由基于DPDK的虚拟路由器经由所述物理接口接收的所述数据包执行隧道传送处理。2.根据权利要求1所述的系统,其中,所述内核网络栈还被配置为对由所述容器化应用发起并且由所述基于DPDK的虚拟路由器经由所述物理接口发送的所述数据包执行所述隧道传送处理。3.根据权利要求1所述的系统,其中,所述物理接口包括在所述系统的多个物理接口中,并且其中所述多个物理接口中的每一者被分配给所述基于DPDK的虚拟路由器。4.根据权利要求1所述的系统,其中,对于多个物理接口中的每个端口,在所述基于DPDK的虚拟路由器与所述内核网络栈之间配置对应的vhost接口。5.根据权利要求4所述的系统,其中,所述基于DPDK的虚拟路由器被配置为针对经由vhost接口接收的数据包,经由与所述vhost接口对应的所述端口发送所述数据包。6.根据权利要求4所述的系统,其中,所述基于DPDK的虚拟路由器被配置为针对经由所述端口接收的所述数据包,经由与所述端口相对应的所述vhost接口将所述数据包发送到所述内核网络栈。7.根据权利要求1所述的系统,其中,所述基于DPDK的虚拟路由器被配置为基于入站网络数据包的封装类型,确定是否向所述内核网络栈发送所述入站网络数据包以进行所述隧道传送处理。8.根据权利要求1所述的系统,其中,所述基于DPDK的虚拟路由器被配置为基于入站网络数据包的标签,确定是否将所述入站网络数据包发送到所述内核网络栈以用于所述隧道传送处理。9.根据权利要求1所述的系统,其中,所述基于DPDK的虚拟路由器被配置为基于确定所述基于DPDK的虚拟路由器不能处理入站网络数据包,确定是否向所述内核网络栈发送所述入站网络数据包以用于所述隧道传送处理。10.根据权利要求1所述的系统,其中,所述基于DPDK的虚拟路由器被配置为基于所述基于DPDK的虚拟路由器的路由表中的路由信息,确定是否向所述内核网络栈发送入站网络数据包以用于所述隧道传送处理。11.一种用于虚拟化计算基础设施的方法,所述方法包括:由处理电路执行的基于数据平面开发工具包DPDK的虚拟路由器,从物理接口接收去往容器化...

【专利技术属性】
技术研发人员:维纳伊
申请(专利权)人:瞻博网络公司
类型:发明
国别省市:

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

1