多集群资源调度方法、装置及系统
文献发布时间:2023-06-19 10:06:57
技术领域
本申请涉及云计算领域,也可用于金融领域,具体涉及一种多集群资源调度方法、装置及系统。
背景技术
随着云计算技术的普及,云上应用急速增长,应用容器越来越多,应用容器需要的资源也越来越多。为满足应用容器所需的计算资源,需要在集群中增加宿主机节点。由于单集群可以管理的计算节点有上限,需要不断新增集群以满足应用的需求。一是为了保证应用容器高可用,在集群故障时可以迅速切换到正常的集群上。二是为了满足应用容器对资源的需求,应用的容器往往部署在多个集群上。
发明人发现,由于目前部署集群由应用自行选择,应用在部署容器前不知道集群的具体资源使用情况,导致实际情况下有些集群剩余资源充足,而有些集群资源紧张。集群资源极度不平衡,有可能导致某些应用容器由于集群资源紧张而起不来。运维人员需要经常手工计算每个集群剩余资源,在资源紧张的集群中添加宿主机资源,以防止应用容器上线时由于资源不足导致容器重启。
发明内容
针对现有技术中的问题,本申请提供一种多集群资源调度方法、装置及系统,能够准确监测多集群中各集群的集群资源并结合用户个性化选择,将应用容器调度至相应集群上,从而提高多集群资源利用率,保障应用容器的正常使用。
为了解决上述问题中的至少一个,本申请提供以下技术方案:
第一方面,本申请提供一种多集群资源调度方法,包括:
接收用户发送的应用容器部署指令和联邦集群上传的集群资源使用信息,其中,所述集群资源使用信息为所述联邦集群中各子集群的实时资源使用状况;
根据所述应用容器部署指令中的应用模板总副本数和所述集群资源使用信息,确定所述联邦集群中各子集群的部署副本数;
根据所述部署副本数生成实例化运行指令并发送至所述联邦集群,以使所述联邦集群实例化运行与所述部署副本数相应的应用模板。
进一步地,所述根据所述应用容器部署指令中的应用模板总副本数和所述集群资源使用信息,确定所述联邦集群中各子集群的部署副本数,包括:
判断所述应用容器部署指令中是否含有副本指定参数,若有,则根据所述副本指定参数和所述应用容器部署指令中的应用模板总副本数,确定所述联邦集群中各子集群的部署副本数,否则,根据预设默认部署副本数和所述应用容器部署指令中的应用模板总副本数,确定所述联邦集群中各子集群的部署副本数。
进一步地,所述根据所述应用容器部署指令中的应用模板总副本数和所述集群资源使用信息,确定所述联邦集群中各子集群的部署副本数,包括:
判断所述应用容器部署指令中是否含有优选特征参数,若有,则根据所述集群资源使用信息中与所述优选特征参数对应的实时资源使用状况,确定所述联邦集群中的优选子集群,并根据所述应用容器部署指令中的应用模板总副本数确定所述优选子集群的部署副本数,否则,根据预设默认部署副本数和所述应用容器部署指令中的应用模板总副本数,确定所述联邦集群中各子集群的部署副本数。
进一步地,所述根据所述应用容器部署指令中的应用模板总副本数和所述集群资源使用信息,确定所述联邦集群中各子集群的部署副本数,包括:
判断所述应用容器部署指令中是否含有副本指定参数和优选特征参数,若有,则根据所述集群资源使用信息中与所述优选特征参数对应的实时资源使用状况,确定所述联邦集群中的优选子集群,根据所述副本指定参数和所述应用容器部署指令中的应用模板总副本数,确定所述优选子集群的部署副本数,否则,根据预设默认部署副本数和所述应用容器部署指令中的应用模板总副本数,确定所述联邦集群中各子集群的部署副本数。
第二方面,本申请提供一种多集群资源调度方法,包括:
监测各子集群的实时资源使用状况,得到集群资源使用信息并上传至管理平台,以使所述管理平台根据所述集群资源使用信息和用户发送的应用容器部署指令中的应用模板总副本数,确定所述联邦集群中各子集群的部署副本数,并据所述部署副本数生成实例化运行指令;
接收所述管理平台发送的实例化运行指令,并实例化运行与所述部署副本数相应的应用模板。
进一步地,在所述实例化运行与所述部署副本数相应的应用模板之后,还包括:
监测各子集群的应用模板实例化运行状况,并上传至管理平台,以使所述管理平台展示所述应用模板实例化运行状况。
第三方面,本申请提供一种多集群资源调度装置,包括:
指令信息接收模块,用于接收用户发送的应用容器部署指令和联邦集群上传的集群资源使用信息,其中,所述集群资源使用信息为所述联邦集群中各子集群的实时资源使用状况;
均衡负载计算模块,用于根据所述应用容器部署指令中的应用模板总副本数和所述集群资源使用信息,确定所述联邦集群中各子集群的部署副本数;
分发部署模块,用于根据所述部署副本数生成实例化运行指令并发送至所述联邦集群,以使所述联邦集群实例化运行与所述部署副本数相应的应用模板。
进一步地,所述均衡负载计算模块包括:
副本指定部署单元,用于判断所述应用容器部署指令中是否含有副本指定参数,若有,则根据所述副本指定参数和所述应用容器部署指令中的应用模板总副本数,确定所述联邦集群中各子集群的部署副本数,否则,根据预设默认部署副本数和所述应用容器部署指令中的应用模板总副本数,确定所述联邦集群中各子集群的部署副本数。
进一步地,所述均衡负载计算模块包括:
优选特征部署单元,用于判断所述应用容器部署指令中是否含有优选特征参数,若有,则根据所述集群资源使用信息中与所述优选特征参数对应的实时资源使用状况,确定所述联邦集群中的优选子集群,并根据所述应用容器部署指令中的应用模板总副本数确定所述优选子集群的部署副本数,否则,根据预设默认部署副本数和所述应用容器部署指令中的应用模板总副本数,确定所述联邦集群中各子集群的部署副本数。
进一步地,所述均衡负载计算模块包括:
指定优选部署单元,用于判断所述应用容器部署指令中是否含有副本指定参数和优选特征参数,若有,则根据所述集群资源使用信息中与所述优选特征参数对应的实时资源使用状况,确定所述联邦集群中的优选子集群,根据所述副本指定参数和所述应用容器部署指令中的应用模板总副本数,确定所述优选子集群的部署副本数,否则,根据预设默认部署副本数和所述应用容器部署指令中的应用模板总副本数,确定所述联邦集群中各子集群的部署副本数。
第四方面,本申请提供一种多集群资源调度装置,包括:
集群资源监测模块,用于监测各子集群的实时资源使用状况,得到集群资源使用信息并上传至管理平台,以使所述管理平台根据所述集群资源使用信息和用户发送的应用容器部署指令中的应用模板总副本数,确定所述联邦集群中各子集群的部署副本数,并据所述部署副本数生成实例化运行指令;
应用模板实例化模块,用于接收所述管理平台发送的实例化运行指令,并实例化运行与所述部署副本数相应的应用模板。
进一步地,还包括:
实例化运行状况监测单元,用于监测各子集群的应用模板实例化运行状况,并上传至管理平台,以使所述管理平台展示所述应用模板实例化运行状况。
第五方面,本申请提供一种多集群资源调度系统,包括:管理平台和联邦集群;
所述管理平台包括:指令信息接收模块,用于接收用户发送的应用容器部署指令和联邦集群上传的集群资源使用信息;
均衡负载计算模块,用于根据所述应用容器部署指令中的应用模板总副本数和所述集群资源使用信息,确定所述联邦集群中各子集群的部署副本数;
分发部署模块,用于根据所述部署副本数生成实例化运行指令并发送至所述联邦集群;
所述联邦集群包括:
集群资源监测模块,用于监测各子集群的实时资源使用状况,得到集群资源使用信息并上传至管理平台;
应用模板实例化模块,用于接收所述管理平台发送的实例化运行指令,并实例化运行与所述部署副本数相应的应用模板。
第六方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的多集群资源调度方法的步骤。
第七方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的多集群资源调度方法的步骤。
由上述技术方案可知,本申请提供一种多集群资源调度方法、装置及系统,通过管理平台接收用户发送的应用容器部署指令和联邦集群上传的集群资源使用信息,由于集群联邦将多个子集群进行统一管理,并能够监控每个子集群的资源使用状况,因此管理平台能够实现按集群资源进行均衡调度的功能,使得应用可以根据自身需求将模板调度到资源充足的集群上,从而提高多集群资源利用率,保障应用容器的正常使用。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中的多集群资源调度方法的流程示意图之一;
图2为本申请实施例中的多集群资源调度方法的流程示意图之二;
图3为本申请实施例中的多集群资源调度装置的结构图之一;
图4为本申请实施例中的多集群资源调度装置的结构图之二;
图5为本申请实施例中的多集群资源调度装置的结构图之三;
图6为本申请实施例中的多集群资源调度装置的结构图之四;
图7为本申请实施例中的多集群资源调度装置的结构图之五;
图8为本申请实施例中的多集群资源调度系统的结构图之六;
图9为本申请实施例中的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
考虑到现有技术中部署集群由应用自行选择,应用在部署容器前不知道集群的具体资源使用情况,导致实际情况下有些集群剩余资源充足,而有些集群资源紧张。集群资源极度不平衡,有可能导致某些应用容器由于集群资源紧张而起不来的问题,本申请提供一种多集群资源调度方法、装置及系统,通过管理平台接收用户发送的应用容器部署指令和联邦集群上传的集群资源使用信息,由于集群联邦将多个子集群进行统一管理,并能够监控每个子集群的资源使用状况,因此管理平台能够实现按集群资源进行均衡调度的功能,使得应用可以根据自身需求将模板调度到资源充足的集群上,从而提高多集群资源利用率,保障应用容器的正常使用。
为了能够准确监测多集群中各集群的集群资源并结合用户个性化选择,将应用容器调度至相应集群上,从而提高多集群资源利用率,保障应用容器的正常使用,本申请提供一种多集群资源调度方法的实施例,执行主体为管理平台,参见图1,所述多集群资源调度方法具体包含有如下内容:
步骤S101:接收用户发送的应用容器部署指令和联邦集群上传的集群资源使用信息,其中,所述集群资源使用信息为所述联邦集群中各子集群的实时资源使用状况。
可以理解的是,本申请的管理平台(例如一种PAAS管理平台)能够接收用户发送的应用容器部署指令和联邦集群上传的集群资源使用信息。
可选的,所述应用容器部署指令中包括但不限于:应用模板总副本数、用户选定的按照CPU或者按照内存优先部署(即优选特征参数)、用户设定的每个子集群最大和最小副本数(即副本指定参数)。
可以理解的是,本申请的联邦集群用于对其中的单个子集群进行统一管理,具体的,在某个单子集群master节点部署开源的多集群管理项目Federation,然后将搭建好的集群依次join到联邦集群中,选择其中一个集群为master集群,其他的集群为成员集群,且master集群可以随意切换。通过联邦集群,可以将应用的模板在联邦集群中的多个集群上统一部署。
可选的,本申请可以通过开源的prometheus软件,实时获取各个子集群上的资源使用和剩余状态。每个单子集群上安装prometheus软件,用来获取集群上的各个计算节点的资源使用和剩余状态,也可以获取到整个集群的资源使用和剩余情况,主要包括内存和CPU的情况。该模块将监控到的数据实时上报到PAAS管理平台。运维支持人员可以看到每个集群实时的资源使用和剩余情况,支持人员可以根据使用情况,在集群资源不足,增加计算节点,以保证集群的资源满足使用需求。
步骤S102:根据所述应用容器部署指令中的应用模板总副本数和所述集群资源使用信息,确定所述联邦集群中各子集群的部署副本数。
可以理解的是,本申请根据应用容器部署指令中的应用模板总副本数和集群资源使用信息(例如集群剩余资源),确定在联邦集群的哪些子集群上部署具体数目的模板,并在相应的子集群上启动模板。
可选的,根据应用容器部署指令和监控到的资源情况,计算集群部署的副本数。用户通过PAAS管理平台部署模板,集群和应用间解耦,用户无需了解集群信息。应用只需要指定部署的副本数、选择CPU或者内存优先。
在本申请的一些可行实施例中,如果用户指定每个集群最大和最小副本数,则在单集群部署最大和最小相应的副本数,如果用户不指定最大和最小副本数,则默认最大副本数为总的副本数,最小副本数为0。
在本申请的一些可行实施例中,本申请可以根据集群剩余CPU和内存资源,对集群进行排序,计算应用模板的在集群上的副本数,优先部署到集群剩余资源排在前面的集群上。
此外,如果用户指定了最大的副本数和最小的副本数,则先在每个集群上启动最小的副本数,然后在集群最充足的集群上部署剩余的副本数,如果剩余的副本数大于最大的副本数,则依次类推部署在剩余资源排名后面的集群上,直到全部模板分配完成。
步骤S103:根据所述部署副本数生成实例化运行指令并发送至所述联邦集群,以使所述联邦集群实例化运行与所述部署副本数相应的应用模板。
可选的,本申请根据所述部署副本数在各个子集群上进行实例分发,在各个子集群上启动相应数目的模板。
此外,本申请还可以收集各个集群上的实例运行情况,将运行结果返回给PAAS管理平台,用户可以通过PAAS管理平台获取到部署的模板的启动信息。
从上述描述可知,本申请实施例提供的多集群资源调度方法,能够通过管理平台接收用户发送的应用容器部署指令和联邦集群上传的集群资源使用信息,由于集群联邦将多个子集群进行统一管理,并能够监控每个子集群的资源使用状况,因此管理平台能够实现按集群资源进行均衡调度的功能,使得应用可以根据自身需求将模板调度到资源充足的集群上,从而提高多集群资源利用率,保障应用容器的正常使用。
为了能够灵活进行多集群资源的调度,避免资源浪费,在本申请的多集群资源调度方法的一实施例中,上述步骤S102还可以具体包含如下内容:
判断所述应用容器部署指令中是否含有副本指定参数,若有,则根据所述副本指定参数和所述应用容器部署指令中的应用模板总副本数,确定所述联邦集群中各子集群的部署副本数,否则,根据预设默认部署副本数和所述应用容器部署指令中的应用模板总副本数,确定所述联邦集群中各子集群的部署副本数。
具体来说,如果用户指定每个集群最大和最小副本数,则在单集群部署最大和最小相应的副本数,如果用户不指定最大和最小副本数,则默认最大副本数为总的副本数,最小副本数为0。
为了能够灵活进行多集群资源的调度,避免资源浪费,在本申请的多集群资源调度方法的一实施例中,上述步骤S102还可以具体包含如下内容:
判断所述应用容器部署指令中是否含有优选特征参数,若有,则根据所述集群资源使用信息中与所述优选特征参数对应的实时资源使用状况,确定所述联邦集群中的优选子集群,并根据所述应用容器部署指令中的应用模板总副本数确定所述优选子集群的部署副本数,否则,根据预设默认部署副本数和所述应用容器部署指令中的应用模板总副本数,确定所述联邦集群中各子集群的部署副本数。
具体来说,本申请可以根据集群剩余CPU和内存资源,对集群进行排序,计算应用模板的在集群上的副本数,优先部署到集群剩余资源排在前面的集群上。
为了能够灵活进行多集群资源的调度,避免资源浪费,在本申请的多集群资源调度方法的一实施例中,上述步骤S102还可以具体包含如下内容:
判断所述应用容器部署指令中是否含有副本指定参数和优选特征参数,若有,则根据所述集群资源使用信息中与所述优选特征参数对应的实时资源使用状况,确定所述联邦集群中的优选子集群,根据所述副本指定参数和所述应用容器部署指令中的应用模板总副本数,确定所述优选子集群的部署副本数,否则,根据预设默认部署副本数和所述应用容器部署指令中的应用模板总副本数,确定所述联邦集群中各子集群的部署副本数。
具体来说,如果用户指定了最大的副本数和最小的副本数,则先在每个集群上启动最小的副本数,然后在集群最充足的集群上部署剩余的副本数,如果剩余的副本数大于最大的副本数,则依次类推部署在剩余资源排名后面的集群上,直到全部模板分配完成。
为了能够准确监测多集群中各集群的集群资源并结合用户个性化选择,将应用容器调度至相应集群上,从而提高多集群资源利用率,保障应用容器的正常使用,本申请提供一种多集群资源调度方法的实施例,执行主体为联邦集群,参见图2,所述多集群资源调度方法具体包含有如下内容:
步骤S201:监测各子集群的实时资源使用状况,得到集群资源使用信息并上传至管理平台,以使所述管理平台根据所述集群资源使用信息和用户发送的应用容器部署指令中的应用模板总副本数,确定所述联邦集群中各子集群的部署副本数,并据所述部署副本数生成实例化运行指令。
步骤S202:接收所述管理平台发送的实例化运行指令,并实例化运行与所述部署副本数相应的应用模板。
从上述描述可知,本申请实施例提供的多集群资源调度方法,能够通过管理平台接收用户发送的应用容器部署指令和联邦集群上传的集群资源使用信息,由于集群联邦将多个子集群进行统一管理,并能够监控每个子集群的资源使用状况,因此管理平台能够实现按集群资源进行均衡调度的功能,使得应用可以根据自身需求将模板调度到资源充足的集群上,从而提高多集群资源利用率,保障应用容器的正常使用。
为了能够监控集群资源实时使用情况,以对资源不足的集群及时添加节点,在本申请的多集群资源调度方法的一实施例中,上述步骤S202之后还可以具体包含如下内容:
监测各子集群的应用模板实例化运行状况,并上传至管理平台,以使所述管理平台展示所述应用模板实例化运行状况。
为了能够准确监测多集群中各集群的集群资源并结合用户个性化选择,将应用容器调度至相应集群上,从而提高多集群资源利用率,保障应用容器的正常使用,本申请提供一种用于实现所述多集群资源调度方法的全部或部分内容的多集群资源调度装置的实施例,设置在管理平台上,参见图3,所述多集群资源调度装置具体包含有如下内容:
指令信息接收模块10,用于接收用户发送的应用容器部署指令和联邦集群上传的集群资源使用信息,其中,所述集群资源使用信息为所述联邦集群中各子集群的实时资源使用状况。
均衡负载计算模块20,用于根据所述应用容器部署指令中的应用模板总副本数和所述集群资源使用信息,确定所述联邦集群中各子集群的部署副本数。
分发部署模块30,用于根据所述部署副本数生成实例化运行指令并发送至所述联邦集群,以使所述联邦集群实例化运行与所述部署副本数相应的应用模板。
从上述描述可知,本申请实施例提供的多集群资源调度装置,能够通过管理平台接收用户发送的应用容器部署指令和联邦集群上传的集群资源使用信息,由于集群联邦将多个子集群进行统一管理,并能够监控每个子集群的资源使用状况,因此管理平台能够实现按集群资源进行均衡调度的功能,使得应用可以根据自身需求将模板调度到资源充足的集群上,从而提高多集群资源利用率,保障应用容器的正常使用。
为了能够灵活进行多集群资源的调度,避免资源浪费,在本申请的多集群资源调度装置的一实施例中,参见图4,所述均衡负载计算模块20包括:
副本指定部署单元21,用于判断所述应用容器部署指令中是否含有副本指定参数,若有,则根据所述副本指定参数和所述应用容器部署指令中的应用模板总副本数,确定所述联邦集群中各子集群的部署副本数,否则,根据预设默认部署副本数和所述应用容器部署指令中的应用模板总副本数,确定所述联邦集群中各子集群的部署副本数。
为了能够灵活进行多集群资源的调度,避免资源浪费,在本申请的多集群资源调度装置的一实施例中,参见图5,所述均衡负载计算模块20包括:
优选特征部署单元22,用于判断所述应用容器部署指令中是否含有优选特征参数,若有,则根据所述集群资源使用信息中与所述优选特征参数对应的实时资源使用状况,确定所述联邦集群中的优选子集群,并根据所述应用容器部署指令中的应用模板总副本数确定所述优选子集群的部署副本数,否则,根据预设默认部署副本数和所述应用容器部署指令中的应用模板总副本数,确定所述联邦集群中各子集群的部署副本数。
为了能够灵活进行多集群资源的调度,避免资源浪费,在本申请的多集群资源调度装置的一实施例中,参见图6,所述均衡负载计算模块20包括:
指定优选部署单元23,用于判断所述应用容器部署指令中是否含有副本指定参数和优选特征参数,若有,则根据所述集群资源使用信息中与所述优选特征参数对应的实时资源使用状况,确定所述联邦集群中的优选子集群,根据所述副本指定参数和所述应用容器部署指令中的应用模板总副本数,确定所述优选子集群的部署副本数,否则,根据预设默认部署副本数和所述应用容器部署指令中的应用模板总副本数,确定所述联邦集群中各子集群的部署副本数。
为了能够准确监测多集群中各集群的集群资源并结合用户个性化选择,将应用容器调度至相应集群上,从而提高多集群资源利用率,保障应用容器的正常使用,本申请提供一种用于实现所述多集群资源调度方法的全部或部分内容的多集群资源调度装置的实施例,设置在联邦集群上,参见图7,所述多集群资源调度装置具体包含有如下内容:
集群资源监测模块40,用于监测各子集群的实时资源使用状况,得到集群资源使用信息并上传至管理平台,以使所述管理平台根据所述集群资源使用信息和用户发送的应用容器部署指令中的应用模板总副本数,确定所述联邦集群中各子集群的部署副本数,并据所述部署副本数生成实例化运行指令。
应用模板实例化模块50,用于接收所述管理平台发送的实例化运行指令,并实例化运行与所述部署副本数相应的应用模板。
从上述描述可知,本申请实施例提供的多集群资源调度装置,能够通过管理平台接收用户发送的应用容器部署指令和联邦集群上传的集群资源使用信息,由于集群联邦将多个子集群进行统一管理,并能够监控每个子集群的资源使用状况,因此管理平台能够实现按集群资源进行均衡调度的功能,使得应用可以根据自身需求将模板调度到资源充足的集群上,从而提高多集群资源利用率,保障应用容器的正常使用。
为了能够监控集群资源实时使用情况,以对资源不足的集群及时添加节点,在本申请的多集群资源调度装置的一实施例中,还包括:
实例化运行状况监测单元,用于监测各子集群的应用模板实例化运行状况,并上传至管理平台,以使所述管理平台展示所述应用模板实例化运行状况。
为了更进一步说明本方案,本申请还提供一种应用上述多集群资源调度装置实现多集群资源调度方法的具体应用实例,具体包含有如下内容:
参见图8,本申请引入kubenetes开源社区的多集群管理项目Federation,用来将多个集群进行统一管理,并引入开源组件prometheus对集群资源进行监控,主要包括如下步:
步骤1):在某个集群上安装集群联邦Federation V2,通过集群联邦可以同时部署和运营多个集群。通过Federation将集群加入到该联邦集群,并指定其中一个集群为联邦集群的主集群,剩下的集群为成员集群。
步骤2):安装并配置prometheus,每个promethes节点监控一个集群并将资源使用情况上报到PAAS管理平台。PAAS的运维支持人员可以看到每个集群的实时的资源使用和剩余情况。当支持人员看到某些集群资源不足,可以及时将服务器加入到集群中,以保证集群资源满足应用容器正常运行的需求。
步骤3):应用通过PAAS管理平台部署模板,配置好模板后填写模板部署总的副本数,选择CPU优先或者内存优先部署。应用可以选填每个集群最大和最小副本数。如果不填,则默认最大副本数为副本总数,最小副本数为0。如果用户不选择CPU或者内存优先,则按照均衡调度方式,在每个集群上启动相同数量的副本。
步骤4):根据CPU或者内存资源剩余情况对集群进行排序,将应用的模板部署在剩余资源最多的集群上。如果应用填写了最大和最小副本数,则在每个集群上部署最小副本数,剩余的副本数再依次按照集群剩余资源情况依次部署,最大数量不超过集群最大副本数。由分发部署模块,将每个集群的计算结果同步分发到各个集群,在每个集群上启动相应数目副本。
步骤5):联邦集群监听到各个实例的运行情况,并上报给PAAS管理平台。应用可以通过PAAS管理平台查看到模板启动状态。
有上述内容可知,本申请通过采集到每个集群的资源使用和剩余情况实时数据,并上送到PAAS管理平台,运维人员可以随时监控集群的资源使用和剩余情况。对于应用侧,可以将集群资源优先部署到CPU或者内存剩余充足的集群上,避免了集群资源不足导致容器启动异常。同时也避免了集群资源利分配和利用不均衡,导致有些集群剩余资源充足而某些集群资源紧张的问题。
从硬件层面来说,为了能够准确监测多集群中各集群的集群资源并结合用户个性化选择,将应用容器调度至相应集群上,从而提高多集群资源利用率,保障应用容器的正常使用,本申请提供一种用于实现所述多集群资源调度方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现多集群资源调度装置与核心业务系统、用户终端以及相关数据库等相关设备之间的信息传输;该逻辑控制器可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该逻辑控制器可以参照实施例中的多集群资源调度方法的实施例,以及多集群资源调度装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
可以理解的是,所述用户终端可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(PDA)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。
在实际应用中,多集群资源调度方法的部分可以在如上述内容所述的电子设备侧执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器。
上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
图9为本申请实施例的电子设备9600的系统构成的示意框图。如图9所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图9是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,多集群资源调度方法功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:
步骤S101:接收用户发送的应用容器部署指令和联邦集群上传的集群资源使用信息,其中,所述集群资源使用信息为所述联邦集群中各子集群的实时资源使用状况。
步骤S102:根据所述应用容器部署指令中的应用模板总副本数和所述集群资源使用信息,确定所述联邦集群中各子集群的部署副本数。
步骤S103:根据所述部署副本数生成实例化运行指令并发送至所述联邦集群,以使所述联邦集群实例化运行与所述部署副本数相应的应用模板。
从上述描述可知,本申请实施例提供的电子设备,通过管理平台接收用户发送的应用容器部署指令和联邦集群上传的集群资源使用信息,由于集群联邦将多个子集群进行统一管理,并能够监控每个子集群的资源使用状况,因此管理平台能够实现按集群资源进行均衡调度的功能,使得应用可以根据自身需求将模板调度到资源充足的集群上,从而提高多集群资源利用率,保障应用容器的正常使用。
在另一个实施方式中,多集群资源调度装置可以与中央处理器9100分开配置,例如可以将多集群资源调度装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现多集群资源调度方法功能。
如图9所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图9中所示的所有部件;此外,电子设备9600还可以包括图9中没有示出的部件,可以参考现有技术。
如图9所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本申请的实施例还提供能够实现上述实施例中的执行主体为服务器或客户端的多集群资源调度方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的多集群资源调度方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤S101:接收用户发送的应用容器部署指令和联邦集群上传的集群资源使用信息,其中,所述集群资源使用信息为所述联邦集群中各子集群的实时资源使用状况。
步骤S102:根据所述应用容器部署指令中的应用模板总副本数和所述集群资源使用信息,确定所述联邦集群中各子集群的部署副本数。
步骤S103:根据所述部署副本数生成实例化运行指令并发送至所述联邦集群,以使所述联邦集群实例化运行与所述部署副本数相应的应用模板。
从上述描述可知,本申请实施例提供的计算机可读存储介质,通过管理平台接收用户发送的应用容器部署指令和联邦集群上传的集群资源使用信息,由于集群联邦将多个子集群进行统一管理,并能够监控每个子集群的资源使用状况,因此管理平台能够实现按集群资源进行均衡调度的功能,使得应用可以根据自身需求将模板调度到资源充足的集群上,从而提高多集群资源利用率,保障应用容器的正常使用。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
- 一种服务器集群的资源调度方法、装置和系统
- 多集群资源调度方法、装置及系统