虚拟化计算机系统中的软件定义网络协调
1.相关申请
2.要求由vmware有限公司在2020年4月2日提交的题目为“虚拟化计算机系统中的软件定义网络协调(software-defined network orchestration in a virtualized computer system)”的美国专利申请no.16/838,573的权益,出于所有的目的,将其通过引用全文并入本文。
背景技术:3.现今的应用被部署到虚拟机(vm)、容器、应用服务、以及更多在软件定义数据中心(sddc)内的组合上。sddc包括具有由虚拟化管理服务器虚拟化和管理的物理服务器集群的服务器虚拟化层。虚拟基础设施管理员(“vi管理员”)与虚拟化管理服务器交互以创建服务器集群(“主机集群”)、从主机集群添加/移除服务器(“主机”)、在主机上部署/移动/移除vm、部署/配置联网和存储虚拟化基础设施等。每个主机包括虚拟化层(例如,管理程序),其向vm提供物理服务器(例如,中央处理单元(cpu)、随机存取存储器(ram)、存储、网络接口卡(nic)等)的软件抽象。虚拟化管理服务器位于sddc的服务器虚拟化层之上,其将主机集群视为由应用使用的计算能力的池。
4.sddc还可以包括管理跨主机集群的软件定义联网(“sd联网”)的大部分的单独的逻辑网络层。逻辑网络层将物理网络视为可根据需要消耗和重新目的化的传输容量池。当服务器虚拟化层部署和管理层2(l2)和层3(l3)sd网络基础设施时,逻辑网络层提供完整的层2到层7(l2-l7)网络服务(“逻辑网络服务”)的软件抽象,如交换、路由、访问控制、防火墙、服务质量(qos)、负载平衡等。网络管理服务器位于逻辑网络层之上以管理和控制逻辑网络服务。网络管理员(“网络管理员”)与网络管理服务器交互以跨主机集群添加、配置、重新配置、移除等逻辑网络服务。
5.sddc的逻辑网络层大部分与服务器虚拟化层分离,需要vi管理员管理服务器虚拟化并且需要单独的网络管理员管理网络虚拟化。虚拟化管理服务器和网络管理服务器具有单独且不同的用户界面(ui)和应用编程接口(api)。这可能会导致sddc的租户在部署和管理他们的应用时产生分裂的体验。
技术实现要素:6.在实施例中,描述了一种协调虚拟化计算系统的软件定义(sd)网络层的方法,该虚拟化计算系统包括主机集群、虚拟化管理服务器和网络管理服务器,它们各自连接至物理网络,该主机集群具有多个主机和在这些主机的硬件平台上执行的虚拟化层。该方法包括:在虚拟化管理服务器处接收描述主机集群的sd网络的建议状态的声明性规范;响应于声明性规范中的建议状态,由虚拟化管理服务器在主机集群中部署虚拟化基础设施组件;以及响应于所述声明性规范中的所述建议状态,由所述虚拟化管理服务器与所述网络管理服务器协作部署由所述虚拟化基础设施组件支持的逻辑网络服务。
7.进一步的实施例包括:非暂时性计算机可读存储介质,该非暂时性计算机可读存
储介质包括使计算机系统执行以上方法的指令;以及被配置成执行以上方法的计算机系统。
附图说明
8.图1是可以实现实施例的集群化计算机系统的框图。
9.图2是描绘根据实施例的软件平台和共享存储的框图。
10.图3是描绘根据实施例的具有在其中执行的应用的虚拟化计算系统的逻辑视图的框图。
11.图4是描绘根据实施例的虚拟化计算系统中的联网主机集群的框图。
12.图5是描绘根据实施例的分布式交换机的框图。
13.图6a是描绘根据实施例的与网络管理器通信的虚拟化管理服务器的框图。
14.图6b和图6c是描绘根据实施例的网络协调器、网络管理服务和监管器(supervisor)集群服务的替代配置的框图。
15.图7是描绘根据实施例的协调虚拟化计算系统的软件定义(sd)网络层的方法的流程图。
16.图8a是以图形方式描绘根据实施例的sd网络层的建议状态的声明性规范的框图。
17.图8b是描绘根据实施例的响应于图8a的声明性规范所实现的虚拟化基础设施和逻辑网络服务的框图。
18.图9是描绘根据实施例的部署工作负载之后的sd网络层的逻辑视图的框图。
具体实施方式
19.描述了虚拟化计算系统中的软件定义(sd)网络协调。在本文所描述的实施例中,虚拟化计算系统包括软件定义数据中心(sddc),其包括与逻辑网络平台集成的服务器虚拟化平台。服务器虚拟化平台包括被称为“主机集群”的物理服务器(“主机”)集群。每个主机集群包括在主机的主机硬件平台上执行的虚拟化层,所述虚拟化层支持虚拟机(vm)的执行。虚拟化管理服务器管理主机集群、虚拟化层和在其上执行的vm。
20.在实施例中,主机集群的虚拟化层与协调控制平面(如控制平面)集成。该集成使得主机集群能够作为“监管器集群”,其使用vm来实现具有kubernetes控制平面的控制平面节点和由控制平面节点管理的计算节点两者。例如,kubernetes荚(pod)被实现为“荚vm”,每个荚包括支持容器的执行的内核和容器引擎。在实施例中,监管器集群的kubernetes控制平面被扩展为除支持荚之外还支持定制对象,诸如使用本机vm(与荚vm相反)实现的vm对象。虚拟化基础设施管理员(vi管理员)可以使主机集群能够作为监管器集群并且将其功能提供给开发团队。
21.sddc包括跨主机集群的sd网络层。sd网络层包括在虚拟化网络基础设施上执行的逻辑网络服务。服务器虚拟化平台管理虚拟化网络基础设施,并且与逻辑网络平台协作来管理部署在虚拟化网络基础设施上的逻辑网络服务。vi管理员与服务器虚拟化平台交互以用于服务器虚拟化和网络虚拟化两者,而不是多个管理员与两个单独的平台交互。在实施例中,虚拟化管理服务器包括与逻辑网络平台的网络管理服务器(称为“网络管理器”)协作来管理其逻辑网络服务的生命周期的网络管理服务。虚拟化管理服务器提供用于管理计
算、网络和存储的公共接口(例如,用户接口(ui)和/或应用编程接口(api))。
22.在实施例中,虚拟化管理服务器基于声明性规范来协调sd网络层。声明性规范描述了主机集群的sd网络层的建议状态。然后,虚拟化管理服务器操作以将sd网络层的当前状态带到声明性规范中定义的建议状态。声明性规范通过允许vi管理员或其他服务描述期望的最终目标并让虚拟化管理服务器确定如何实现该最终目标来减少配置步骤的数量。声明性规范是使用内置依赖检查来减少用户错误的可能性的规定。
23.在此描述的技术允许虚拟化管理服务器协调sd网络层的整个生命周期,包括:安装二进制文件;在主机上部署vm;配置和解配置支持逻辑网络服务的虚拟化基础设施;按需升级支持虚拟化基础设施;以及执行支持基础设施从不可避免的重启和故障的自动备份、修复和恢复。这些技术还允许虚拟化管理服务器协调逻辑网络服务的生命周期,包括部署、配置、重新配置和移除这样的逻辑网络服务。下面参考附图来描述所公开的技术的这些和进一步的优点和方面。
24.图1是可以实现实施例的虚拟化计算系统100的框图。系统100包括可以在诸如x86架构平台之类的服务器级硬件平台上构建的主机120的集群(“主机集群118”)。为了清楚起见,仅示出了一个主机集群118。然而,虚拟化计算系统100可包括许多这样的主机集群118。如图所示,每个主机120的硬件平台122包括计算设备的常规组件,诸如一个或更多个中央处理单元(cpu)160、系统存储器(例如,随机存取存储器(ram)162)、一个或更多个网络接口控制器(nic)164和可选的本地存储163。cpu 160被配置为执行指令,例如,执行本文描述的一个或更多个操作的可执行指令,所述指令可存储在ram 162中。nic 164使得主机120能够通过物理网络180与其他设备通信。物理网络180是实现主机120之间和其他组件与主机120(本文进一步讨论的其他组件)之间的通信的物理网络。
25.在图1所示的实施例中,主机120通过使用nic 164连接至物理网络180来访问共享存储170。在另一个实施例中,每个主机120包含主机总线适配器(hba),通过主机总线适配器,输入/输出操作(io)通过单独的网络(例如,光纤信道(fc)网络)被发送至共享存储170。共享存储170包括一个或更多个存储阵列,诸如存储区域网络(san)、网络附加存储(nas)等。共享存储170可包括磁盘、固态盘、闪存等以及它们的组合。在一些实施例中,主机120包括本地存储163(例如,硬盘驱动器、固态驱动器等)。每个主机120中的本地存储163可以被聚合并提供为虚拟san(vsan)的一部分,虚拟san是另一种形式的共享存储170。
26.每个主机120的软件平台124提供虚拟化层(在此被称为管理程序150),该虚拟化层直接在硬件平台122上执行。在实施例中,在管理程序150和硬件平台122之间不存在中间软件,诸如主机操作系统(os)。因此,管理程序150是类型1管理程序(也称为“裸机(bare-metal)”管理程序)。因此,主机集群118中的虚拟化层是直接在主机硬件平台上执行的裸机虚拟化层。管理程序150抽象硬件平台122的处理器、存储器、存储和网络资源以提供虚拟机执行空间,在该虚拟机执行空间内多个虚拟机(vm)可被并发地实例化和执行。可以在本文描述的实施例中配置和使用的管理程序150的示例是vmware管理程序,其被提供为vmware解决方案的一部分,该解决方案可从加州帕洛阿尔托的vmware有限公司商业获得。在图1的示例中,主机集群118作为“监管器集群”被启用,如本文进一步描述的,并且因此在每个主机120上执行的vm包括荚vm 130和本机vm 140。被示为支持vm 145的一些本机vm 140在主机集群118内具有特定功能。例如,支持vm 145可提供控制平面或数据平
面虚拟化基础设施。下面参照图2进一步讨论软件平台124的实施例。
27.主机集群118配置有软件定义(sd)网络层175。sd网络层175包括在主机集群118中的虚拟化基础设施上执行的逻辑网络服务。支持逻辑网络服务的虚拟化基础设施包括基于管理程序的组件(诸如资源池、分布式交换机、分布式交换机端口组和上行链路等)以及基于vm的组件(诸如路由器控制vm、负载平衡器vm、边缘服务vm等)。逻辑网络服务包括在虚拟化基础设施之上实现的逻辑交换机、逻辑路由器、逻辑防火墙、逻辑虚拟专用网络(vpn)、逻辑负载平衡器等。
28.虚拟化管理服务器116是服务器虚拟化平台的物理或虚拟服务器,该服务器虚拟化平台管理主机集群118和其中的虚拟化层。虚拟化管理服务器116将控制平面(cp)代理(“cp代理152”)安装在管理程序150中以添加主机120作为被管理实体。虚拟化管理服务器116逻辑上将主机120分组到集群118中以向主机120提供集群级功能,诸如主机120之间的vm迁移(例如,用于负载平衡)、分布式功率管理、根据密切关系和反密切关系规则的动态vm放置、以及高可用性。集群118中的主机120的数量可以是一个或更多个。虚拟化管理服务器116可管理多于一个主机集群118。如本文进一步描述的,虚拟化管理服务器116还协调sd网络层175和共享存储170的全部或一部分的管理。
29.在实施例中,虚拟化管理服务器116进一步使主机集群118能够作为监管器集群101。虚拟化管理服务器116在管理程序150中安装附加cp代理152以将主机120添加到监管器集群101。监管器集群101将协调控制平面115与主机集群118集成。在实施例中,协调控制平面115来源于kubernetes。在监管器集群101中,主机120变成协调控制平面115使用的节点。虚拟化管理服务器116将一个或更多个虚拟服务器设置为“主(master)服务器”,其在协调控制平面115中起管理实体的作用。在图1的实施例中,监管器集群101包括充当这种主服务器的监管器kubernetes主设备104。为了清楚起见,监管器kubernetes主设备104被示出为单独的逻辑实体。对于实际实现,监管器kubernetes主设备104可以实现为主机集群118中的支持vm 145(可选地一个或更多个荚vm 130)。进一步,尽管仅示出了一个监管器kubernetes主设备104,但是监管器集群101可以在逻辑集群中包括多于一个监管器kubernetes主设备104以用于冗余和负载平衡。虽然图1中的主机集群118作为监管器集群101被启用,但是本文所描述的sd网络协调技术可以用于未被如此启用的主机集群118上。
30.在实施例中,虚拟化计算系统100进一步包括存储管理器110。存储管理器110是物理或虚拟服务器,其将共享存储170(或从本地存储163形成的vsan)中的虚拟盘提供作为独立对象。即,与任何vm或容器(container)的生命周期分开持续存在的虚拟盘。不同组件可以与存储管理器110交互以提供持久存储,诸如虚拟化管理服务器116和监管器kubernetes主设备104。存储管理器110可以独立于虚拟化管理服务器116(例如,作为独立的物理或虚拟服务器)操作。可替代地,存储管理器110可以是虚拟化管理服务器116中的服务。
31.在实施例中,虚拟化计算系统100进一步包括网络管理器112。网络管理器112是管理sd网络层175的逻辑网络服务的逻辑网络平台的物理或虚拟服务器。在实施例中,网络管理器112包括由虚拟化管理服务器116部署为vm的一个或更多个虚拟服务器。网络管理器112和/或虚拟化管理服务器116在管理程序150中安装附加的控制平面代理152和数据平面(dp)模块153以添加主机120作为被管理实体,称为传输节点。以这种方式,主机集群118可以是传输节点的集群103。
32.在实施例中,虚拟化计算系统100的逻辑网络平台包括三个功能:管理、控制和数据。管理功能以api的形式提供逻辑网络平台的入口点。管理功能负责对控制功能和数据功能执行操作任务。控制功能基于来自管理功能的配置计算sd网络层175的运行时状态。控制功能还负责将由数据功能和配置报告的拓扑信息传播到数据功能的组件中。数据功能包括sd网络层175的组件,其基于由控制功能填充的表执行数据包的无状态转发和变换。在本文使用的术语中,逻辑网络平台的管理功能和控制功能由逻辑网络控制平面119执行,逻辑网络控制平面119包括在虚拟化管理服务器116和网络管理器112两者中的软件组件。即,虚拟化管理服务器116包括逻辑网络控制平面119的组件119-1,并且网络管理器包括逻辑网络控制平面119的组件119-2。在实施例中,管理功能在组件119-1和119-2之间划分,而控制功能完全在组件119-2内实现。逻辑网络平台的数据功能在管理程序150和支持vm 145中实现。可以在本文描述的实施例中配置和使用的一个示例逻辑网络平台是可从加州帕洛阿尔托的vmware有限公司商业获得的vmware平台。
33.在实施例中,虚拟化计算系统100包括边缘传输节点178。边缘传输节点178是sd网络层175中的物理或虚拟服务器(通过示例的方式在逻辑上分开示出),其提供到外部网络的出口和从外部网络的入口。在实施例中,边缘传输节点是形成为一个或更多个逻辑集群的vm(例如,支持vm 145),其在一个或更多个主机集群118中执行。这里进一步讨论边缘传输节点178。
34.虚拟化管理服务器116、网络管理器112和存储管理器110包括用于主机集群118、共享存储170和sd网络层175的虚拟基础设施(vi)控制平面113。类似于逻辑网络平台,服务器虚拟化平台包括管理功能、控制功能和数据功能。管理功能和控制功能由在虚拟化管理服务器116中执行的服务器虚拟化控制平面117执行。存储虚拟化平台同样可以包括在虚拟化管理服务器116和/或存储管理器110中执行的管理和控制平面功能。
35.在实施例中,系统100进一步包括图像注册表190和容器储存库192。如本文进一步描述的,监管器集群101的容器在荚vm 130中执行。容器自容器图像自旋向上。容器图像向图像注册表190注册,图像注册表管理多个容器储存库(其中之一在图1中被示为容器储存库192),容器储存库中存储向图像注册表190注册的所有容器的图像。在容器图像的注册期间,图像注册表190收集认证信息,并且在访问所注册的容器图像的后续请求期间,使用所收集的认证信息来认证请求者。一旦请求者被认证,图像注册表190就允许请求者提取注册给请求者的容器图像。
36.vi管理员可以通过vm管理客户端106与虚拟化管理服务器116交互。通过vm管理客户端106,vi管理员命令虚拟化管理服务器116形成主机集群118、配置资源池、资源分配策略和其他集群级功能,配置存储和联网,启用监管器集群101等。在实施例中,vi管理员通过vm管理客户端106与虚拟化管理服务器116交互,以提供描述sd网络层175的建议状态的声明性规范。在实施例中,vi管理员通过vm管理客户端106与虚拟化管理服务器116交互以执行其他功能,诸如使主机集群118能够作为监管器集群101,其进而提供描述sd网络层175的建议状态(例如,操作监管器集群所必需的状态)的声明性规范。
37.kubernetes客户端102表示用于用户对监管器kubernetes主设备104的输入接口。kubernetes客户端102通常被称为kubect1。通过kubernetes客户端102,用户将kubernetes系统的期望状态(例如,作为yaml文档)提交至监管器kubernetes主设备104。在实施例中,
用户在监管器命名空间的范围内提交期望的状态。作为响应,监管器kubernetes主设备104通过创建荚vm 130、创建本机vm 140、将vm连接至存储和逻辑网络、破坏荚vm 130和本机vm 140等来配置监管器集群101以匹配期望的状态。资源可以部署在监管器命名空间的范围内。以这种方式,用户与监管器kubernetes主设备104交互以在定义的监管器命名空间内的监管器集群101中部署应用。
38.如本文所述,虚拟化管理服务器116基于声明性规范协调sd网络层175,该声明性规范描述用于主机集群118的sd网络层175的建议状态。在实施例中,主机集群118作为上述的监管器集群101被启用,并且虚拟化管理服务器116协调sd网络层175以为监管器集群101提供sd网络配置。在其他实施例中,主机集群118不作为监管器集群101被启用。在这种情况下,图1中的一些组件可以是不活动的和/或省略,包括kubernetes客户端102、监管器kubernetes主设备104、图像注册表190、容器储存库192以及荚vm 130。虚拟化管理服务器116可以协调sd网络层175以提供用于在主机集群118中执行的本机vm 140的sd网络。虽然在本文中的不同示例中描述了监管器集群101和kubernetes系统,但是sd联网协调技术不限于此类示例,并且广泛地适用于具有不同配置中的一个或更多个主机集群的虚拟化系统。
39.图2是描绘根据实施例的软件平台124的框图。如上所述,主机120的软件平台124包括支持vm(例如荚vm130和本机vm140)的执行的管理程序150。在实施例中,管理程序150包括vm管理守护进程(daemon)213、主机守护进程214、荚vm控制器216、图像服务218、网络dp模块220和网络代理222。vm管理守护进程213是服务器虚拟化cp 117的控制平面代理152。vm管理守护进程213为虚拟化管理服务器116提供到主机守护进程214的接口。主机守护进程214被配置为创建、配置和移除vm(例如,荚vm 130和本机vm 140)。
40.荚vm控制器216是监管器集群101的协调控制平面115的控制平面代理152,并且允许监管器kubernetes主设备104与管理程序150交互。荚vm控制器216将相应主机配置为监管器集群101中的节点。荚vm控制器216管理荚vm 130的生命周期,例如,确定何时向上旋转或删除荚vm。荚vm控制器216还确保任何荚依赖性(例如容器图像、网络和体积)是可用的和正确配置的。如果主机集群118没有作为监管器集群101被启用,则省略荚vm控制器216。
41.图像服务218被配置成将容器图像下载并且提取到共享存储170,从而使得容器图像可以由荚vm 130安装。图像服务218还负责管理可用于共享存储170内的容器图像的存储。这包括利用图像注册表190管理认证,通过验证签名确保容器图像的提供,在必要时更新容器图像,以及垃圾收集未使用的容器图像。如果主机集群118没有作为监管器集群101被启用,则图像服务218被省略。
42.网络代理222包括逻辑网络cp 119的控制平面代理152。网络代理222被配置为与网络管理器112合作以控制网络dp模块220实现逻辑网络服务。网络代理222和网络dp模块220将相应的主机配置为传输节点集群103中的传输节点。网络dp模块220增强管理程序150的网络虚拟化功能。
43.每个荚vm 130在由容器引擎208管理的执行空间中具有在其中运行的一个或更多个容器206。容器206的生命周期由荚vm代理212管理。容器引擎208和荚vm代理212都在内核210(例如,内核)之上执行。每个本机vm 140具有在os 204之上在其中运行的应用202。本机vm 140不包括荚vm代理,并且与荚vm控制器216隔离。容器引擎208可以是工业标
准容器引擎,如libcontainer、runc或货箱(containerd)。如果主机集群118没有作为监管器集群101被启用,则省略荚vm 130。
44.图3是描绘根据实施例的具有在其中执行的应用的虚拟化计算系统100的逻辑视图的框图。在该实施例中,监管器集群101由sddc 350实现。sddc 350包括服务器虚拟化平台302和逻辑网络平台303。服务器虚拟化平台302包括主机集群118、虚拟化层(例如,管理程序150)和服务器虚拟化控制平面117(例如,虚拟化管理服务器116)。逻辑网络平台303包括网络管理器112和虚拟化层中的相关联的组件(例如,cp代理和dp代理)。服务器虚拟化平台302与逻辑网络平台303协作以协调sd网络层175。服务器虚拟化控制平面117(例如,虚拟化管理服务器116)提供用于计算、存储和网络的协调的单个实体。
45.在一些实施例中,vi管理员与虚拟化管理服务器116交互以配置sddc 350来实现监管器集群101和监管器集群101中的sd网络308。sd网络308包括部署的虚拟化基础设施(例如,分布式交换机、端口组、资源池、支持vm145)和在其上实现的逻辑网络服务(例如,逻辑交换、逻辑路由等)。
46.监管器集群101包括协调控制平面115,协调控制平面包括监管器kubernetes主设备104和荚vm控制器216。vi管理员与虚拟化管理服务器116交互以创建监管器命名空间312。每个监管器命名空间312包括资源池和授权约束。资源池包括关于监管器命名空间312的不同资源约束(例如,预留、限制和共享(rls)约束)。授权约束规定允许哪些角色在监管器命名空间312中执行哪些操作(例如,允许vi管理员创建、管理访问、分配资源、查看和创建对象;允许devop查看和创建对象;等等)。用户与监管器kubernetes主设备104交互以在监管器命名空间312的范围内的监管器集群101上部署应用310。在该示例中,用户在荚vm 130上部署应用310-1,在本机vm 140上部署应用310-2,并且在荚vm 130和本机vm 140两者上部署应用310-3。
47.在实施例中,用户还在监管器命名空间312内的监管器集群101上部署访客(guest)集群314以实现kubernetes集群。访客集群314受由其部署在其中的监管器命名空间所应用的授权和资源策略约束。协调控制平面115包括:访客集群基础设施软件(gcis),被配置为将访客集群314实现为监管器集群101的虚拟扩展。gcis创建和管理访客集群基础设施对象316以提供支持访客集群314的基础设施的抽象和物理表示。gcis在协调控制平面115中执行(例如,在监管器kubernetes主设备104中)。用户可以与访客集群314中的kubernetes控制平面交互,以部署不同容器化应用(应用310-4)。应用310可彼此通信或通过sd网络308与外部网络通信。
48.如上所述,在一些实施例中,sddc 350不作为监管器集群101被启用。在这样的情况下,sd网络308通常被部署在sddc 350中以供在其中执行的工作负载使用。监管器集群101、协调控制平面115、监管器命名空间312、访客集群基础设施对象316、访客集群314以及荚vm 130可以从图3中所示的逻辑视图中省略。由此,sddc 350通常可以支持本机vm 140的执行,其利用如本文所述的由服务器虚拟化平台302协调的sd网络308。
49.图4是描绘根据实施例的虚拟化计算系统100中的联网主机集群的框图。在所示的示例中,虚拟化计算系统100包括两个主机集群118-1和118-2,每个主机集群被配置成与图1所示的主机集群118相同或相似。每个主机集群118-1和118-2包括在其中执行的vm 130/140。每个vm 130/140包括至虚拟交换机406上的端口的一个或更多个虚拟网络接口。虚拟
交换机406包括耦合到nic 164的端口。nic 164耦合到物理网络180上的物理交换机408。物理网络180包括一个或更多个物理路由器410。物理路由器410耦合在物理网络180与外部网络412(诸如广域网(wan)(例如,公共互联网))之间。
50.在实施例中,网络管理器112和虚拟化管理服务器116包括管理集群402中的vm。管理集群402是在主机集群118内实现的逻辑集群。例如,可以在除了主机集群118-1和118-2之外的另一主机集群118内实现管理集群402。在另一示例中,管理集群402可在主机集群118-1或118-2之一内实现。网络管理器112和虚拟化管理服务器116具有耦合到与vm 130/140相同的虚拟交换机406上的端口的虚拟网络接口。
51.在实施例中,包括边缘传输节点178的支持vm 145形成边缘集群404。边缘集群404是在主机集群118内实现的逻辑集群。例如,边缘集群404可以在除了主机集群118-1和118-2之外的另一主机集群118中实现。在另一示例中,边缘集群404可在主机集群118-1或118-2之一内实现。支持vm 145(包括边缘传输节点178)具有耦合到与vm 130/140、网络管理器112和虚拟化管理服务器116相同的虚拟交换机406上的端口的虚拟网络接口。
52.vm 130/140在本文被称为“段”的l2网络(l2广播域)内通过物理网络180在自身之间交换数据。支持虚拟局域网(vlan-backed)段(也称为vlan网络或vlan)是在物理网络180上实现为传统vlan的l2广播域。在所示的示例中,物理网络180包括三个支持vlan段:支持管理vlan段(管理vlan 414);支持上行链路vlan段(上行链路vlan 416);以及支持覆盖(overlay)vlan段(覆盖vlan 418)。虚拟交换机406上的端口可与物理网络180的支持特定vlan段相关联。
53.例如,网络管理器112、虚拟化管理服务器116和边缘传输节点178可以耦合至与管理vlan 414相关联的相应虚拟交换机406上的端口。这允许网络管理器112、虚拟化管理服务器116和边缘传输节点178之间的管理流量的通信。虽然未具体示出,但是每个主机120内的管理程序150中的组件可以通过虚拟交换机406(例如,控制平面代理152、荚vm控制器216等)耦合到管理vlan 414。边缘传输节点178还可以耦合到与上行链路vlan 416相关联的虚拟交换机406上的端口。上行链路vlan 416上的流量可经由物理路由器410路由到外部网络412。上行链路vlan 416承载主机集群118与外部网络412之间的南北流量。
54.vm 130/140和边缘传输节点178可以耦合至与覆盖vlan 418相关联的相应虚拟交换机406上的端口。覆盖vlan 418承载vm 130/140之间的东西流量。覆盖vlan 418支持支持覆盖段或“逻辑段”。逻辑段是在vm之间通过覆盖vlan 418使用l2-叠加-l3隧道的逻辑l2网络。示例隧道协议包括vxlan和日内瓦(geneve)。通过部署逻辑交换机来实现逻辑段。覆盖vlan 418可携带与多个不同逻辑段相关联的流量,每个逻辑段是sd网络中的不同逻辑网络。为了支持逻辑段,虚拟交换机406是跨越期望通信的主机的分布式交换机420的一部分。在该示例中,分布式交换机420包括主机集群118-1、118-2和边缘集群404中的每个中的虚拟交换机406。这允许主机集群118-1中的vm通过覆盖网络(覆盖vlan 418)上的逻辑网络与主机集群118-2中的vm交换数据。这还允许主机集群118-1或主机集群118-2中的vm通过边缘传输节点178到达外部网络412。
55.图5是描绘根据实施例的分布式交换机420的框图。分布式交换机420包括一个或更多个端口组502和上行链路端口组508。上行链路端口组508包括一个或更多个上行链路510。每个端口组502可与物理网络180的支持vlan段相关联。连接至端口组502的vm在与该
端口组502相关联的特定支持vlan段上发送和接收流量。每个上行链路510与一个或更多个nic 164相关联。端口组502可被指派上行链路510以允许进出其中部署了分布式虚拟交换机406的主机120。虚拟化管理服务器116将端口组502和上行链路510推出到每个虚拟交换机406。在传输节点中,使用分布式路由器(dr)模块504和逻辑交换机模块506扩充实现分布式交换机420的虚拟交换机406,分布式路由器(dr)模块504和逻辑交换机模块506是逻辑网络平台的数据平面的一部分。dr模块504实现sd网络的一个或更多个dr。dr是在支持覆盖段(逻辑网络)之间路由的l3逻辑设备。逻辑交换机实现支持覆盖段(逻辑网络)。
56.图6a是描绘根据实施例的与网络管理器112通信的虚拟化管理服务器116的框图。虚拟化管理服务器116包括接口606、协调器608、监管器集群服务612、虚拟化管理服务610、网络管理服务614和数据库616。网络管理器112包括api 634、控制器636和数据库630。接口606包括api 602和用户接口(ui)604。
57.vi管理员通过接口606(直接使用api 602或通过ui 604(例如,web接口))与虚拟化管理服务器116交互。接口606允许vi管理员执行不同操作,诸如创建主机集群、将主机添加到主机集群、vm生命周期管理、创建资源池、启用监管器集群、创建vsan等。在实施例中,vi管理员可以通过接口606为sd网络提供声明性规范。在实施例中,协调器608是负责收集用户输入并响应于此调用各个服务的主要组件。协调器608可调用网络管理服务614来管理sd网络层175。协调器608可以调用用于其他任务(例如,集群创建、主机管理、vm生命周期管理、资源池管理等)的各个其他虚拟化管理服务610。虚拟化管理服务器116的各个服务将对象存储在数据库616中。示例对象包括vm 618、分布式交换机620、资源池622、监管器命名空间624、端口组626以及上行链路628。在实施例中,用户通过接口606与监管器集群服务612交互以使得主机集群118能够作为监管器集群101。监管器集群服务612调用协调器608以代表它管理sd网络层175。然后,协调器608如上所述工作以管理sd网络层175。
58.协调器608将描述sd网络层175的建议状态的声明性规范提供给网络管理服务614。协调器608可以直接从vi管理员或从另一服务(诸如监管器集群服务612)接收声明性规范。网络管理服务614通过管理vlan 414与网络管理器112通信,并且通过api 634与网络管理器112协作。在实施例中,网络管理服务614为对网络管理器112的api 634的api调用提供代理。例如,如果声明性规范调用逻辑交换机和逻辑路由器的部署,则网络管理服务614可生成对网络管理器112的ap1 634的api调用,以协调此类逻辑网络服务的部署。
59.在实施例中,网络管理服务614还执行除了代理对网络管理器112的api调用之外的功能。网络管理服务614可以响应于声明性规范而部署支持逻辑网络服务的虚拟化基础设施组件。例如,网络管理服务614可部署资源池622、分布式交换机620、端口组626、上行链路628和vm 618以将sd网络层175的当前状态带到声明性规范中的建议状态。如果建议状态要求部署逻辑网络服务,则网络管理服务614然后调用网络管理器112的api 634以部署由所供应的虚拟化基础设施组件支持的那些逻辑网络服务。
60.网络管理器112在数据库630中维护sd网络层175的部署的逻辑网络服务的状态。数据库630可跟踪各个逻辑网络服务632,诸如逻辑交换机、逻辑路由器、逻辑防火墙、逻辑vpn、逻辑负载平衡器、边缘服务等。控制器636提供逻辑网络层的控制功能并且与虚拟化层637(例如,管理程序150)、边缘传输节点178和网络插件635中的控制代理合作以部署和管理逻辑网络服务。网络插件635包括在协调控制平面115中执行的软件或在主机集群118上
执行的自请求在sd网络层175中部署/配置逻辑网络服务的应用。
61.图6b和6c是描绘根据实施例的协调器608、网络管理服务614和监管器集群服务612的替代配置的框图。图6b示出了其中协调器网络功能631被结合到网络管理服务614中而不是作为协调器608的一部分的示例。进一步,网络管理服务614被结合到监管器集群服务612中。vi管理员通过接口606与监管器集群服务612交互,其随后部署和管理监管器集群和相关联的sd联网。图6c示出了其中协调器网络功能631被结合到网络管理服务614中而不是作为协调器608的一部分的示例。网络管理服务614保持与监管器集群服务612分开。监管器集群服务612与网络管理服务614交互以协调和管理监管器集群的sd联网。vi管理员还可以通过接口606与网络管理服务614交互以管理用于其他主机集群的sd联网。
62.图7是描绘根据实施例的协调虚拟化计算系统的sd网络层175的方法700的流程图。方法700可以由虚拟化管理服务器116执行,虚拟化管理服务器116包括在由虚拟化层(例如,管理程序)或主机os管理的cpu、存储器、存储和网络资源上执行的软件。如上所述,虚拟化计算系统100包括主机集群118、虚拟化管理服务器116和网络管理器112,它们各自连接至物理网络180。主机集群118包括具有在硬件平台122上执行的虚拟化层(例如,管理程序15)的主机120。
63.方法700开始于步骤702,其中虚拟化管理服务器116接收描述主机集群118的sd网络层175的建议状态的声明性规范。声明性规范可由vi管理员直接输入(步骤704)或由另一服务提供(706),诸如为监管器集群101请求sd网络的监管器集群服务612。例如,vi管理员可以执行一些预协调步骤,诸如形成主机集群118和部署分布式交换机420。然后,vi管理员可以生成声明性规范,其识别主机集群118和分布式交换机420,描述要部署的网络(例如,管理网络、覆盖网络),以及描述网关和连接至网关的多个网络段。在另一示例中,vi管理员可以使得能够创建主机集群118并且使得主机集群118能够作为监管器集群101。监管器集群服务612提供描述支持监管器集群中的工作负载所必需的虚拟化基础设施和逻辑网络服务的声明性规范,例如分布式交换机、vlan网络的端口组、上行链路、资源池、边缘传输节点的vm以及要部署在边缘传输节点中的边缘服务。
64.在步骤708,虚拟化管理服务器116响应于声明性规范的建议状态而在主机集群118中部署虚拟化基础设施。例如,虚拟化管理服务器116可部署资源池(710),部署分布式交换机、端口组和上行链路(712),以及在资源池中部署vm(714)。例如,声明性规范可描述vlan网络和sd网络的边缘服务。作为响应,虚拟化管理服务器116(例如,网络管理服务614)为每个vlan网络部署端口组、将物理nic连接至端口组的上行链路、以及计算和存储器的资源池、以及资源池中的用于托管所描述的边缘服务(例如,服务网关/路由器)的vm。
65.在步骤716,响应于声明性规范的建议状态,虚拟化管理服务器116与网络管理器112协作来部署由虚拟化基础设施支持的逻辑网络服务。例如,虚拟化管理服务器116可与网络管理器112协作以在分布式交换机上部署逻辑段(718)、在分布式交换机上部署逻辑路由器(720)以及在vm中部署边缘服务(722)。例如,声明性规范可描述用于监管器集群101的sd网络,包括提供边缘服务的第0层(tier)网关和提供用于与监管器命名空间相关联的多个逻辑段的网关的第1层路由器。虚拟化管理服务器116(例如,网络管理服务614)与网络管理器112协作以在边缘传输节点中部署第0层网关,并且与dr协作以实现第1层路由器。虚拟化管理服务器116(例如,网络管理服务614)执行步骤708和716以将主机集群118的sd网络
层175的状态带到声明性规范中的建议状态。
66.图8a是以图形方式描绘根据实施例的sd网络层175的建议状态的声明性规范800的框图。声明性规范800可以由监管器集群服务612生成以提供用于支持监管器集群101中的工作负载的基础sd网络。声明性规范800定义一些元数据814,诸如集群id、分布式交换机id、数据存储区id等。声明性规范800还定义三个支持vlan段,即上行链路vlan 416、管理vlan 414和覆盖vlan 418。声明性规范800为上行链路vlan 416、管理vlan 414和覆盖vlan 418中的每一个定义vlan id和互联网协议(ip)信息。上行链路vlan 416将第0层网关812连接至物理路由器410(其不是声明性规范800的一部分)。管理vlan 414将第0层网关812连接至网络管理器112。第0层网关连接至覆盖vlan 418以提供下行链路以供将被部署在监管器集群101中的工作负载访问。
67.图8b是描绘根据实施例的响应于声明性规范800而实施的虚拟化基础设施和逻辑网络服务的框图。如图所示,边缘集群404部署在主机120-1和120-2中。边缘集群404包括被实施为vm的边缘传输节点178-1和178-2。网络管理服务614在两个不同的主机120-1和120-2上部署具有反关联性规则的边缘传输节点178-1和178-2。每个边缘传输节点178-1和178-2连接至三个不同的支持vlan段,即管理vlan 414、上行链路vlan 416和覆盖vlan 418。每个边缘传输节点178-1和178-2分别实现第0层网关804-1和804-2。边缘传输节点178-1和178-2以主动-被动配置在每个监管器集群101中被成对配置。这允许第0层网关的高可用性,从而避免单个故障点。此外,边缘集群404被配置在集群级别,这允许两个监管器集群之间的流量隔离。网络管理服务614可为边缘传输节点178-1和178-2创建资源池,以确保所提供的网络服务具有足够的资源用于连续、不间断的执行。
68.边缘传输节点178-1和178-2被配置为经由虚拟交换机406-1和406-2上的专用vlan id和端口组(例如,覆盖vlan 418)的覆盖传输区的一部分。这支持监管器集群中的传输节点(以及在其上执行的工作负载)与边缘传输节点178-1和178-2之间的业务流(例如,覆盖流量)。用于覆盖流量的边缘传输节点178-1和178-2的隧道端点接口标记有用户提供的vlan id(例如,vlan id#103)。覆盖vlan 418的网络接口被自动分配来自用户提供的ip池的ip地址(例如,172.16.10.1/24)。
69.边缘传输节点178-1和178-2被配置成使用端口组来管理通过管理vlan 414进出网络管理器112的管理流量。网络管理器112使用管理vlan 414来配置第0层网关804-1和804-2以及由这些网关提供的服务。
70.边缘传输节点178-1和178-2也分别通过虚拟交换机406-1和406-2上的端口组连接至上行链路vlan 416。这支持边缘传输节点178-1和178-2经由第0层网关804-1和804-2与外部网络之间的业务流。每个第0层网关包括由声明性规范800提供的静态ip配置(例如,192.168.240.3/24)。上行链路vlan 416上的流量标记有用户提供的vlan id(例如,vlan id#101)。虚拟交换机406-1和406-2是分布式交换机420的一部分,其包括端口组和无链路的定义。主机120-1和120-2上的nic 164可以连接至双架顶(tor)物理交换机802-1和802-2,第0层网关804-1和804-2通过双tor物理交换机802-1和802-2发送和接收上行链路业务和覆盖业务。为了清楚起见,从图8b中省略托管预期工作负载的其他传输节点。
71.图9是描绘根据实施例的在部署工作负载之后监管器集群101的sd联网层175的逻辑视图的框图。该结构建立在图8b所示的虚拟化基础设施和逻辑网络服务上。如图所示,第
0层网关812通过逻辑段902连接至第1层网关908。第1层网关连接至两个不同的逻辑段904和906。每个逻辑段904和906可对应于监管器集群101中的单独的监管器命名空间。工作负载取决于它们被部署在哪个监管器命名空间中而连接至逻辑段904和906之一。可以部署额外的逻辑段以支持额外的监管器命名空间。第1层网关908充当每个逻辑段的网关。第1层网关908可以被实现为跨主机的虚拟化层内的dr。第0层网关812充当第1层网关908的网关。逻辑交换机使用覆盖vlan 918支持每个逻辑段902、904和906。图9中所示的附加逻辑网络服务可例如根据由监管器集群服务612提供的声明性规范来部署。可替代地,网络插件635可以向虚拟化管理服务器116提交声明性规范以部署额外的逻辑交换机和第1层网关。在任一情况下,新的声明性规范提出sd网络层175的新状态,网络管理服务614与网络管理器112合作实现该新状态。
72.在此所描述的实施例可以采用涉及存储在计算机系统中的数据的不同计算机实施的操作。例如,这些操作可能需要物理量的物理操纵。通常,尽管不是必要的,但这些量可以采取电信号或磁信号的形式,其中这些量或这些量的表示可以被存储、传输、组合、比较、或以其他方式被操纵。这样的操作通常涉及诸如产生、识别、确定或比较的术语。在此描述的形成一个或更多个实施例的一部分的任何操作可以是有用的机器操作。
73.本发明的一个或更多个实施例还涉及一种用于执行这些操作的装置或设备。该装置可以出于所需目的而专门构造,或者该装置可以是由存储在计算机中的计算机程序选择性地激活或配置的通用计算机。各个通用机器可以与根据本文的教导编写的计算机程序一起使用,或者可以更方便地构造更专用的装置来执行所需的操作。
74.在此所描述的实施例可以用其他计算机系统配置来实践,包括手持式设备、微处理器系统、基于微处理器的或可编程消费电子产品、小型计算机、大型计算机等。
75.本发明的一个或更多个实施例可以被实现为一个或更多个计算机程序或者被实现为体现在计算机可读介质中的一个或更多个计算机程序模块。术语计算机可读介质是指可以存储数据的任何数据存储设备,该数据随后可以被输入到计算机系统。计算机可读介质可以基于任何现有的或随后开发的技术,其以使计算机能够读取程序的方式体现计算机程序。计算机可读介质的示例是硬盘驱动器、nas系统、只读存储器(rom)、ram、致密盘(cd)、数字通用盘(dvd)、磁带和其他光学和非光学数据存储装置。计算机可读介质还可分布在网络耦合的计算机系统上,使得计算机可读代码以分布式方式被存储和执行。
76.尽管为了清楚地理解已经详细描述了本发明的一个或更多个实施例,但在权利要求书的范围内可以进行某些改变。因此,所描述的实施例被视为说明性的而非限制性的,并且权利要求的范围并不局限于本文中所给出的细节,而是可在权利要求的范围和等同物内进行修改。在权利要求中,除非在权利要求中明确说明,否则元件和/或步骤不暗示任何特定的操作顺序。
77.根据各个实施例的虚拟化系统可以实现为托管实施例、非托管实施例、或模糊两者之间的区分的实施例。此外,各个虚拟化操作可以完全或部分地在硬件中实现。例如,硬件实现可采用查找表用于修改存储访问请求来保护非盘数据。
78.许多变化、添加和改进是可能的,而不管虚拟化的程度。因此,虚拟化软件可包括执行虚拟化功能的主机、控制台或客户机os的组件。
79.可以为在此描述为单个实例的部件、操作或结构提供多个实例。组件、操作和数据
存储之间的边界在某种程度上是任意的,并且在特定说明性配置的上下文中示出了特定操作。功能的其他分配是预想的并且可以落入本发明的范围内。通常,在示例性配置中作为单独部件呈现的结构和功能可以作为组合的结构或部件来实现。类似地,作为单个组件呈现的结构和功能可以实现为单独的组件。这些和其他变化、添加和改进可落入所附权利要求书的范围内。
技术特征:1.一种协调虚拟化计算系统的软件定义(sd)网络层的方法,所述虚拟化计算系统包括主机集群、虚拟化管理服务器和网络管理服务器,它们各自连接至物理网络,所述主机集群具有多个主机和在所述多个主机的硬件平台上执行的虚拟化层,所述方法包括:在所述虚拟化管理服务器处接收描述所述主机集群的sd网络的建议状态的声明性规范;响应于所述声明性规范中的所述建议状态,由所述虚拟化管理服务器在所述主机集群中部署虚拟化基础设施组件;以及响应于所述声明性规范中的所述建议状态,由所述虚拟化管理服务器与所述网络管理服务器协作部署由所述虚拟化基础设施组件支持的逻辑网络服务。2.根据权利要求1所述的方法,其中所述虚拟化基础设施组件包括所述虚拟化层中的分布式交换机和所述分布式交换机上的端口组,所述端口组实现所述声明性规范中定义的网络。3.根据权利要求2所述的方法,其中所述声明性规范描述了所述网络的虚拟局域网(vlan)标识符,并且其中所述端口组中的每一个与所述vlan标识符中的相应一个相关联。4.根据权利要求2所述的方法,其中所述虚拟化基础设施组件包括在所述虚拟化层上执行的至少一个虚拟机(vm),所述至少一个虚拟机中的每个虚拟机连接至所述分布式交换机上的所述端口组中的至少一个,所述至少一个虚拟机中的每个虚拟机具有至少一个虚拟网络接口,所述至少一个虚拟网络接口具有在所述声明性规范中定义的互联网协议(ip)地址。5.根据权利要求4所述的方法,其中所述逻辑网络服务包括在所述至少一个vm中的第一vm中执行的网关,其中在所述声明性规范中定义的所述网络包括管理网络、覆盖网络和上行链路网络,其中所述端口组包括实现所述管理网络的第一端口组、实现所述覆盖网络的第二端口组和实现所述上行链路网络的第三端口组,并且其中所述网关连接至第一端口组、第二端口组和第三端口组中的每一个。6.根据权利要求4所述的方法,其中所述逻辑网络服务包括:在所述至少一个vm中的第一vm中执行的第0层网关、在所述分布式交换机中作为分布式路由器实现的第1层网关以及至少一个逻辑交换机,所述第1层网关被连接至所述第0层网关,在所述分布式交换机中实现的所述至少一个逻辑交换机被连接至所述第1层网关。7.根据权利要求1所述的方法,其中所述虚拟化管理服务器包括网络管理服务,并且其中所述网络管理服务协调所述虚拟化基础设施组件和所述逻辑网络服务的所述部署,所述网络管理服务通过调用所述网络管理服务器的应用编程接口(api)来执行部署所述逻辑网络服务的步骤。8.根据权利要求1所述的方法,其中所述虚拟化管理服务器包括协调服务和网络管理服务,其中所述协调服务被配置为接收所述声明性规范并且与所述网络管理服务协作以执行部署所述虚拟化基础设施组件和部署所述逻辑网络服务的步骤,所述网络管理服务调用所述网络管理服务器的应用编程接口(api)。9.根据权利要求8所述的方法,其中所述虚拟化管理服务器包括被配置为部署与所述虚拟化层集成的协调控制平面的监管器集群服务,其中所述监管器集群服务将所述声明性规范提供给所述协调服务。
10.根据权利要求1所述的方法,其中所述虚拟化管理服务器包括网络管理服务和监管器集群服务,所述监管器集群服务被配置为部署与所述虚拟化层集成的协调控制平面,其中所述监管器集群服务将所述声明性规范提供给所述网络管理服务,并且其中所述网络管理服务协调所述虚拟化基础设施组件和所述逻辑网络服务的部署,所述网络管理服务通过调用所述网络管理服务器的应用编程接口(api)来执行部署所述逻辑网络服务的步骤。11.一种非暂时性计算机可读介质,其包括指令,所述指令用于在计算设备中执行以使所述计算设备执行协调虚拟化计算系统的软件定义(sd)网络层的方法,所述虚拟化计算系统包括主机集群、虚拟化管理服务器和网络管理服务器,它们各自连接至物理网络,所述主机集群具有多个主机和在所述多个主机的硬件平台上执行的虚拟化层,所述方法包括:在所述虚拟化管理服务器处接收描述所述主机集群的sd网络的建议状态的声明性规范;响应于所述声明性规范中的所述建议状态,由所述虚拟化管理服务器在所述主机集群中部署虚拟化基础设施组件;以及响应于所述声明性规范中的所述建议状态,由所述虚拟化管理服务器与所述网络管理服务器协作部署由所述虚拟化基础设施组件支持的逻辑网络服务。12.根据权利要求11所述的非暂时性计算机可读介质,其中:所述虚拟化基础设施组件包括所述虚拟化层中的分布式交换机和所述分布式交换机上的端口组,所述端口组实现所述声明性规范中定义的网络;以及所述虚拟化基础设施组件包括在所述虚拟化层上执行的至少一个虚拟机(vm),所述至少一个虚拟机中的每一个连接至所述分布式交换机上的所述端口组中的至少一个,所述至少一个虚拟机中的每一个具有至少一个虚拟网络接口,所述至少一个虚拟网络接口具有在所述声明性规范中定义的互联网协议(ip)地址。13.根据权利要求11所述的非暂时性计算机可读介质,其中所述虚拟化管理服务器包括网络管理服务,并且其中所述网络管理服务协调所述虚拟化基础设施组件和所述逻辑网络服务的部署,所述网络管理服务通过调用所述网络管理服务器的应用编程接口(api)来执行部署所述逻辑网络服务的步骤。14.根据权利要求11所述的非暂时性计算机可读介质,其中所述虚拟化管理服务器包括协调服务和网络管理服务,其中所述协调服务被配置为接收所述声明性规范并且与所述网络管理服务协作以执行部署所述虚拟化基础设施组件和部署所述逻辑网络服务的步骤,所述网络管理服务调用所述网络管理服务器的应用编程接口(api)。15.根据权利要求14所述的非暂时性计算机可读介质,其中所述虚拟化管理服务器包括被配置为部署与所述虚拟化层集成的协调控制平面的监管器集群服务,其中所述监管器集群服务将所述声明性规范提供给所述协调服务。16.根据权利要求11所述的非暂时性计算机可读介质,其中所述虚拟化管理服务器包括网络管理服务和监管器集群服务,所述监管器集群服务被配置为部署与所述虚拟化层集成的协调控制平面,其中所述监管器集群服务将所述声明性规范提供给所述网络管理服务,并且其中所述网络管理服务协调所述虚拟化基础设施组件和所述逻辑网络服务的所述部署,所述网络管理服务通过调用所述网络管理服务器的应用编程接口(api)来执行部署所述逻辑网络服务的步骤。
17.一种虚拟化计算系统,包括:分别与物理网络连接的主机集群、虚拟化管理服务器和网络管理服务器;所述主机集群包括多个主机和在所述多个主机的硬件平台上执行的虚拟化层;所述网管服务器被配置为管理所述主机集群的sd网络;以及所述虚拟化管理服务器被配置为:接收描述所述主机集群的sd网络的建议状态的声明性规范;响应于所述声明性规范中的所述建议状态,在所述主机集群中部署虚拟化基础设施组件;以及响应于所述声明性规范中的所述建议状态,与所述网络管理服务器协作部署由所述虚拟化基础设施组件支持的逻辑网络服务。18.根据权利要求17所述的虚拟化计算系统,其中:所述虚拟化基础设施组件包括所述虚拟化层中的分布式交换机和所述分布式交换机上的端口组,所述端口组实现所述声明性规范中定义的网络;以及所述虚拟化基础设施组件包括在所述虚拟化层上执行的至少一个虚拟机(vm),所述至少一个虚拟机中的每一个连接至所述分布式交换机上的所述端口组中的至少一个,所述至少一个虚拟机中的每一个具有至少一个虚拟网络接口,所述至少一个虚拟网络接口具有在所述声明性规范中定义的互联网协议(ip)地址。19.根据权利要求18所述的虚拟化计算系统,其中所述逻辑网络服务包括在所述至少一个vm中的第一vm中执行的网关,其中在所述声明性规范中定义的所述网络包括管理网络、覆盖网络和上行链路网络,其中所述端口组包括实现所述管理网络的第一端口组、实现所述覆盖网络的第二端口组和实现所述上行链路网络的第三端口组,并且其中所述网关连接至所述第一端口组、所述第二端口组和所述第三端口组中的每一个。20.根据权利要求18所述的虚拟化计算系统,其中所述逻辑网络服务包括在所述至少一个vm中的第一vm中执行的第0层网关、在所述分布式交换机中作为分布式路由器实现的第1层网关以及至少一个逻辑交换机,所述第1层网关被连接至所述第0层网关,在所述分布式交换机中实现的所述至少一个逻辑交换机被连接至所述第1层网关。
技术总结描述了一种协调虚拟化计算系统的软件定义(SD)网络层的示例方法,虚拟化计算系统包括主机集群、虚拟化管理服务器和网络管理服务器,它们各自连接至物理网络,主机集群具有多个主机和在这些主机的硬件平台上执行的虚拟化层。该方法包括:在虚拟化管理服务器处接收描述主机集群的SD网络的建议状态的声明性规范;响应于声明性规范中的建议状态,由虚拟化管理服务器部署主机集群中的虚拟化基础设施组件;以及响应于声明性规范中的建议状态,由虚拟化管理服务器与网络管理服务器协作部署由虚拟化基础设施组件支持的逻辑网络服务。由虚拟化基础设施组件支持的逻辑网络服务。由虚拟化基础设施组件支持的逻辑网络服务。
技术研发人员:B
受保护的技术使用者:威睿公司
技术研发日:2021.03.26
技术公布日:2022/11/1