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

一种容器管理方法及相关设备技术

技术编号:40541224 阅读:5 留言:0更新日期:2024-03-05 18:57
本申请提供了一种容器管理方法,由容器管理系统执行,该系统用于对部署至业务集群的容器集pod或待部署至业务集群的pod进行管理,该方法包括:获取业务集群中至少一个节点(用于部署pod)的生命周期以及至少一个pod的生命周期,然后根据至少一个节点的生命周期以及至少一个pod的生命周期,确定目标节点,该目标节点为待部署pod的节点,或者是待删除pod的节点,接着容器管理系统在目标节点对pod进行伸缩。该方法结合业务集群中节点的生命周期以及待部署的pod或已部署的pod的生命周期,对pod进行伸缩,避免了pod的弹性伸缩与节点的弹性伸缩的割裂,能够实现节点资源按需使用,降低业务成本。

【技术实现步骤摘要】

本申请涉及云计算,尤其涉及一种容器管理方法、系统、计算设备集群、计算机可读存储介质、计算机程序产品。


技术介绍

1、随着云计算的不断发展,越来越多的开发者开始采用容器进行应用开发、部署。容器是软件的可执行单元,它采用通用方式封装了应用程序代码及其库和依赖项,因此可以随时随地运行容器。

2、考虑到一些应用可以包括数百甚至数千个容器,可以采用容器编排平台对容器进行全生命周期的管理。例如,容器编排平台可以对容器进行镜像分发、冗余部署、健康监测、资源分配、弹性伸缩、负载均衡和调度。

3、容器编排平台通常可以将多个容器分类组成"容器集",记作pod,然后以pod为最小调度单元运行工作负载,并为这些pod提供所需的联网和存储等服务。考虑到工作负载可以是不断变化的,容器编排平台可以通过实时调整pod的数量,使得pod总体数量足够支撑业务压力。进一步地,容器编排平台在调整pod的数量时,还可以调整用于部署pod的节点的数量。

4、然而,容器编排平台在对pod的数量或节点的数量进行调整(也称作弹性伸缩)时,很难实现节点资源按需使用,进而导致业务成本居高不下。


技术实现思路

1、本申请提供了一种容器管理方法,该方法通过基于容器集的生命周期以及节点的生命周期在节点对容器集进行调度,从而实现节点资源按需使用,避免资源浪费,降低了业务成本。本申请还提供了对应的容器管理系统、计算设备集群、计算机可读存储介质以及计算机程序产品。

2、第一方面,本申请提供一种容器管理方法。该方法由容器管理系统执行。容器管理系统可以是用于对部署至业务集群的容器集(pod)或待部署至业务集群的pod进行管理的系统。当容器管理系统为软件系统时,容器管理系统可以是集成于容器编排平台的插件、组件或者模块,也可以是独立的软件,该软件系统可以部署在计算设备集群中,计算设备集群执行该软件系统的程序代码,从而执行本申请的容器管理方法。当容器管理系统为硬件系统时,例如为具有容器管理功能的计算设备集群时,该容器管理系统可以在运行时执行本申请的容器管理方法。

3、具体地,容器管理系统可以获取业务集群中至少一个节点的生命周期以及至少一个pod的生命周期,其中,节点用于部署pod,例如节点可以是虚拟机(virtual machine,vm)节点,然后容器管理系统根据至少一个节点的生命周期以及至少一个pod的生命周期,确定目标节点,该目标节点为待部署pod的节点,或者是待删除pod的节点,接着容器管理系统在目标节点对上述pod进行伸缩。

4、该方法中,容器管理系统结合业务集群中节点的生命周期以及待部署的pod或已部署的pod的生命周期,对pod进行伸缩,避免了pod的弹性伸缩与节点的弹性伸缩的割裂,使得集群弹性伸缩控制器(cluster autoscaler,ca)能够实现节点资源按需使用,降低业务成本。

5、在一些可能的实现方式中,至少一个pod包括待部署的pod,容器管理系统在根据节点的生命周期以及pod的生命周期,确定目标节点时,可以确定待部署的pod的生命周期与至少一个节点的生命周期的接近程度,然后根据接近程度,从至少一个节点中确定目标节点。相应地,容器管理系统可以将待部署的pod调度至目标节点。

6、该方法通过将待部署的pod调度至剩余生命周期与pod的生命周期接近的目标节点,使得该pod被删除(缩容)时,该目标节点上其他pod也已经被删除或即将被删除,目标节点可以尽快被释放,减少了资源浪费,降低了业务成本。

7、在一些可能的实现方式中,容器管理系统提供多种方式确定目标节点。具体地,容器管理系统可以根据接近程度对所述至少一个节点排序,根据排序结果从所述至少一个节点中确定目标节点。例如,容器管理系统可以根据排序结果,将最接近的节点确定为目标节点。容器管理系统也可以根据接近程度对所述至少一个节点进行评分,根据至少一个节点的评分从所述至少一个节点中确定目标节点。例如,容器管理系统可以将评分最高或者评分大于预设分值的节点确定为目标节点。

8、其中,基于排序确定目标节点的方式比较简单,易于实现,对算力要求较低,基于评分确定目标节点的方式相对更为精确,能够确定出更合理的目标节点,将pod调度至该目标节点可以较大程度地减少资源浪费,降低业务成本。

9、在一些可能的实现方式中,至少一个节点包括第一节点,至少一个pod包括第一pod。第一pod的生命周期小于第一节点的生命周期时,第一节点的评分与第一接近程度正相关,第一接近程度根据第一pod的生命周期和第一节点的生命周期的比值确定。第一pod的生命周期不小于第一节点的生命周期时,第一节点的评分与第二接近程度正相关,第二接近程度根据第一节点的生命周期和第一pod的生命周期的比值确定。

10、该方法针对pod生命周期小于节点的生命周期的情况、pod生命周期不小于节点的生命周期的情况,分别采用相应规则确定节点的评分,提高了节点评分的准确度,为推荐出合适的目标节点奠定基础。

11、在一些可能的实现方式中,容器管理系统在确定目标节点时,可以根据所述至少一个节点的生命周期以及所述至少一个节点上容器集的生命周期,确定候选的第二节点,然后确定所述候选的第二节点上容器集的至少一种候选删除顺序,预测按照所述候选删除顺序删除所述第二节点上容器集的收益。其中,收益可以根据集群上的资源利用率确定。接着容器管理系统根据所述收益,确定目标删除顺序,并从所述候选的第二节点中确定目标节点。如此,容器管理系统在对pod进行伸缩时,可以按照所述目标删除顺序调整所述目标节点上第二容器集的删除顺序,并按照调整后的删除顺序对所述目标节点上所述第二容器集进行删除。

12、在该方法中,容器管理系统通过智能分析pod全局缩容顺序,并对缩容顺序进行优化,从根源上解决节点资源碎片化问题,提高资源利用率,降低业务成本。

13、在一些可能的实现方式中,候选的第二节点的生命周期大于第一时长,所述候选的第二节点上容器集的生命周期大于第二时长。

14、如此,候选的第二节点可以为长周期节点,候选的第二节点上的pod为长周期pod。例如,候选的第二节点可以在低谷器剩余长周期pod。长周期节点的生命周期大于第一时长,长周期pod的生命周期大于第二时长。该第一时长和第二时长可以根据经验值设置。在一些示例中,第一时长和第二时长可以设置为相等,或者设置为不等。其中,长周期节点、长周期pod通常不会在业务的低谷期被删除,与之相对的弹性节点、弹性pod可以在业务的低谷期被删除。

15、该方法通过确定长周期节点作为候选的节点,可以减少缩容顺序优化时的遍历次数,提升缩容优化效率。

16、在一些可能的实现方式中,所述容器管理系统支持周期性缩容优化,或者实时缩容优化。具体地,容器管理系统在调整所述目标节点上第二pod的删除顺序时,可以在业务的低谷期,周期性调整所述第二pod的删除顺序。容器管理系统也可以在业务的低谷期到本文档来自技高网...

【技术保护点】

1.一种容器管理方法,其特征在于,应用于容器管理系统,所述容器管理系统用于对部署至业务集群的容器集或待部署至所述业务集群的容器集进行管理,所述容器集包括一组容器,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述至少一个容器集包括待部署的所述容器集,所述容器管理系统根据所述节点的生命周期以及所述容器集的生命周期,确定目标节点,包括:

3.根据权利要求2所述的方法,其特征在于,所述容器管理系统根据所述接近程度,从所述至少一个节点中确定目标节点,包括:

4.根据权利要求3所述的方法,其特征在于,所述至少一个节点包括第一节点,所述至少一个容器集包括第一容器集;

5.根据权利要求1所述的方法,其特征在于,所述容器管理系统根据所述至少一个节点的生命周期以及所述至少一个容器集的生命周期,确定目标节点,包括:

6.根据权利要求5所述的方法,其特征在于,所述容器管理系统调整所述目标节点上第二容器集的删除顺序,包括:

7.根据权利要求1至6任一项所述的方法,其特征在于,所述容器管理系统获取至少一个容器集的生命周期,包括:

8.根据权利要求1至7任一项所述的方法,其特征在于,所述容器管理系统获取所述业务集群中至少一个节点的生命周期,包括:

9.根据权利要求1至8任一项所述的方法,其特征在于,所述容器管理系统部署在调度器中。

10.根据权利要求1至8任一项所述的方法,其特征在于,所述容器管理系统分布式部署在不同设备,并且所述容器管理系统中的不同模块通过应用程序编程接口API服务器交互。

11.根据权利要求10所述的方法,其特征在于,所述容器管理系统中的顺序优化模块为独立插件,或者通过对容器编排平台的内核改造获得。

12.一种容器管理系统,其特征在于,所述容器管理系统用于对部署至业务集群的容器集或待部署至所述业务集群的容器集进行管理,所述容器集包括一组容器,所述系统包括:

13.根据权利要求12所述的系统,其特征在于,所述至少一个容器集包括待部署的所述容器集,所述生命周期调度模块具体用于:

14.根据权利要求13所述的系统,其特征在于,所述生命周期调度模块具体用于:

15.根据权利要求14所述的系统,其特征在于,所述至少一个节点包括第一节点,所述至少一个容器集包括第一容器集;

16.根据权利要求12所述的系统,其特征在于,所述系统还包括:

17.根据权利要求16所述的系统,其特征在于,所述生命周期调度模块具体用于:

18.根据权利要求12至17任一项所述的系统,其特征在于,所述生命周期画像模块具体用于:

19.根据权利要求12至18任一项所述的系统,其特征在于,所述生命周期画像模块具体用于:

20.根据权利要求12至18任一项所述的系统,其特征在于,所述容器管理系统部署在调度器中。

21.根据权利要求12至18任一项所述的系统,其特征在于,所述容器管理系统分布式部署在不同设备,并且所述容器管理系统中的不同模块通过应用程序编程接口API服务器交互。

22.根据权利要求21所述的系统,其特征在于,所述容器管理系统中的顺序优化模块为独立插件,或者通过对容器编排平台的内核改造获得。

23.一种计算设备集群,其特征在于,所述计算设备集群包括至少一台计算设备,所述至少一台计算设备包括至少一个处理器和至少一个存储器,所述至少一个存储器中存储有计算机可读指令;所述至少一个处理器执行所述计算机可读指令,以使得所述计算设备集群执行如权利要求1至11中任一项所述的方法。

24.一种计算机可读存储介质,其特征在于,包括计算机可读指令;所述计算机可读指令用于实现权利要求1至11任一项所述的方法。

25.一种计算机程序产品,其特征在于,包括计算机可读指令;所述计算机可读指令用于实现权利要求1至11任一项所述的方法。

...

【技术特征摘要】

1.一种容器管理方法,其特征在于,应用于容器管理系统,所述容器管理系统用于对部署至业务集群的容器集或待部署至所述业务集群的容器集进行管理,所述容器集包括一组容器,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述至少一个容器集包括待部署的所述容器集,所述容器管理系统根据所述节点的生命周期以及所述容器集的生命周期,确定目标节点,包括:

3.根据权利要求2所述的方法,其特征在于,所述容器管理系统根据所述接近程度,从所述至少一个节点中确定目标节点,包括:

4.根据权利要求3所述的方法,其特征在于,所述至少一个节点包括第一节点,所述至少一个容器集包括第一容器集;

5.根据权利要求1所述的方法,其特征在于,所述容器管理系统根据所述至少一个节点的生命周期以及所述至少一个容器集的生命周期,确定目标节点,包括:

6.根据权利要求5所述的方法,其特征在于,所述容器管理系统调整所述目标节点上第二容器集的删除顺序,包括:

7.根据权利要求1至6任一项所述的方法,其特征在于,所述容器管理系统获取至少一个容器集的生命周期,包括:

8.根据权利要求1至7任一项所述的方法,其特征在于,所述容器管理系统获取所述业务集群中至少一个节点的生命周期,包括:

9.根据权利要求1至8任一项所述的方法,其特征在于,所述容器管理系统部署在调度器中。

10.根据权利要求1至8任一项所述的方法,其特征在于,所述容器管理系统分布式部署在不同设备,并且所述容器管理系统中的不同模块通过应用程序编程接口api服务器交互。

11.根据权利要求10所述的方法,其特征在于,所述容器管理系统中的顺序优化模块为独立插件,或者通过对容器编排平台的内核改造获得。

12.一种容器管理系统,其特征在于,所述容器管理系统用于对部署至业务集群的容器集或待部署至所述业务集群的容器集进行管理,所述容器集包括一组容器,所述系...

【专利技术属性】
技术研发人员:艾拓王雷博孙涛黄毽
申请(专利权)人:华为云计算技术有限公司
类型:发明
国别省市:

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

1