容器调度方法、装置、电子设备及程序产品与流程

文档序号:41629489发布日期:2025-04-15 15:45阅读:2来源:国知局
容器调度方法、装置、电子设备及程序产品与流程

本技术涉及分布式领域,具体而言,涉及一种容器调度方法、装置、电子设备及程序产品。


背景技术:

1、当前,随着容器技术的不断进步,容器平台在各类场景中的应用越来越广泛,如在云原生领域中的kubernetes等,这类平台在构建和运行分布式应用的同时,也面临着大规模、云端、异构等挑战,尤其是在大规模、异构集群的情况下,资源分配决策尤为复杂。

2、在大规模、异构集群中,为容器自动选择最优节点,是实现资源高效利用的关键。然而,当前的容器技术平台缺乏智能调度能力,资源分配往往依赖于固定策略,无法根据集群使用情况和容器请求动态调整,导致资源闲置或争用问题。

3、由于容器技术的广泛使用,集群节点呈现多样化和复杂化,存在多种类型的节点,例如,计算节点、存储节点、gpu节点、fpga节点等,这使得节点特性(如cpu、内存、存储、带宽等)的差异性成为调度策略考虑的重要因素。此外,当前的容器调度系统往往缺乏自我优化能力,调度参数固定,无法根据集群使用情况和容器请求动态调整,导致资源分配效率低下。

4、针对相关技术中在多种类型的设备节点中,由于容器运行需要考虑设备节点的特定资源和应用负载特性,导致设备节点的资源利用率较低的问题,目前尚未提出有效的解决方案。


技术实现思路

1、本技术的主要目的在于提供一种容器调度方法、装置、电子设备及程序产品,以解决相关技术中在多种类型的设备节点中,由于容器运行需要考虑设备节点的特定资源和应用负载特性,导致设备节点的资源利用率较低的问题。

2、为了实现上述目的,根据本技术的一个方面,提供了一种容器调度方法,所述方法应用于目标集群,所述目标集群包括至少一个设备节点,所述至少一个设备节点中每个设备节点用于运行容器,该方法包括:采集每个设备节点的第一节点信息,其中,所述第一节点信息至少包括:所述设备节点的标签信息;在检测到待调度容器的情况下,依据评估指标和指标权重对每个设备节点的第一节点信息进行计算,得到每个设备节点的目标分数,其中,所述评估指标至少包括以下之一:第一指标、第二指标、第三指标、第四指标;所述第一指标表征所述容器的资源请求类型与所述设备节点的可用资源类型之间的匹配程度;所述第二指标表征所述容器和所述设备节点的标签信息的匹配程度;所述第三指标表征所述设备节点的负载状态;所述第四指标表征所述设备节点的优先级;依据每个设备节点的目标分数,在所述至少一个设备节点中确定目标设备节点,并通过所述目标设备节点运行所述待调度容器。

3、进一步地,所述评估指标包括:第一指标,所述指标权重包括:第一权重,依据评估指标和指标权重对每个设备节点的第一节点信息进行计算,得到每个设备节点的目标分数,包括:针对每个设备节点,依据所述设备节点的节点信息确定所述设备节点的剩余资源信息,得到每个设备节点的剩余资源信息;确定所述待调度容器的资源请求信息,其中,所述资源请求信息至少包括:资源类型、资源请求量;依据每个设备节点的剩余资源信息和所述待调度容器的资源请求信息计算所述第一指标,并依据所述第一指标和所述第一权重计算每个设备节点的目标分数。

4、进一步地,所述评估指标至少包括:第二指标,所述指标权重至少包括:第二权重,依据评估指标和指标权重对每个设备节点的第一节点信息进行计算,得到每个设备节点的目标分数,包括:确定所述待调度容器的标签信息;针对每个设备节点,将所述待调度容器的标签信息与所述设备节点的标签信息进行匹配,得到匹配结果;其中,所述匹配结果用于指示所述设备节点的标签信息是否包含所述待调度容器的标签信息;依据所述匹配结果确定所述第二指标,并依据所述第二指标、所述第二权重、所述第一指标和所述第一权重计算每个设备节点的目标分数。

5、进一步地,所述评估指标至少包括:第三指标、第四指标,所述指标权重至少包括:第三权重、第四权重,依据评估指标和指标权重对每个设备节点的第一节点信息进行计算,得到每个设备节点的目标分数,包括:依据每个设备节点的节点信息确定每个设备节点的负载信息,确定每个设备节点的总资源信息,以及确定每个设备节点的优先级信息;依据每个设备节点的负载信息和每个设备节点的总资源信息计算所述第三指标;依据每个设备节点的优先级信息计算所述第四指标;依据所述第一指标、所述第一权重、所述第二指标、所述第二权重、所述第三指标、所述第三权重、所述第四指标和所述第四权重计算每个设备节点的目标分数。

6、进一步地,依据每个设备节点的目标分数,在所述至少一个设备节点中确定目标设备节点,包括:依据每个设备节点的目标分数确定最高目标分数对应的第一设备节点;在所述第一设备节点的可用资源信息满足所述待调度容器的资源请求信息,且所述第一设备节点的标签信息不存在异常标签的情况下,将所述第一设备节点确定为所述目标设备节点,其中,所述异常标签表征所述待调度容器无法运行的设备节点的标签;将所述待调度容器分配至所述目标设备节点上运行。

7、进一步地,在将所述待调度容器分配至所述目标设备节点上运行之前,所述方法还包括:每间隔预设时长采集每个设备节点的第二节点信息;依据每个设备节点的第二节点信息和每个设备节点的第一节点信息之间的差异信息对所述指标权重进行调整,得到调整后的指标权重;依据所述评估指标和所述调整后的指标权重对每个设备节点的第二节点信息进行计算,得到更新后的每个设备节点的目标分数;依据更新后的每个设备节点的目标分数,在所述至少一个设备节点中确定所述目标设备节点。

8、进一步地,在得到更新后的每个设备节点的目标分数之后,所述方法还包括:采集每个设备节点当前的第三指标;针对每个设备节点,确定所述设备节点中当前运行的每个容器,并确定每个容器的资源需求信息;在所述设备节点当前的第三指标大于预设数值,且所述设备节点中每个容器的资源需求信息均被满足的情况下,确定目标权重值,其中,所述目标权重值是计算所述设备节点的目标分数过程中所采用的所述指标权重;将所述目标权重值和所述设备节点的节点信息存储至预设数据库中。

9、为了实现上述目的,根据本技术的另一方面,提供了一种容器调度装置,所述装置部署在目标集群中,所述目标集群包括至少一个设备节点,所述至少一个设备节点中每个设备节点用于运行容器,该装置包括:采集单元,用于采集每个设备节点的第一节点信息,其中,所述第一节点信息至少包括:所述设备节点的标签信息;计算单元,用于在检测到待调度容器的情况下,依据评估指标和指标权重对每个设备节点的第一节点信息进行计算,得到每个设备节点的目标分数,其中,所述评估指标至少包括以下之一:第一指标、第二指标、第三指标、第四指标;所述第一指标表征所述容器的资源请求类型与所述设备节点的可用资源类型之间的匹配程度;所述第二指标表征所述容器和所述设备节点的标签信息的匹配程度;所述第三指标表征所述设备节点的负载状态;所述第四指标表征所述设备节点的优先级;运行单元,用于依据每个设备节点的目标分数,在所述至少一个设备节点中确定目标设备节点,并通过所述目标设备节点运行所述待调度容器。

10、进一步地,所述评估指标包括:第一指标,所述指标权重包括:第一权重,所述计算单元包括:第一确定子单元,用于针对每个设备节点,依据所述设备节点的节点信息确定所述设备节点的剩余资源信息,得到每个设备节点的剩余资源信息;第二确定子单元,用于确定所述待调度容器的资源请求信息,其中,所述资源请求信息至少包括:资源类型、资源请求量;第一计算子单元,用于依据每个设备节点的剩余资源信息和所述待调度容器的资源请求信息计算所述第一指标,并依据所述第一指标和所述第一权重计算每个设备节点的目标分数。

11、进一步地,所述评估指标至少包括:第二指标,所述指标权重至少包括:第二权重,所述计算单元包括:第三确定子单元,用于确定所述待调度容器的标签信息;匹配子单元,用于针对每个设备节点,将所述待调度容器的标签信息与所述设备节点的标签信息进行匹配,得到匹配结果;其中,所述匹配结果用于指示所述设备节点的标签信息是否包含所述待调度容器的标签信息;第二计算子单元,用于依据所述匹配结果确定所述第二指标,并依据所述第二指标、所述第二权重、所述第一指标和所述第一权重计算每个设备节点的目标分数。

12、进一步地,所述评估指标至少包括:第三指标、第四指标,所述指标权重至少包括:第三权重、第四权重,所述计算单元包括:第四确定子单元,用于依据每个设备节点的节点信息确定每个设备节点的负载信息,确定每个设备节点的总资源信息,以及确定每个设备节点的优先级信息;第三计算子单元,用于依据每个设备节点的负载信息和每个设备节点的总资源信息计算所述第三指标;第四计算子单元,用于依据每个设备节点的优先级信息计算所述第四指标;第五计算子单元,用于依据所述第一指标、所述第一权重、所述第二指标、所述第二权重、所述第三指标、所述第三权重、所述第四指标和所述第四权重计算每个设备节点的目标分数。

13、进一步地,所述运行单元包括:第五确定子单元,用于依据每个设备节点的目标分数确定最高目标分数对应的第一设备节点;第六确定子单元,用于在所述第一设备节点的可用资源信息满足所述待调度容器的资源请求信息,且所述第一设备节点的标签信息不存在异常标签的情况下,将所述第一设备节点确定为所述目标设备节点,其中,所述异常标签表征所述待调度容器无法运行的设备节点的标签;运行子单元,用于将所述待调度容器分配至所述目标设备节点上运行。

14、进一步地,所述运行单元还包括:第一采集子单元,用于在将所述待调度容器分配至所述目标设备节点上运行之前,每间隔预设时长采集每个设备节点的第二节点信息;调整子单元,用于依据每个设备节点的第二节点信息和每个设备节点的第一节点信息之间的差异信息对所述指标权重进行调整,得到调整后的指标权重;第六计算子单元,用于依据所述评估指标和所述调整后的指标权重对每个设备节点的第二节点信息进行计算,得到更新后的每个设备节点的目标分数;第七确定子单元,用于依据更新后的每个设备节点的目标分数,在所述至少一个设备节点中确定所述目标设备节点。

15、进一步地,所述运行单元还包括:第二采集子单元,用于在得到更新后的每个设备节点的目标分数之后,采集每个设备节点当前的第三指标;第八确定子单元,用于针对每个设备节点,确定所述设备节点中当前运行的每个容器,并确定每个容器的资源需求信息;第九确定子单元,用于在所述设备节点当前的第三指标大于预设数值,且所述设备节点中每个容器的资源需求信息均被满足的情况下,确定目标权重值,其中,所述目标权重值是计算所述设备节点的目标分数过程中所采用的所述指标权重;存储子单元,用于将所述目标权重值和所述设备节点的节点信息存储至预设数据库中。

16、为了实现上述目的,根据本技术的一个方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述容器调度方法,所述计算机程序被处理器执行时实现本技术各个实施例中所述容器调度方法的步骤。

17、为了实现上述目的,根据本技术的一个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机指令,其中,在所述计算机指令被处理器执行时实现上述任意一项所述容器调度方法。

18、为了实现上述目的,根据本技术的一个方面,提供了一种电子设备,包括一个或多个处理器和存储器,存储器用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述任意一项所述容器调度方法。

19、在本技术实施例中,通过采集每个设备节点的第一节点信息,其中,所述第一节点信息至少包括:所述设备节点的标签信息;在检测到待调度容器的情况下,依据评估指标和指标权重对每个设备节点的第一节点信息进行计算,得到每个设备节点的目标分数,其中,所述评估指标至少包括以下之一:第一指标、第二指标、第三指标、第四指标;所述第一指标表征所述容器的资源请求类型与所述设备节点的可用资源类型之间的匹配程度;所述第二指标表征所述容器和所述设备节点的标签信息的匹配程度;所述第三指标表征所述设备节点的负载状态;所述第四指标表征所述设备节点的优先级;依据每个设备节点的目标分数,在所述至少一个设备节点中确定目标设备节点,并通过所述目标设备节点运行所述待调度容器,进而解决了在多种类型的设备节点中,由于容器运行需要考虑设备节点的特定资源和应用负载特性,导致设备节点的资源利用率较低的技术问题。

20、通过计算第一指标,能够准确匹配容器的资源请求类型与设备节点的可用资源类型,避免了资源浪费和容器性能受限制的情况,通过计算第二指标,确保容器运行在正确的节点上,满足了应用的部署策略和集群的隔离需求,从而增强了应用的稳定性和安全性,通过计算第三指标,通过避免将容器调度到负载过高的节点,可以防止节点过载,保持集群的健康状态,同时也确保了容器的稳定运行,通过计算第四指标,能够确保高优先级的节点首先被考虑。因此,本技术不仅提高了资源的利用效率和应用的运行性能,还增强了集群的稳定性和运维的便捷性,达到了显著提升集群的管理效率和应用服务的质量的效果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1