使用独立操作的至少两个调度器在跨主机集群分布的公共资源集上调度工作负载。资源包括CPU、存储器、网络和存储,并且工作负载可以是虚拟对象,包括VM,并且还可以是包括虚拟对象的实时迁移、网络文件复制、为高可用性重启保留备用容量以及选择将进入维护模式的主机在内的操作。此外,至少两个独立调度器被指派优先级,使得在较低优先级调度器被执行以在公共资源集上调度其清单中的工作负载之前,较高优先级调度器被执行以在公共资源集上调度其清单中的工作负载。清单中的工作负载。清单中的工作负载。
【技术实现步骤摘要】
【国外来华专利技术】由独立操作的多个调度器在公共资源集上调度工作负载
[0001]相关申请的交叉引用
[0002]本申请要求在2020年7月30日提交的题目为“由独立操作的多个调度器在公共资源集上调度工作负载(SCHEDULING WORKLOADS ON A COMMON SET OF RESOURCES BY MULTIPLE SCHEDULERS OPERATING INDEPENDENTLY)”的美国非临时专利申请No.16/943,710的优先权,将其通过引用并入,如同在本文中全面阐述其全文。
技术介绍
[0003]今天的应用被部署到虚拟机(VM)、容器、应用服务等的组合上。为了部署这样的应用,被已知为的容器协调平台已经在应用开发者中得到普及。Kubernetes提供了一种用于使应用容器跨主机集群的部署、缩放和操作自动化的平台。它提供应用开发的灵活性并提供用于缩放的若干有用工具。
[0004]在Kubernetes系统中,容器被分组为称为“荚(pod)”的逻辑单元。同一荚中的容器共享相同的资源和网络,并保持与其他荚中的容器的一定程度的隔离。荚跨Kubernetes系统的节点分布,并且在每个节点上提供图像高速缓存以加速荚部署。节点包括操作系统(OS),例如以及在支持荚的容器的OS之上执行的容器引擎。Kubernetes控制平面组件(例如,kubelet)与容器一起在OS上执行。由此,节点包括在共享OS上执行的多个容器和控制平面组件。
[0005]Kubernetes节点可以在虚拟化计算系统中实现,该虚拟化计算系统包括主机集群,该主机集群具有在主机硬件平台上执行以支持虚拟机(VM)的执行的虚拟化层。在该系统中,集群中的每个主机作为Kubernetes节点操作并且Kubernetes荚被实现为VM(以下称为“荚VM”),每个VM包括OS和在其中支持容器的执行的容器引擎。这种Kubernetes系统还包括实现Kubernetes控制平面组件并支持使用荚VM实现的应用的其他VM。
[0006]将Kubernetes控制平面集成到虚拟化计算系统中导致调度复杂性,因为Kubernetes控制平面采用调度器以将荚放置在节点上(在集成系统中,这意味着荚VM在集群的主机上被调度),并且虚拟化计算系统采用调度器以将VM(包括荚VM)放置在集群的相同主机上。这些调度器(每个调度器运行其自身的调度算法)可以决定在不同的主机上放置荚VM。
[0007]美国专利申请No.16/681,990公开了一种技术,其中当将荚VM放置在主机集群上时,VM调度器与Kubernetes调度器协作。在该技术中,Kubernetes调度器包括与VM调度器通信以在将荚VM放置在主机集群上时请求和获取主机推荐的扩展。
技术实现思路
[0008]一个或更多个实施例提供了一种用于使用独立操作的至少两个调度器来调度工作负载的方法。工作负载可以是虚拟对象,包括VM,并且也可以是包括虚拟对象的实时迁移、网络文件复制、为高可用性重启保留备用容量以及选择将进入维护模式的主机在内的操作。根据实施例,在跨主机集群分布的公共资源集上调度这些工作负载。这些资源包括
CPU、存储器、网络和存储。此外,至少两个独立调度器被指派优先级,使得在执行较低优先级的调度器以在公共资源集上调度其清单中的工作负载之前,执行较高优先级的调度器以在公共资源集上调度其清单中的工作负载。
[0009]进一步的实施例包括但不限于非暂时性计算机可读存储介质,该非暂时性计算机可读存储介质包括:用于处理器执行上述方法的指令;以及计算机系统,该计算机系统包括被编程以执行上述方法的处理器。
附图说明
[0010]图1是可以实现实施例的虚拟化计算系统的框图。
[0011]图2是描绘根据实施例的由调度器仲裁器执行的方法的步骤的流程图。
[0012]图3是描绘根据实施例的由资源预算分配器执行的方法的步骤的流程图。
[0013]图4是描绘根据实施例的由每个调度器执行的方法的步骤的流程图。
[0014]图5是可以实现实施例的另一个虚拟化计算系统的框图。
[0015]图6是示出了图5的虚拟化计算系统中的分布式调度器的实现方式的概念图。
[0016]图7
‑
8是示出了分布式调度器的其他实现方式的概念图。
具体实施方式
[0017]图1是可以实现实施例的虚拟化计算系统100的框图。虚拟化计算系统100包括可以在诸如x86架构平台之类的服务器级硬件平台上构建的主机120的集群118(也称为“主机集群118”)。如图所示,每个主机120的硬件平台122包括计算设备的常规组件,诸如一个或更多个中央处理单元(CPU)160、系统存储器(例如,随机存取存储器(RAM)162)、一个或更多个网络接口控制器(NIC)164和可选的本地存储设备163。CPU 160被配置为执行指令,例如,执行本文描述的一个或更多个操作的可执行指令,所述指令可存储在RAM 162中。NIC 164使得主机120能够通过网络180与其他设备通信。网络180是实现主机120之间和其他组件与主机120(本文进一步讨论的其他组件)之间的通信的物理网络。
[0018]在图1所示的实施例中,主机120通过使用NIC 164连接至网络180来访问共享存储170。在另一个实施例中,每个主机120包含主机总线适配器(HBA),通过主机总线适配器,输入/输出操作(IO)通过单独的网络(例如,光纤信道(FC)网络)被发送至共享存储170。共享存储170包括一个或更多个存储阵列,诸如存储区域网络(SAN)、网络附加存储(NAS)等。共享存储170可包括磁盘、固态盘、闪存等以及它们的组合。在一些实施例中,主机120包括本地存储163(例如,硬盘驱动器、固态驱动器等)。每个主机120中的本地存储163可以被聚合并提供作为虚拟SAN(vSAN)的一部分,虚拟SAN是另一种形式的共享存储170。
[0019]每个主机120的软件平台124提供虚拟化层,在此被称为管理程序150。管理程序150抽象硬件平台122的处理器、存储器、存储和网络资源以提供虚拟机执行空间,在该虚拟机执行空间内多个虚拟机(VM)可被并发地实例化和执行。可以在本文描述的实施例中配置和使用的管理程序150的一个示例是作为VMware解决方案的一部分提供的VMware ESXi
TM
管理程序,其由加州帕洛阿尔托的VMware有限公司商业可获得。如图1所示,在每个主机120上执行的VM包括荚VM 130和本机VM 140。荚VM 130是虚拟机,其包括OS和支持容器执行的容器引擎,以及与在管理程序150中执行的协调控制平面115的控制器(称为
荚VM控制器)协作的代理(称为荚VM代理)。一些本机VM 140在主机集群118内具有特定功能,诸如控制VM 143和支持VM 145。控制VM 143是如本文进一步描述的实现控制平面的VM。支持VM 145是由控制平面创建以支持使用荚VM 130和/或本本文档来自技高网...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种使用至少两个独立调度器在跨主机集群分布的公共资源集上调度工作负载的方法,所述至少两个独立调度器包括用于调度高优先级工作负载的高优先级调度器和用于调度低优先级工作负载的低优先级调度器,所述方法包括:使用所述高优先级调度器在所述公共资源集上调度所述高优先级工作负载;以及然后使用所述低优先级调度器在所述公共资源集上调度所述低优先级工作负载。2.根据权利要求1所述的方法,还包括:将来自所述公共资源集的总资源预算的第一资源预算分配给所述高优先级工作负载,并且将来自所述公共资源集的所述总资源预算的第二资源预算分配给所述低优先级工作负载,其中所述高优先级调度器根据所述第一资源预算执行所述高优先级工作负载的所述调度,并且所述低优先级调度器根据所述第二资源预算执行所述低优先级工作负载的所述调度。3.根据权利要求1所述的方法,其中所述至少两个独立调度器中的每个是集群级调度器,并且所述第一资源预算和所述第二资源预算中的每个被限定用于所述集群。4.根据权利要求1所述的方法,其中所述至少两个独立调度器中的每个是集群级调度器,并且所述第一资源预算和所述第二资源预算中的每个针对每个单独的主机定义。5.根据权利要求1所述的方法,还包括:使用主机级调度器来调度由所述至少两个独立调度器在单独的主机上调度的工作负载。6.根据权利要求1所述的方法,还包括:在确定不能在主机上调度高优先级工作负载时,将当前在所述主机中正执行的一个或更多个工作负载迁移到另一主机。7.根据权利要求1所述的方法,其中为由所述高优先级调度器管理的高优先级工作负载的子集定义所述第一资源预算,并且为由所述低优先级调度器管理的低优先级工作负载的子集定义所述第二资源预算。8.根据权利要求1所述的方法,其中所述调度所述高优先级工作负载包括:跨所述主机集群执行所述高优先级工作负载的碎片整理;以及所述调度所述低优先级工作负载包括:跨所述主机集群执行所述低优先级工作负载的碎片整理。9.根据权利要求1所述的方法,其中所述低优先级工作负载包括在所述集群的所述主机上运行的荚虚拟机,所述荚虚拟机分别对应于Kubernetes平台的节点,并且高优先级工作负载包括在所述集群的所述主机上运行的不是荚虚拟机的其他虚拟机。10.根据权利要求1所述的方法,其中所述高优先级工作负载包括在所述集群的所述主机上运行的控制虚拟机,所述控制虚拟机以分布式方式执行用于所述集群的虚拟机管理操作,并且低优先级工作负载包括在所述集群的所述主机上运行的不是控制虚拟机的其他虚拟机。11.根据权利要求1所述的方法,其中所述工作负载包括虚拟对象和操作,所述操作包括虚拟对象的实时迁移、网络文件复制、为高可用性重启保留备用容量以及选择将进入维
护模式的主机。12.根据权利要求1所述的方法,其中所述资源包括CPU、存储器、网络和存储。13.一种计算机系统,包括:跨主机计算机集群...
【专利技术属性】
技术研发人员:M,
申请(专利权)人:威睿公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。