一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

资源调度方法、设备及系统与流程

2021-10-24 13:12:00 来源:中国专利 TAG:调度 通信 方法 设备 系统


1.本技术涉及通信技术领域,尤其涉及一种资源调度方法、设备及系统。


背景技术:

2.服务器虚拟化技术是云计算中基于基础设施层的关键技术。该技术通过对物理服务器进行虚拟化,实现在单台物理机上部署多台虚拟机(virtual machine ,vm)。为提高服务器的资源利用率,降低使用成本。计算集群是将多台虚拟机或物理机组成为一个有机的整体,进行统一管理,通过虚拟化技术将物理资源抽象为存储、计算、网络等各种资源组成的资源池,通过按需申请资源的方式提供给用户。
3.计算集群的资源是有限的,因此,提高计算集群的资源利用率,是本领域技术人需要解决的技术问题。


技术实现要素:

4.本技术的多个方面提供一种资源调度方法、设备及系统,用以提高资源利用率。
5.本技术实施例提供一种资源调度方法,包括:获取第一计算集群的属性信息;根据第一计算集群的属性信息,构建虚拟集群;以应用实例在所述虚拟集群中集中部署为目标,根据所述虚拟集群的属性信息,在所述虚拟集群中进行应用实例的迁移模拟,得到目标模拟调度结果;根据所述目标模拟调度结果,确定待迁移的应用实例及所述待迁移的应用实例对应的所述第一计算集群中的目标计算节点;利用准入控制器绑定所述待迁移的应用实例与所述目标计算节点;根据所述待迁移的应用实例与所述目标计算节点的绑定关系,将所述待迁移实例从原计算节点迁移至所述目标计算节点。本技术实施例还提供一种计算系统,包括:管控节点和第一计算集群;所述管控节点,用于获取第一计算集群的属性信息;根据第一计算集群的属性信息,构建虚拟集群;以应用实例在所述虚拟集群中集中部署为目标,根据所述虚拟集群的属性信息,在所述虚拟集群中进行应用实例的迁移模拟,得到目标模拟调度结果;以及,根据所述目标模拟调度结果,确定待迁移的应用实例及所述待迁移的应用实例对应的所述第一计算集群中的目标计算节点;利用准入控制器绑定所述待迁移的应用实例与所述目标计算节点;根据所述待迁移的应用实例与所述目标计算节点的绑定关系,将所述待迁移实例从原计算节点迁移至所述目标计算节点。本技术实施例还提供一种计算机设备,包括:存储器和处理器;其中,所述存储器,用于存储计算机程序;所述处理器耦合至所述存储器,用于执行所述计算机程序以用于执行上述资源调度方法中的步骤。
6.在本技术实施例中,可根据计算集群的属性信息,构建虚拟集群;并以应用实例在
虚拟集群中集中部署为目标,根据虚拟集群的属性信息,在虚拟集群中进行应用实例的迁移模拟,得到模拟调度结果;之后,可根据模拟调度结果,确定待迁移的应用实例及待迁移的应用实例对应的目标计算节点,之后可利用准入控制器绑定待迁移的应用实例与目标计算节点;根据待迁移的应用实例与所述目标计算节点的绑定关系,将待迁移实例从原计算节点迁移至目标计算节点,实现了计算集群的资源整理,可减少计算集群中的碎片资源,有助于提高计算集群的资源利用率。另一方面,利用准入控制器绑定待迁移的应用实例与目标计算节点可绕过原计算集群管理系统的调度器,可直接使用模拟调度结果进行应用实例迁移,无需原计算集群管理系统的调度器重新为应用实例进行资源调度。
附图说明
7.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:图1为本技术实施例提供的计算系统的结构示意图;图2为本技术实施例提供的虚拟集群的构建过程示意图;图3为本技术实施例提供的应用实例模拟迁移的过程示意图;图4为本技术实施例提供的在计算集群上进行应用实例迁移的过程示意图;图5为本技术实施例提供的资源调度方法的流程示意图;图6为本技术实施例提供的计算机设备的结构示意图。
具体实施方式
8.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
9.计算集群的资源是有限的,因此,提高计算集群的资源利用率,是本领域技术人需要解决的技术问题。在本技术一些实施例中,可根据计算集群的属性信息,构建虚拟集群;并以应用实例在虚拟集群中集中部署为目标,根据虚拟集群的属性信息,在虚拟集群中进行应用实例的迁移模拟,得到模拟调度结果;之后,可根据模拟调度结果,对确定待迁移的应用实例及待迁移的应用实例对应的目标计算节点,之后可利用准入控制器绑定待迁移的应用实例与目标计算节点;根据待迁移的应用实例与所述目标计算节点的绑定关系,将待迁移实例从原计算节点迁移至目标计算节点,对计算集群实现了资源整理,可减少计算集群中的碎片资源,有助于提高计算集群的资源利用率。
10.另一方面,利用准入控制器绑定待迁移的应用实例与目标计算节点可绕过原计算集群管理系统的调度器,可直接使用模拟调度结果进行应用实例迁移,无需原计算集群管理系统的调度器重新为应用实例进行资源调度。
11.以下结合附图,详细说明本技术各实施例提供的技术方案。
12.应注意到:相同的标号在下面的附图以及实施例中表示同一物体,因此,一旦某一物体在一个附图或实施例中被定义,则在随后的附图和实施例中不需要对其进行进一步讨论。
13.图1为本技术实施例提供的计算系统的结构示意图。如图1所示,计算系统s10包括:管控节点10和计算集群20。其中,计算集群20的数量可以为1个或多个,多个是指2个或2个以上。
14.本实施例的计算系统s10可为基于云计算技术的能力,构筑在基础设施之上的云计算平台,可为具备计算、网络、存储、安全等能力的云平台。本实施例提供的计算系统s10可实现为中心云,也可为边缘云。当然,计算系统s10可为公有云,也可为私有云。
15.在本实施例中,管控节点10是指具有资源管控能力的设备、装置、模块或软件功能模块对应的逻辑节点。在本实施例中,一个计算集群20可为一个机房、一个数据中心(data center,dc)或者互联网数据中心(internet data center,idc)等。对于边缘云网络来说,一个计算集群20可包括一个或多个计算节点(node)201。多个是指2个或2个以上。其中,计算节点201可为物理机,也可为运行在物理机上的虚拟机等。
16.在本实施例中,计算集群20可以对外提供各种资源。在本实施例中,计算集群20提供的资源可包括硬件资源和软件资源。其中,硬件资源可包括:处理器等计算资源,内存、磁盘等存储资源。其中,处理器可以为cpu、gpu、fpga等等。软件资源可包括:带宽、网段、网卡配置等网络资源以及操作系统等。
17.本实施例提供的计算系统s10可向用户提供云计算服务。基于本实施例提供的计算系统s10,资源需求方可以在计算节点201上部署服务,即部署应用实例;也可删除或修改计算节点中已部署的应用实例。其中,应用实例可为容器或容器组(如pod等)。在本技术实施例中,不限定计算节点201上部署的服务类型。例如,计算节点上部署的服务可以为内容分发(content delivery network,cdn)服务、计算服务、网络服务或存储服务等。在本技术实施例中,并不对计算服务进行限定,例如可以是但不限于:视频直播服务、视频点播服务、音视频处理服务以及视频ai服务等视频类服务;还可为在线教育服务、远程办公服务、线上购物服务、在线游戏服务、邮箱服务、vr服务、企业网站、应用类或其它内容下载服务等。
18.在实际应用中,为了实现对计算集群20的资源管理,可部署kubernetes(简称k8s)控制面程序,作为k8s中的管控节点(master节点)。进一步,可将计算集群中的所有主机(包括:物理机和虚拟机)统一接管到k8s控制面中,这样,可以计算集群20中的主机作为k8s的计算节点(node,也可称为k8s节点)进行资源调度。在本技术实施例中,管控节点10可部署于master节点,也可部署于计算节点。对于部署于计算节点的情况来说,该计算节点需要具有访问计算集群20的能力,部署管控节点10的计算节点包含运行客户端(client)包的进程等。
19.但是,在实际应用中,由于某些原因导致计算节点201的资源利用率较低。例如,在在线服务和离线服务混合部署的场景中,计算节点201上部署的提供离线服务的应用实例,在离线服务停止后,会释放离线服务的应用实例所占用的资源,该计算节点201中剩余在线服务对应的应用实例,资源利用率降低。在本技术实施例中,为了提高计算集群20的资源利用率,提出基于仿真调度的应用实例碎片资源整理的资源调度方案。下面对本技术实施例提供的资源调度方案进行示例性说明。
20.如图1所示,在本实施例中,管控节点10可获取计算集群20的属性信息。其中,计算集群20包括:计算节点201,还包括:计算节点201上部署的应用实例(如pod等)。相应地,计算集群20的属性信息包括:计算节点201的属性信息和计算节点201上部署的应用实例的属
性信息。
21.其中,计算节点201的属性信息可包括:计算节点201的资源信息以及影响资源调度的其它信息。如计算节点201的影响资源调度的信息包括:标签(label)信息、污点(taint)信息、工作负载(workload)信息、持久卷声明(pvc)以及持久卷(pv)信息等。
22.其中,标签(label)信息用于标识计算节点(node)201对应用实例(pod)是否有亲和度。添加有标签的计算节点201对应用实例具有亲和度,即可在添加有标签的计算节点201上部署应用实例。污点为定义在计算节点之上的键值性属性数据,用于让计算节点拒绝将应用实例调度运行于其上,除非该应用实例具有接纳计算节点污点的容忍度。
23.其中,容忍度为定义在应用实例(如pod)上的键值型的属性数据,用于配置其可容忍的计算节点的污点,而且调度器仅可将应用实例调度至该应用实例能够容忍节点污点的计算节点上。
24.上述工作负载(workload)信息可包括: statefulset、deployment、replicaset、daemonset等资源。这些资源信息包含了应用实例数量以及应用实例的亲和性规则等。只有与workload的亲和性规则适配的应用实例才可部署在该计算节点上。
25.上述持久卷(pv)信息,包括节点亲和度(nodeaffinity信息,直接影响调度结果,即如果待部署应用实例需要使用持久卷资源,其节点亲和度需要与pv信息中包含的节点亲和度适配,该应用实例才可部署在本计算节点上。
26.上述持久卷声明(pvc)是指对pv的声明信息,可包括:被选择节点(selected

node)信息,直接影响调度结果。即如果待部署应用实例需要使用持久卷资源,只能部署在pvc声明的selected

node信息对应的计算节点上。
27.对于上述计算节点201上部署的应用实例的属性信息,可包括:实例资源信息、调度亲和性规则、容忍度规则以及标签(label)等。其中,关于容忍度的描述,可参见上述相关内容,在此不再赘述。调度亲和性规则是指应用实例与其它应用实例之间的亲和度规则;对于具有亲和性的应用实例,可部署于同一计算节点;对于不具有亲和性的应用实例,不能部署于同一计算节点。标签用于表明应用实例与与其它应用实例之间的亲和度。
28.上述计算节点和应用实例的属性信息仅为示例性说明,并不意味着计算节点和应用实例只包含上述属性信息。
29.值得说明的是,对于计算节点上部署的应用实例,有些应用实例为计算节点的固有插件对应的实例。固有插件对应的实例不能迁移,否则计算节点无法正常工作。例如计算节点的驱动插件对应的实例,如果将该实例迁移,计算节点将无法驱动。基于此,管控节点10在获取计算集群的属性信息时,可对计算集群中的应用实例进行筛选,以得到服务型应用实例。相应地,管控节点10可获取原有计算集群的属性信息;并根据原有计算集群的属性信息,选取原有计算集群中的服务型应用实例;之后,可从原有计算集群中,确定部署所述服务型应用实例的计算节点;并确定服务型应用实例的属性信息及部署服务型应用实例的计算节点的属性信息,为计算集群20的属性信息。
30.在本技术实施例中,对于k8s系统来说,管控节点10可获取client包,并从client包中获取计算集群20的属性信息。
31.进一步,如图1所示,管控节点10可根据计算集群的属性信息,构建虚拟集群(simulated cluster)30。本技术实施例中,虚拟集群30是指根据计算集群20的属性信息,
对计算集群20进行仿真或模拟得到的模拟集群,也可成为仿真集群。可选地,对于k8s系统来说,k8s社区提供有伪客户端(fake

client)包。在本技术实施例中,可利用fake

client包模拟k8s的能力。具体地,可将计算集群20的属性信息导入fake

client包中,以得到虚拟集群30。其中,虚拟集群30与计算集群20相对应。虚拟集群30的属性信息与计算集群20相同。
32.进一步,可以应用实例在虚拟集群30中集中部署为目标,根据虚拟集群30的属性信息,在虚拟集群30中进行应用实例的迁移模拟,得到目标模拟调度结果。其中,应用实例在虚拟集群30中集中部署,是指尽可能多的让应用实例紧凑部署在同一计算节点上,尽可能多的提高部署有应用实例的计算节点的资源利用率。进一步,管控节点10可根据目标模拟调度结果,对计算集群20进行应用实例迁移,实现了计算集群的资源整理。由于应用实例迁移模拟结果是以应用实例集中部署为目标进行迁移模拟的,因此,得到的目标模拟调度结果可使应用实例尽可能的紧凑部署在同一或部分计算节点上,因此,可提高计算集群的资源利用率。对于应用实例迁移到其它计算节点之后的原计算节点来说,其资源得到释放,可用于部署其它应用实例,有助于提供原计算节点的资源利用率。
33.对于计算系统来说,对计算集群的资源整理,将应用实例集中部署到某些计算节点上,可减少计算集群中的碎片资源,有助于提高计算集群的资源利用率。
34.在本技术实施例中,不限定对应用实例进行模拟迁移的具体实施方式。如图2所示,在一些实施例中,可对虚拟集群进行剪枝,将虚拟集群中删除的虚拟节点上的应用实例模拟迁移至未被删除的虚拟节点上。在本技术实施例中,为了便于描述和区分,将上述计算集群20定义为第一计算集群20,将模拟删除第一计算节点后的计算集群定义为第二计算集群40。其中,删除第一计算节点只是模拟删除,在实际计算集群20中并未删除。图2仅以第一次模拟迁移迭代为例进行图示,但不构成限定。
35.相应地,如图2所示,管控节点10可从计算集群20包含的未模拟删除属性信息的计算节点中,确定需要应用实例迁移的第一计算节点。在本技术实施例中,不限定确定需求应用实例迁移的第一计算节点的具体实施方式。在一些实施例中,可从第一计算集群20包含的未模拟删除属性信息的计算节点中,随机选择一个计算节点作为第一计算节点。但是,考虑到随机选择的计算节点可能为资源利用率较高的计算节点,即该计算节点上部署的应用实例占用资源较大,如果将资源利用率较大的计算节点上部署的应用实例进行迁移,一是迁移工作量较大,二是可能导致更多的资源碎片,即其它计算节点的剩余资源量无法满足该计算节点上部署的应用实例的资源需求。
36.基于此,为了进一步提高计算资源利用率,在本技术实施例中,可根据第一计算集群20的属性信息,确定未模拟删除属性信息的计算节点的资源利用率。在本技术实施例中,不限定确定计算节点的资源利用率的具体实施方式。在一些实施例中,可从第一计算集群20的属性信息中,获取未模拟删除属性信息的计算节点的资源信息及未模拟删除属性信息的计算节点部署的应用实例的资源信息。进一步,可根据未模拟删除属性信息的计算节点的资源信息及未模拟删除属性信息的计算节点部署的应用实例的资源信息,计算未模拟删除属性信息的计算节点的资源利用率。由于管控节点10是以应用实例为单元进行调度的,因此,可采用下述计算公式(1)确定计算节点的资源利用率:
ꢀꢀꢀꢀꢀꢀ
(1)。
37.在上述公式(1)中,n表示某一类物理资源,例如:n=1 表示cpu资源,n=2表示内存资源等。n表示物理资源的总类数,即一共n类物理资源。m表示计算节点的序号,m=1,2,

,m。m表示计算节点的总数量。r
mn
表示计算节点m上第n类资源量,如表示序号为1的计算节点的cpu核数为8。p
n
表示计算节点上部署的应用实例占用第n类资源量,如p
n=1
表示计算节点部署的应用实例占用的cpu为2。
38.在上述公式(1)中,可将s
m
作为计算节点m的资源利用率。其中,s值越大,对应的计算节点的资源利用率越高。
39.进一步,可根据未模拟删除属性信息的计算节点的资源利用率,确定需要应用实例迁移的第一计算节点。例如,可根据未模拟删除属性信息的计算节点的资源利用率,确定未模拟删除属性信息的计算节点中资源利用率最低的计算节点,为第一计算节点。
40.进一步,从当前未模拟删除的第一计算集群的属性信息中,模拟删除第一计算节点及第一计算节点部署的应用实例的属性信息,以得到模拟删除后的第二计算集群40的属性信息;进一步,可根据第二计算集群40的属性信息,构建虚拟集群30。其中,根据第二计算集群40的属性信息,构建虚拟集群30的具体实施方式可参见上述实施例的相关内容,在此不再赘述。
41.相应地,管控节点10在进行应用实例迁移模拟时,可根据虚拟集群30的属性信息,从虚拟集群30包含的虚拟节点301中,确定与第一计算节点上的目标应用实例的属性信息适配的目标虚拟节点;并确定目标虚拟节点为目标应用实例的模拟调度结果。
42.可选地,管控节点10可从虚拟集群30包含的虚拟节点301中,选择满足目标应用实例需求的虚拟节点;并从满足目标应用实例需求的虚拟节点中,选择与目标应用实例的亲和性调度规则、容忍度规则以及标签信息适配的虚拟节点,作为目标虚拟节点。
43.进一步,管控节点10在确定出目标应用实例的模拟调度结果之后,可返回执行上述从第一计算集群20包含的未模拟删除属性信息的计算节点中确定需要应用实例迁移的第一计算节点的操作,至应用实例迁移模拟失败;之后,可确定应用实例迁移模拟失败前得到的模拟调度结果为目标模拟调度结果。
44.上述在虚拟集群30上进行应用实例模拟迁移的过程,可实施为:按照计算节点的资源利用率从低到高的顺序,每次模拟删除当前资源利用率最低的计算节点的属性信息,之后,将资源利用率最低的计算节点部署的目标应用实例在虚拟集群30上进行应用实例模拟迁移,至模拟迁移失败;并将模拟迁移失败前的模拟调度结果,作为目标模拟调度结果。为了更清楚地描述上述在虚拟集群30上进行应用实例模拟迁移的过程,下面结合图3进行示例性说明。如图3所示,在虚拟集群上进行应用实例模拟迁移的过程主要包括以下步骤:301、获取第一计算集群的属性信息。
45.302、根据第一计算集群的属性信息,确定未模拟删除属性信息的计算节点的资源利用率。
46.303、从未模拟删除属性信息的计算节点中,确定当前资源利用率最低的计算节点为需要应用实例迁移的第一计算节点。
47.304、从当前未模拟删除的第一计算集群的属性信息中,模拟删除第一计算节点及第一计算节点部署的应用实例的属性信息,以得到第二计算集群的属性信息。
48.305、根据第二计算集群的属性信息,构建虚拟集群。
49.306、根据虚拟集群的属性信息,判断虚拟集群包含的虚拟节点是否有与第一计算节点上的目标应用实例的属性信息适配的目标虚拟节点。若判断结果为是,执行步骤307;若判断结果为否,执行步骤308。
50.307、确定目标虚拟节点为目标应用实例的模拟调度结果;并返回执行步骤302。
51.308、确定应用实例迁移模拟失败前得到的模拟调度结果为目标模拟调度结果。
52.在得到目标模拟调度结果之后,管控节点10可根据目标模拟调度结果,对第一计算集群20进行应用实例迁移。可选地,管控节点10可以配置映射表(configmap)的数据组织形式输出目标模拟调度结果;并根据输出的配置映射表,对第一计算集群20进行应用实例迁移。
53.具体地,如图4所示,管控节点10根据目标模拟调度结果,确定待迁移的应用实例及待迁移的应用实例对应的第一计算集群中的目标计算节点;并将待迁移的应用实例从原计算节点迁移至目标计算节点。其中,目标计算节点是指模拟迁移为待迁移的应用实例确定出的从原计算节点迁移至的目标计算节点。
54.对于真实的调度器(如k8s调度器)来说对第一计算集群20进行资源调度时,无法识别上述应用实例模拟迁移得到的目标模拟调度结果。基于此,管控节点10可增设准入控制器(如webhook)。其中,准入控制器可捕获到实例资源(如pod资源)创建事件。
55.基于此,管控节点10在将待迁移的应用实例从原计算节点迁移至目标计算节点时,可利用准入控制器绑定待迁移的应用实例与目标计算节点;并根据待迁移的应用实例与目标计算节点的绑定关系,将待迁移的应用实例从原计算节点迁移至目标计算节点。其中,利用准入控制器绑定待迁移的应用实例与目标计算节点,在对待迁移的应用实例进行迁移时,可绕过原计算集群管理系统(如k8s系统)的调度器,可直接使用模拟调度结果进行应用实例迁移,无需原计算集群管理系统的调度器重新为应用实例进行资源调度。
56.对于管控节点10在利用准入控制器绑定待迁移的应用实例与目标计算节点之前,可根据待迁移的应用实例的属性信息,创建实例资源(如pod资源);并利用准入控制器将实例资源中被选择节点标识(node

name)设置为目标计算节点的标识,实现待迁移的应用实例与目标计算节点的绑定。设置被选择节点的标识后的实例资源可反映待迁移的应用实例与目标计算节点之间的绑定关系。因此,管控节点10便可根据设置被选择节点标识后的实例资源,在目标计算节点上创建需求迁移的应用实例,实现应用实例的迁移,从而实现碎片资源整理。
57.对于部署待迁移的应用实例的原计算节点,管控节点10可删除原计算节点中待迁移的应用实例。可选地,管控节点10可释放待迁移的应用实例的实例资源;之后,删除原计算节点中待迁移的应用实例,实现原计算节点中应用实例资源释放,这样,释放资源后的计算节点,可用于部署其它应用实例,提高了原计算节点的资源利用率。
58.除了上述系统实施例之外,本技术实施例还提供资源调度方法。下面对本技术实施例提供的资源调度方法进行示例性说明。
59.图5为本技术实施例提供的资源调度方法的流程示意图。如图5所示,该资源调度
方法包括:501、获取第一计算集群的属性信息。
60.502、根据第一计算集群的属性信息,构建虚拟集群。
61.503、以应用实例在虚拟集群中集中部署为目标,根据虚拟集群的属性信息,在虚拟集群中进行应用实例的迁移模拟,得到目标模拟调度结果。
62.504、根据目标模拟调度结果,确定待迁移的应用实例及待迁移的应用实例对应的所述第一计算集群中的目标计算节点。
63.505、利用准入控制器绑定所述待迁移的应用实例与目标计算节点。
64.506、根据待迁移的应用实例与目标计算节点的绑定关系,将待迁移的应用实例从原计算节点迁移至目标计算节点。在本实施例步骤501中,可获取第一计算集群的属性信息。关于计算集群及计算集群的属性信息的描述可参见上述实施例的相关内容,在此不再赘述。
65.值得说明的是,对于计算节点上部署的应用实例,有些应用实例为计算节点的固有插件对应的实例。固有插件对应的实例不能迁移,否则计算节点无法正常工作。例如计算节点的驱动插件对应的实例,如果将该实例迁移,计算节点将无法驱动。基于此,步骤501的一种可选实施方式为:获取原有计算集群的属性信息;并根据原有计算集群的属性信息,选取原有计算集群中的服务型应用实例;之后,可从原有计算集群中,确定部署所述服务型应用实例的计算节点;并确定服务型应用实例的属性信息及部署服务型应用实例的计算节点的属性信息,为第一计算集群的属性信息。
66.进一步,在步骤502中,可根据计算集群的属性信息,构建虚拟集群。虚拟集群的属性信息与计算集群相同。
67.进一步,在步骤503中,可以应用实例在虚拟集群中集中部署为目标,根据虚拟集群的属性信息,在虚拟集群中进行应用实例的迁移模拟,得到目标模拟调度结果。进一步,可根据目标模拟调度结果,对计算集群进行应用实例迁移,实现了计算集群的资源整理。由于应用实例迁移模拟结果是以应用实例集中部署为目标进行迁移模拟的,因此,得到的目标模拟调度结果可使应用实例尽可能的紧凑部署在同一或部分计算节点上,因此,可提高计算集群的资源利用率。对于应用实例迁移到其它计算节点之后的原计算节点来说,其资源得到释放,可用于部署其它应用实例,有助于提供原计算节点的资源利用率。
68.对于计算系统来说,对计算集群的资源整理,将应用实例集中部署到某些计算节点上,可减少计算集群中的碎片资源,有助于提高计算集群的资源利用率。
69.在本技术实施例中,不限定对应用实例进行模拟迁移的具体实施方式。在一些实施例中,可从第一计算集群包含的未模拟删除属性信息的计算节点中,确定需要应用实例迁移的第一计算节点。在本技术实施例中,不限定确定需求应用实例迁移的第一计算节点的具体实施方式。在一些实施例中,可从第一计算集群包含的未模拟删除属性信息的计算节点中,随机选择一个计算节点作为第一计算节点。但是,考虑到随机选择的计算节点可能为资源利用率较高的计算节点,即该计算节点上部署的应用实例占用资源较大,如果将资源利用率较大的计算节点上部署的应用实例进行迁移,一是迁移工作量较大,二是可能导致更多的资源碎片,即其它计算节点的剩余资源量无法满足该计算节点上部署的应用实例的资源需求。
70.基于此,为了进一步提高计算资源利用率,在本技术实施例中,可根据第一计算集群的属性信息,确定未模拟删除属性信息的计算节点的资源利用率。
71.进一步,可根据未模拟删除属性信息的计算节点的资源利用率,确定需要应用实例迁移的第一计算节点。例如,可根据未模拟删除属性信息的计算节点的资源利用率,确定未模拟删除的计算节点中当前资源利用率最低的计算节点,为第一计算节点。
72.进一步,从当前未模拟删除的第一计算集群的属性信息中,模拟删除第一计算节点及第一计算节点部署的应用实例的属性信息,以得到删除后的第二计算集群的属性信息;进一步,可根据第二计算集群的属性信息,构建虚拟集群。其中,根据第二计算集群的属性信息,构建虚拟集群的具体实施方式可参见上述实施例的相关内容,在此不再赘述。
73.相应地,在进行应用实例迁移模拟时,可根据虚拟集群的属性信息,从虚拟集群包含的虚拟节点中,确定与第一计算节点上的目标应用实例的属性信息适配的目标虚拟节点;并确定目标虚拟节点为目标应用实例的模拟调度结果。
74.进一步,在确定出目标应用实例的模拟调度结果之后,可返回执行上述从第一计算集群包含的未模拟删除属性信息的计算节点中确定需要应用实例迁移的第一计算节点的操作,至应用实例迁移模拟失败;之后,可确定应用实例迁移模拟失败前得到的模拟调度结果为目标模拟调度结果。
75.上述在虚拟集群上进行应用实例模拟迁移的过程,可实施为:按照计算节点的资源利用率从低到高的顺序,每次模拟删除当前资源利用率最低的计算节点的属性信息,之后,将资源利用率最低的计算节点部署的目标应用实例在虚拟集群上进行应用实例模拟迁移,至模拟迁移失败;并将模拟迁移失败前的模拟调度结果,作为目标模拟调度结果。上述在虚拟集群上进行应用实例模拟迁移的具体实施方式,可参见上述图3的相关内容,在此不再赘述。
76.在得到目标模拟调度结果之后,可根据目标模拟调度结果,对第一计算集群进行应用实例迁移。具体地,在步骤504中,可根据目标模拟调度结果,确定待迁移的应用实例及待迁移的应用实例对应的第一计算集群中的目标计算节点;并将待迁移的应用实例迁移至目标计算节点。
77.对于真实的调度器(如k8s调度器)来说对第一计算集群进行资源调度时,无法识别上述应用实例模拟迁移得到的目标模拟调度结果。基于此,在本技术实施例中,可增设准入控制器(如webhook)。其中,准入控制器可捕获到实例资源创建事件。基于该准入控制器,在步骤505中,可利用准入控制器绑定待迁移的应用实例与目标计算节点。进一步,在步骤506中,可根据待迁移的应用实例与目标计算节点的绑定关系,将待迁移的应用实例从原计算节点迁移至目标计算节点。其中,利用准入控制器绑定待迁移的应用实例与目标计算节点,在对待迁移的应用实例进行迁移时,可绕过原计算集群管理系统(如k8s系统)的调度器,可直接使用模拟调度结果进行应用实例迁移,无需原计算集群管理系统的调度器重新为应用实例进行资源调度。
78.可选地,可根据待迁移的应用实例的属性信息,创建实例资源;并利用准入控制器将实例资源中被选择节点标识(node

name)设置为目标计算节点的标识,实现待迁移的应用实例与目标计算节点的绑定。设置被选择节点的标识后的实例资源可反映待迁移的应用实例与目标计算节点之间的绑定关系。因此,可根据设置被选择节点标识后的实例资源,在
目标计算节点上创建需求迁移的应用实例,实现应用实例的迁移,从而实现碎片资源整理。
79.对于部署待迁移的应用实例的原计算节点,可删除原计算节点中待迁移的应用实例,实现原计算节点中应用实例资源释放,这样,释放资源后的计算节点,可用于部署其它应用实例,提高了原计算节点的资源利用率。
80.需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤501和502的执行主体可以为设备a;又比如,步骤501的执行主体可以为设备a,步骤502的执行主体可以为设备b;等等。
81.另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如501、502等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。
82.相应地,本技术实施例还提供一种存储有计算机指令的计算机可读存储介质,当计算机指令被一个或多个处理器执行时,致使一个或多个处理器执行上述资源调度方法中的步骤。
83.本技术实施例还提供一种计算机程序产品,包括:计算机程序;当计算机程序被处理器执行时,可实现上述资源调度方法中的步骤。在本技术实施例中,不限定计算机程序产品的具体实现形式。在一些实施例中,该计算机程序产品可实现为资源管理系统软件或者插件等。
84.图6为本技术实施例提供的计算机设备的结构示意图。如图6所示,该计算机设备包括:存储器60a和处理器60b;其中,所述存储器60a,用于存储计算机程序;处理器60b耦合至存储器60a,用于执行计算机程序以用于:获取第一计算集群的属性信息;根据第一计算集群的属性信息,构建虚拟集群;以应用实例在虚拟集群中集中部署为目标,根据虚拟集群的属性信息,在虚拟集群中进行应用实例的迁移模拟,得到目标模拟调度结果;以及,根据目标模拟调度结果,确定待迁移的应用实例及待迁移的应用实例对应的所述第一计算集群中的目标计算节点;利用准入控制器绑定所述待迁移的应用实例与所述目标计算节点;根据待迁移的应用实例与目标计算节点的绑定关系,将待迁移的应用实例从原计算节点迁移至目标计算节点。
85.可选地,处理器60b在获取第一计算集群的属性信息时,具体用于:获取原有计算集群的属性信息;根据原有计算集群的属性信息,选取原有计算集群中的服务型应用实例;从原有计算集群中,确定部署服务型应用实例的计算节点;确定服务型应用实例的属性信息及部署服务型应用实例的计算节点的属性信息,为第一计算集群的属性信息。
86.在一些实施例中,处理器60b在构建虚拟集群时,具体用于:从第一计算集群包含的未模拟删除属性信息的计算节点中,确定需要应用实例迁移的第一计算节点;从当前未模拟删除的第一计算集群的属性信息中,模拟删除第一计算节点及第一计算节点部署的应用实例的属性信息,以得到第二计算集群的属性信息;根据第二计算集群的属性信息,构建虚拟集群。
87.可选地,处理器60b在确定需要应用实例迁移的第一计算节点时,具体用于:根据第一计算集群的属性信息,确定未模拟删除属性信息的计算节点的资源利用率;从未模拟
删除属性信息的计算节点中,确定资源利用率最低的计算节点为需要应用实例迁移的第一计算节点。
88.在另一些实施例中,处理器60b在虚拟集群中进行应用实例的迁移模拟时,具体用于:根据虚拟集群的属性信息,从虚拟集群包含的虚拟节点中确定与第一计算节点上的目标应用实例的属性信息适配的目标虚拟节点;并确定目标虚拟节点为目标应用实例的模拟调度结果。
89.可选地,处理器60b还用于:在确定出目标应用实例的模拟调度结果之后,返回执行从第一计算集群包含的未模拟删除属性信息的计算节点中确定需要应用实例迁移的第一计算节点的操作,至应用实例迁移模拟失败;并确定应用实例迁移模拟失败前得到的模拟调度结果为目标模拟调度结果。
90.在又一些实施例中,处理器60b还用于:在利用准入控制器绑定所述待迁移的应用实例与所述目标计算节点之前,根据待迁移的应用实例的属性信息,创建实例资源。
91.相应地,处理器60b在利用准入控制器绑定待迁移的应用实例与目标计算节点时,具体用于:利用准入控制器将实例资源中被选择节点标识设置为目标计算节点的标识,以绑定所述待迁移的应用实例与所述目标计算节点。
92.其中,设置被选择节点标识后的实例资源反映待迁移的应用实例与目标计算节点之间的绑定关系。相应地,处理器60b在将待迁移实例从原计算节点迁移至目标计算节点时,具体用于:根据设置被选择节点标识后的实例资源,在目标计算节点上创建需要迁移的应用实例;并删除原计算节点中待迁移的应用实例。
93.本实施例提供的计算机设备,可根据计算集群的属性信息,构建虚拟集群;并以应用实例在虚拟集群中集中部署为目标,根据虚拟集群的属性信息,在虚拟集群中进行应用实例的迁移模拟,得到模拟调度结果;之后,可根据模拟调度结果,确定待迁移的应用实例及待迁移的应用实例对应的目标计算节点,之后可利用准入控制器绑定待迁移的应用实例与目标计算节点;根据待迁移的应用实例与所述目标计算节点的绑定关系,将待迁移实例从原计算节点迁移至目标计算节点实现了计算集群的资源整理,可减少计算集群中的碎片资源,有助于提高计算集群的资源利用率。
94.另一方面,利用准入控制器绑定待迁移的应用实例与目标计算节点可绕过原计算集群管理系统的调度器,可直接使用模拟调度结果进行应用实例迁移,无需原计算集群管理系统的调度器重新为应用实例进行资源调度。
95.在一些可选实施方式中,如图6所示,该计算机设备还可以包括:通信组件60c、电源组件60d等组件。图6中仅示意性给出部分组件,并不意味着计算机设备必须包含图6所示全部组件,也不意味着计算机设备只能包括图6所示组件。
96.在本技术实施例中,存储器用于存储计算机程序,并可被配置为存储其它各种数据以支持在其所在设备上的操作。其中,处理器可执行存储器中存储的计算机程序,以实现相应控制逻辑。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
97.在本技术实施例中,处理器可以为任意可执行上述方法逻辑的硬件处理设备。可
选地,处理器可以为中央处理器(central processing unit,cpu)、图形处理器(graphics processing unit,gpu)或微控制单元(microcontroller unit,mcu);也可以为现场可编程门阵列(field

programmable gate array,fpga)、可编程阵列逻辑器件(programmable array logic,pal)、通用阵列逻辑器件(general array logic,gal)、复杂可编程逻辑器件(complex programmable logic device,cpld)等可编程器件;或者为先进精简指令集(risc)处理器(advanced risc machines,arm)或系统芯片(system on chip,soc)等等,但不限于此。
98.在本技术实施例中,通信组件被配置为便于其所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如wifi,2g或3g,4g,5g或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还可基于近场通信(nfc)技术、射频识别(rfid)技术、红外数据协会(irda)技术、超宽带(uwb)技术、蓝牙(bt)技术或其他技术来实现。
99.在本技术实施例中,显示组件可以包括液晶显示器(lcd)和触摸面板(tp)。如果显示组件包括触摸面板,显示组件可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
100.在本技术实施例中,电源组件被配置为其所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
101.在本技术实施例中,音频组件可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(mic),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。例如,对于具有语言交互功能的设备,可通过音频组件实现与用户的语音交互等。
102.需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
103.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
104.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
105.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
106.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
107.在一个典型的配置中,计算设备包括一个或多个处理器 (cpu)、输入/输出接口、网络接口和内存。
108.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (ram) 和/或非易失性内存等形式,如只读存储器 (rom) 或闪存(flash ram)。内存是计算机可读介质的示例。
109.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (pram)、静态随机存取存储器 (sram)、动态随机存取存储器 (dram)、其他类型的随机存取存储器 (ram)、只读存储器 (rom)、电可擦除可编程只读存储器 (eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器 (cd

rom)、数字多功能光盘 (dvd) 或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
110.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
111.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜