System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() k8s集群的容器调度方法、装置、设备、介质及产品制造方法及图纸_技高网

k8s集群的容器调度方法、装置、设备、介质及产品制造方法及图纸

技术编号:42599243 阅读:10 留言:0更新日期:2024-09-03 18:11
本发明专利技术公开了一种k8s集群的容器调度方法、装置、设备、介质及产品,检测到k8s集群中任一节点的剩余资源均无法满足待创建pod的资源需求,且所有节点的剩余资源总和满足所述待创建pod的资源需求时,通过根据预设的迁移规则选择迁出节点,进行pod迁出,或对已经扩容的pod进行缩容,或进行业务流量控制;检测到节点中存在满足所述待创建pod的资源需求的节点时,选择当前剩余资源最多的节点作为目标节点创建所述待创建pod。本申请能够减少节点的碎片化资源,增加pod创建量,提高资源利用率。

【技术实现步骤摘要】

本专利技术涉及云计算,具体地说,涉及一种k8s集群的容器调度方法、装置、设备、介质及产品


技术介绍

1、k8s是google开源的容器集群管理系统,也被称为kubernetes,它是基于容器技术的分布式架构领先方案,在docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。

2、pod作为k8s集群调度的最小单元,是一组容器的集合,也是k8s集群中最重要的部分。k8s集群在调度资源创建pod的时候,是按照集群中的node节点计算资源剩余量作为衡量指标,将pod调度到相对最优的节点进行创建,以使每个node节点的使用资源比较均衡。但这种调度方法也会带来资源碎片化的问题,即每个node节点都会剩余部分资源,每个节点均无法创建新的pod,导致资源浪费,k8s集群的资源利用率不高。


技术实现思路

1、为了解决上述问题,本专利技术提出一种k8s集群的容器调度方法、装置、设备、介质及产品,能够减少节点的碎片化资源,增加pod创建量,提高资源利用率。

2、本专利技术实施例提供一种k8s集群的容器调度方法,包括:

3、检测到k8s集群中任一节点的剩余资源均无法满足待创建pod的资源需求,且所有节点的剩余资源总和满足所述待创建pod的资源需求时,根据预设的迁移规则选择迁出节点,进行pod迁出;

4、当所述迁出节点在pod迁出后的剩余资源满足所述待创建pod的资源需求时,将所述迁出节点作为目标节点创建所述待创建pod。

5、优选地,根据预设的迁移规则选择迁出节点,进行pod迁出,所述方法还包括:

6、在预设的资源聚合库中选择资源聚合策略;

7、当选择的资源聚合策略为pod迁移时,根据预设的迁移规则选择迁出节点,进行pod迁出。

8、优选地,所述方法还包括:

9、当选择的资源聚合策略为缩容策略时,对已经扩容的pod进行缩容;

10、检测到缩容后的节点中存在满足所述待创建pod的资源需求的节点时,选择当前剩余资源最多的节点作为目标节点创建所述待创建pod。

11、根据预设的迁移规则选择迁出节点,进行pod迁出,包括:

12、根据预设的迁移规则计算所有节点进行pod迁出后获得的空闲资源;

13、选择进行pod迁出后获得的空闲资源最大的节点作为迁出节点,进行pod迁出。

14、优选地,所述方法还包括:

15、当选择的资源聚合策略为业务流量控制时,确定剩余资源最多的节点作为待调度节点;

16、修改所述待调度节点的负载均衡,将所述待调度节点的业务向其他节点迁移;

17、当所述待调度节点的业务迁移后的剩余资源满足所述待创建pod的资源需求时,在所述待调度节点上创建所述待创建pod。

18、优选地,在预设的资源聚合库中选择资源聚合策略,包括:

19、当所述待创建pod的资源需求超过预设的资源阈值时,确定所述资源聚合策略为缩容或pod迁移;

20、当所述待创建pod的资源需求不超过所述资源阈值时,确定所述资源聚合策略为业务流量控制。

21、优选地,所述方法还包括:

22、当选择的资源聚合策略为先后执行业务流量控制、pod迁移以及缩容的控制策略时;

23、选择优先顺序最高的方案执行,并判断执行方案后的节点中是否存在满足所述待创建pod的资源需求的节点;

24、若否,判断所有方案是否均已执行完毕;

25、若存在未执行方案,则选择优先顺序次之的方案执行,并判断执行方案后的节点中是否存在满足所述待创建pod的资源需求的节点,直到判断结果为是或所有方案均已执行完毕;

26、若所有方案均已执行完毕,反馈待创建pod创建失败;

27、若判断结果为是,选择当前剩余资源最多的节点作为目标节点创建所述待创建pod。

28、优选地,对已经扩容的pod进行缩容,包括:

29、计算所述k8s集群中不同节点的当前业务占用资源总量;

30、根据不同节点的当前业务占用资源总量计算不同节点的可缩容数量;

31、根据不同节点的当前业务占用资源总量以及可缩容数量确定缩容节点;

32、对所述缩容节点中对应可缩容数量的扩容pod进行缩容。

33、进一步地,对所述缩容节点中对应可缩容数量的扩容pod进行缩容,包括:

34、更新pod扩容条件或暂停扩容后,在所述缩容节点中按照占用资源大小,选择对应可缩容数量的扩容pod进行缩容。

35、优选地,根据不同节点的当前业务占用资源总量以及可缩容数量确定缩容节点,包括:

36、计算不同节点进行缩容后的剩余资源;

37、当当前空闲资源最多的节点完成缩容后的剩余资源或可缩容数量最多的节点完成缩容后的剩余资源满足所述待创建pod的资源需求时,将对应节点作为所述缩容节点;

38、当当前空闲资源最多的节点完成缩容后的剩余资源,和可缩容数量最多的节点完成缩容后的剩余资源均不满足所述待创建pod的资源需求,将缩容后的剩余资源最多的节点作为所述缩容节点。

39、优选地,所述可缩容数量为预估缩容数量与预设的比例的乘积的取整值;

40、所述当前业务占用资源总量

41、所述预估缩容数量n=n-rtotal/(rlimit-rbase);

42、其中,n为节点上当前pod的数量,ri为节点上第j个业务实际使用资源总量,rlimit和rbase分别为pod的限制资源值和基础资源值。

43、优选地,根据预设的迁移规则计算所有节点进行pod迁出后获得的空闲资源,包括:

44、对每一节点,按照资源需求大小的优先级顺序依次选择该节点中的pod,当其他节点中存在剩余资源大于该pod的资源需求的节点,即将该pod迁出至满足迁出条件的节点,更新所有节点的资源和当前pod;

45、直到所有pod不满足迁出条件,或完成该节点中所有pod迁出时,完成该节点的pod迁出,计算该节点在pod迁出后与pod迁出前剩余资源之差,作为该节点获得的空闲资源。

46、优选地,修改所述待调度节点的负载均衡,包括:

47、根据待创建pod的资源需求和所述待调度节点的剩余资源计算缺少资源量;

48、获取所述待调度节点未被提前缩容的pod的资源使用总量;

49、根据所述资源使用总量和所述缺少资源量计算调整业务量;

50、根据所述调整业务量,按照其他节点的剩余资源的权重,确定其他节点承载的迁出业务,得到调整负载均衡的权重;

51、其中,调整业务量y=1-rneed/rntotal;rneed为缺少资源量,rntotal为资源使用总量。

52本文档来自技高网...

【技术保护点】

1.一种k8s集群的容器调度方法,其特征在于,所述方法包括:

2.根据权利要求1所述的k8s集群的容器调度方法,其特征在于,在根据预设的迁移规则选择迁出节点,进行pod迁出前,所述方法还包括:

3.根据权利要求2所述的k8s集群的容器调度方法,其特征在于,所述方法还包括:

4.根据权利要求1所述的k8s集群的容器调度方法,其特征在于,根据预设的迁移规则选择迁出节点,进行pod迁出,包括:

5.根据权利要求2所述的k8s集群的容器调度方法,其特征在于,所述方法还包括:

6.根据权利要求5所述的k8s集群的容器调度方法,其特征在于,在预设的资源聚合库中选择资源聚合策略,包括:

7.根据权利要求2所述的k8s集群的容器调度方法,其特征在于,所述方法还包括:

8.根据权利要求2所述的k8s集群的容器调度方法,其特征在于,对已经扩容的pod进行缩容,包括:

9.根据权利要求8所述的k8s集群的容器调度方法,其特征在于,对所述缩容节点中对应可缩容数量的扩容pod进行缩容,包括:

10.根据权利要求8所述的k8s集群的容器调度方法,其特征在于,根据不同节点的当前业务占用资源总量以及可缩容数量确定缩容节点,包括:

11.根据权利要求8所述的k8s集群的容器调度方法,其特征在于,所述可缩容数量为预估缩容数量与预设的比例的乘积的取整值;

12.根据权利要求4所述的k8s集群的容器调度方法,其特征在于,根据预设的迁移规则计算所有节点进行pod迁出后获得的空闲资源,包括:

13.根据权利要求5所述的k8s集群的容器调度方法,其特征在于,修改所述待调度节点的负载均衡,包括:

14.根据权利要求1所述的k8s集群的容器调度方法,其特征在于,所述方法还包括:

15.一种k8s集群的容器调度装置,其特征在于,所述装置包括:

16.一种电子设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至14中任意一项所述的k8s集群的容器调度方法。

17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至14中任意一项所述的k8s集群的容器调度方法。

18.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1~14中任一所述方法的步骤。

...

【技术特征摘要】

1.一种k8s集群的容器调度方法,其特征在于,所述方法包括:

2.根据权利要求1所述的k8s集群的容器调度方法,其特征在于,在根据预设的迁移规则选择迁出节点,进行pod迁出前,所述方法还包括:

3.根据权利要求2所述的k8s集群的容器调度方法,其特征在于,所述方法还包括:

4.根据权利要求1所述的k8s集群的容器调度方法,其特征在于,根据预设的迁移规则选择迁出节点,进行pod迁出,包括:

5.根据权利要求2所述的k8s集群的容器调度方法,其特征在于,所述方法还包括:

6.根据权利要求5所述的k8s集群的容器调度方法,其特征在于,在预设的资源聚合库中选择资源聚合策略,包括:

7.根据权利要求2所述的k8s集群的容器调度方法,其特征在于,所述方法还包括:

8.根据权利要求2所述的k8s集群的容器调度方法,其特征在于,对已经扩容的pod进行缩容,包括:

9.根据权利要求8所述的k8s集群的容器调度方法,其特征在于,对所述缩容节点中对应可缩容数量的扩容pod进行缩容,包括:

10.根据权利要求8所述的k8s集群的容器调度方法,其特征在于,根据不同节点的当前业务占用资源总量以及可缩容数量确定缩容节点,包括:

11....

【专利技术属性】
技术研发人员:刘东海蔡贵李胜力陈柏全梁嘉隆
申请(专利权)人:中移物联网有限公司
类型:发明
国别省市:

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

1