System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 资源调度方法及其相关设备技术_技高网

资源调度方法及其相关设备技术

技术编号:40643617 阅读:5 留言:0更新日期:2024-03-13 21:24
本申请实施例提供了一种资源调度方法及其相关设备,涉及通信技术领域。所述方法包括:通过获取集群中的每个节点的资源信息,以及每个节点中的容器的资源信息,构建在每个节点上部署的微服务的资源画像,每个节点均安装有容器引擎;当确定在集群中部署的第一微服务为需进行资源调整的微服务时,基于第一微服务的资源画像、部署第一微服务的第一节点的资源信息以及第一节点中的容器的资源信息,生成与第一微服务关联的资源调整指令,及基于容器引擎及资源调整指令调整与第一微服务关联的pod的资源。本申请基于微服务画像与容器引擎进行pod资源调整,资源调整灵敏准确,响应速度快。

【技术实现步骤摘要】

本申请涉及通信,尤其涉及一种资源调度方法及其相关设备


技术介绍

1、随着虚拟化技术的发展,越来越多的公司将自己的线上应用迀移到云平台上。容器(container)作为一种轻量级的虚拟化技术,近年来发展迅速。容器技术为不同的应用程序创造了独立的运行环境,实现了资源隔离、配置与安全保障,能够满足应用按需分配的资源需求以及保证应用的隔离性和可用性。

2、为了满足应用的需求,实践中往往需要将很多容器部署在计算设备集群(cluster,以下简称集群)中进行统一管理并对外提供服务。目前,较流行的容器集群管理工具是kubernetes(k8s)容器集群管理系统。k8s可以构建容器的部署服务,容器集合(pod)是k8s的基本部署单元,一个pod由一组工作在同一节点的容器构成。

3、k8s主要是通过pod水平自动伸缩(horizontal pod autoscaler,hpa)和pod垂直自动伸缩(vertical pod autoscaler,vpa)实现自动扩缩容。然而,采用hpa或vpa方式对pod进行扩缩容,存在响应速度慢的缺陷,无法应对流量突发、持续时间短的场景的扩容需求。


技术实现思路

1、有鉴于此,有必要提供一种资源调度方法,解决现有技术中对pod进行扩缩容存在响应速度慢的问题。

2、本申请实施例第一方面公开了一种资源调度方法,包括:获取集群中的每个节点的资源信息,以及每个节点中的容器的资源信息,每个节点均安装有容器引擎;基于每个节点的资源信息和每个节点中的容器的资源信息,构建在每个节点上部署的微服务的资源画像,每个节点上部署的微服务基于一个或多个容器运行;若确定在集群中部署的第一微服务需进行资源调整,基于第一微服务的资源画像、部署第一微服务的第一节点的资源信息以及第一节点中的容器的资源信息,生成与第一微服务关联的资源调整指令;基于容器引擎及资源调整指令,调整与第一微服务关联的pod的资源。

3、采用上述技术方案,通过获取集群中的每个节点的资源信息,构建在每个节点上部署的微服务的资源画像,基于微服务的资源画像、节点的资源信息及容器的资源信息进行资源调整可以充分利用节点的资源,使得微服务的资源调整更有针对性,且可提高节点和/或集群的综合资源利用率,基于容器引擎进行资源调整,在不影响集群既有的调度能力下,相比通过hpa/vpa进行资源调整迟滞性更小,可以实现秒级资源调整,增强集群中部署的微服务应对突发流量的能力,提升集群的稳定性与网络吞吐量,在对微服务进行资源调整时,可以对与微服务关联的所有pod进行资源调整,也可以精确到对微服务中的某个或某几个pod进行资源调整,资源调整粒度更小、更准确。

4、在一些实施例中,基于每个节点的资源信息和每个节点中的容器的资源信息,构建在每个节点上部署的微服务的资源画像,包括:基于每个节点中的容器的资源信息,得到在每个节点上部署的微服务的资源信息;基于每个节点的资源信息及每个节点上部署的微服务的资源信息,构建在每个节点上部署的微服务的资源画像,资源画像包括资源占用维度与时间维度。

5、采用上述技术方案,基于每个节点的资源信息及每个节点上部署的微服务的资源信息,构建在每个节点上部署的微服务的资源画像,在资源画像中,采用时间维度结合资源占用维度表征微服务在不同的时间所占用的资源的特征,进而在对微服务进行资源调整时,可以基于微服务的资源画像进行资源分配,使得微服务的资源调整更有针对性,可提高节点的资源利用率,且可实现最大程度满足微服务的服务等级协议要求。

6、在一些实施例中,资源调度方法还包括:若第一微服务占用的资源与第一微服务的资源上限值之差小于第一预设阈值,确定第一微服务需进行资源调整;或者若第一微服务占用的资源与第一微服务的资源上限值之差大于第二预设阈值,确定第一微服务需进行资源调整。

7、采用上述技术方案,可以将资源不足的微服务或者资源过剩的微服务确定为需要进行资源调整的微服务,例如若微服务占用的资源与微服务的资源上限值之差小于第一预设阈值,表明微服务的资源紧张,通过触发对该微服务进行扩容,以满足微服务运行所需的资源需求,若微服务占用的资源与微服务的资源上限值之差大于第二预设阈值,表明微服务存在资源过剩时,通过触发对该微服务进行缩容,使得过剩的资源可以分配给其他资源不足的微服务,可提高节点的资源利用率。

8、在一些实施例中,第一微服务占用的资源包括处理器资源、内存资源、磁盘资源以及网络带宽资源中的一种或多种,确定第一微服务需进行资源调整,包括:若第一微服务占用的处理器资源、内存资源、磁盘资源以及网络带宽资源中的任意一者与对应的资源上限值之差小于对应的第一预设阈值,确定第一微服务需进行资源调整;或者若第一微服务占用的处理器资源、内存资源、磁盘资源以及网络带宽资源中的任意一者与对应的资源上限值之差大于对应的第二预设阈值,确定第一微服务需进行资源调整。

9、采用上述技术方案,可以将存在处理器资源、内存资源、磁盘资源以及网络带宽资源中的任意一者不足的微服务,或者将存在处理器资源、内存资源、磁盘资源以及网络带宽资源中的任意一者过剩的微服务确定为需要进行资源调整的微服务,以满足微服务运行所需的资源需求,提高节点的资源利用率。

10、在一些实施例中,确定第一微服务需进行资源调整,包括:若第一微服务占用的处理器资源、内存资源、磁盘资源以及网络带宽资源中的任意一者与对应的资源上限值之差小于对应的第一预设阈值,确定第一微服务需进行扩容调整;或者若第一微服务占用的处理器资源、内存资源、磁盘资源以及网络带宽资源中的任意一者与对应的资源上限值之差大于对应的第二预设阈值,确定第一微服务需进行缩容调整。

11、采用上述技术方案,若微服务占用的处理器资源、内存资源、磁盘资源以及网络带宽资源中的任意一者与对应的资源上限值之差小于对应的第一预设阈值,表明微服务的某项资源紧张,确定微服务的该项资源需进行扩容,以满足微服务运行所需的资源需求,若微服务占用的处理器资源、内存资源、磁盘资源以及网络带宽资源中的任意一者与对应的资源上限值之差大于对应的第二预设阈值,表明微服务的某项资源过剩,确定微服务的该项资源需进行缩容,使得过剩的资源可以分配给其他资源不足的微服务,可提高节点的资源利用率。

12、在一些实施例中,基于第一微服务的资源画像、部署第一微服务的节点的资源信息以及节点中的容器的资源信息,生成与第一微服务关联的资源调整指令,包括:基于第一微服务的资源画像预测第一微服务所需的资源数量;基于预测的资源数量、部署第一微服务的节点的资源信息以及节点中的容器的资源信息,生成与第一微服务关联的资源调整指令。

13、采用上述技术方案,通过微服务的资源画像预测微服务所需的资源数量,再基于预测的资源数量、部署微服务的节点的资源信息以及节点中的容器的资源信息为微服务分配资源,使得微服务的资源调整更加准确,避免出现资源分配过多或者资源分配不足,提高节点的资源利用率。

...

【技术保护点】

1.一种资源调度方法,其特征在于,所述方法包括:

2.如权利要求1所述的资源调度方法,其特征在于,所述基于所述每个节点的资源信息和所述每个节点中的容器的资源信息,构建在所述每个节点上部署的微服务的资源画像,包括:

3.如权利要求1或2所述的资源调度方法,其特征在于,所述方法还包括:

4.如权利要求3所述的资源调度方法,其特征在于,所述第一微服务占用的资源包括处理器资源、内存资源、磁盘资源以及网络带宽资源中的一种或多种,所述确定所述第一微服务需进行资源调整,包括:

5.如权利要求4所述的资源调度方法,其特征在于,所述确定所述第一微服务需进行资源调整,包括:

6.如权利要求1至5中任意一项所述的资源调度方法,其特征在于,基于所述第一微服务的资源画像、部署所述第一微服务的节点的资源信息以及所述节点中的容器的资源信息,生成与所述第一微服务关联的资源调整指令,包括:

7.如权利要求6所述的资源调度方法,其特征在于,所述生成与所述第一微服务关联的资源调整指令,包括:

8.如权利要求1至7中任意一项所述的资源调度方法,其特征在于,所述基于所述容器引擎及所述资源调整指令调整与所述第一微服务关联的pod的资源,包括:

9.如权利要求1至8中任意一项所述的资源调度方法,其特征在于,所述每个节点上部署的微服务配置有优先级,所述方法还包括:

10.如权利要求9所述的资源调度方法,其特征在于,所述释放所述第一节点上部署的第二微服务占用的部分资源,包括:

11.如权利要求1至8中任意一项所述的资源调度方法,其特征在于,所述每个节点上部署的微服务配置有优先级,所述方法还包括:

12.如权利要求11所述的资源调度方法,其特征在于,所述将所述第一节点上部署的第二微服务调度至所述集群中的其他节点,包括:

13.一种资源调度方法,其特征在于,所述方法包括:

14.如权利要求13所述的资源调度方法,其特征在于,所述方法还包括:

15.一种资源调度装置,其特征在于,所述装置包括:

16.一种资源调度装置,其特征在于,所述装置包括:

17.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器;

18.一种包含指令的计算机程序产品,其特征在于,当所述指令被计算设备集群运行时,使得所述计算设备集群执行如权利要求1至权利要求12中任一项所述的资源调度方法,或者执行如权利要求13或权利要求14所述的资源调度方法。

19.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如权利要求1至权利要求12中任一项所述的资源调度方法,或者执行如权利要求13或权利要求14所述的资源调度方法。

...

【技术特征摘要】

1.一种资源调度方法,其特征在于,所述方法包括:

2.如权利要求1所述的资源调度方法,其特征在于,所述基于所述每个节点的资源信息和所述每个节点中的容器的资源信息,构建在所述每个节点上部署的微服务的资源画像,包括:

3.如权利要求1或2所述的资源调度方法,其特征在于,所述方法还包括:

4.如权利要求3所述的资源调度方法,其特征在于,所述第一微服务占用的资源包括处理器资源、内存资源、磁盘资源以及网络带宽资源中的一种或多种,所述确定所述第一微服务需进行资源调整,包括:

5.如权利要求4所述的资源调度方法,其特征在于,所述确定所述第一微服务需进行资源调整,包括:

6.如权利要求1至5中任意一项所述的资源调度方法,其特征在于,基于所述第一微服务的资源画像、部署所述第一微服务的节点的资源信息以及所述节点中的容器的资源信息,生成与所述第一微服务关联的资源调整指令,包括:

7.如权利要求6所述的资源调度方法,其特征在于,所述生成与所述第一微服务关联的资源调整指令,包括:

8.如权利要求1至7中任意一项所述的资源调度方法,其特征在于,所述基于所述容器引擎及所述资源调整指令调整与所述第一微服务关联的pod的资源,包括:

9.如权利要求1至8中任意一项所述的资源调度方法,其特征在于,所述每个节点上部署的微服务配置有优先级,所述方法还包括:

<...

【专利技术属性】
技术研发人员:厉文超吕卫华李成进
申请(专利权)人:华为云计算技术有限公司
类型:发明
国别省市:

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

1