System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及计算机,尤其涉及一种基于k8s的pod智能均衡调度方法、装备、设备及存储介质。
技术介绍
1、k8s是一个管理容器化应用的开源平台,其默认的调度算法在优选阶段仅把cpu和内存两种资源来作为计算节点的评分指标,忽略了不同类型的pod对节点资源的占用比例是不同的,容易导致某一资源达到性能瓶颈,从而造成节点对资源使用失衡(如node的磁盘空间还剩很多,但内存使用率已接近100%),并且不同时刻node中的pod对资源的消耗是不同的,如果node中的pod处于低消耗状态此时node满足pod调度条件并调度到node上,当node中的应用处于高消耗的状态,可能导致节点出现资源耗尽杀死pod,因此,现有的pod调度方法可能会导致node某一资源达到性能瓶颈导致pod无法正常启动的问题。
技术实现思路
1、本公开提供了一种基于k8s的pod智能均衡调度方法、装置、设备以及存储介质。
2、根据本公开的第一方面,提供了一种基于k8s的pod智能均衡调度方法。该方法包括:
3、获取待调度pod的各项资源需求量以及各节点的资源信息;
4、根据所述待调度pod的各项资源需求量以及各节点的资源信息,分别计算所述待调度pod在各节点下对应的业务类型;
5、根据待调度pod的各项资源需求量、各节点的资源信息和待调度pod在各节点下对应的业务类型在各节点中确定目标节点;
6、将所述待调度pod调度至所述目标节点。
7、如上所述的方面
8、根据各节点上部署的agent程序实时采集各节点的资源信息,其中,所述资源信息包括各项资源总容量以及各项资源已占用量。
9、如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据所述待调度pod的各项资源需求量以及各节点的资源信息,分别计算所述待调度pod在各节点下对应的业务类型,包括:
10、根据待调度pod各项资源需求量和各节点的各项资源总容量,分别计算待调度pod在各节点下对应的各项资源需求率,其中,pod各项资源需求率包括cpu需求率、内存需求率、磁盘需求率和网络io需求率;
11、根据所述待调度pod在各节点的cpu需求率与内存需求率的比值以及磁盘需求率与网络io需求率的比值,确定所述待调度pod在各节点下对应的业务类型。
12、如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据待调度pod的各项资源需求量、各节点的资源信息和待调度pod在各节点下对应的业务类型在各节点中确定目标节点,包括:
13、根据待调度pod的各项资源需求量、待调度pod在各节点下对应的业务类型、各节点的各项资源总容量及各项资源已占用量,分别计算各节点总资源剩余率;
14、根据待调度pod的各项资源需求量、各节点的各项资源总容量和各项资源已占用量,分别计算各节点总负载均衡度;
15、将所述总资源剩余率和总负载均衡度之和最大的节点作为目标节点。
16、如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据待调度pod的各项资源需求量、待调度pod在各节点下对应的业务类型、各节点的各项资源总容量及各项资源已占用量,分别计算各节点总资源剩余率,包括:
17、根据待调度pod各项资源需求量、各节点的各项资源总容量及各项资源已占用量,分别计算各节点的各项资源剩余率;
18、根据待调度pod在各节点下对应的业务类型分别设置各节点的各项资源剩余率对应的权重值;
19、根据所述各节点的各项资源剩余率以及对应的权重值计算各节点总资源剩余率。
20、如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据各节点的各项资源总容量和各项资源已占用量,分别计算各节点总负载均衡度,包括:
21、根据待调度pod各项资源需求量、各节点的各项资源总容量及各项资源已占用量,分别计算各节点的各项负载均衡度;
22、根据各节点的各项资源总容量和预设系数,分别计算各节点的各项资源临界负载容量;
23、根据所述各节点的各项负载均衡度、各项资源临界负载容量以及各项负载均衡度权重值,计算各节点的总负载均衡度,其中,各项负载均衡度权重值根据各项资源对节点均衡度的影响程度确定。
24、如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:
25、当有新节点加入时,对所述新节点进行资源信息采集,并将所述新节点加入到所述待调度pod的候选节点列表。
26、根据本公开的第二方面,提供了一种基于k8s的pod智能均衡调度装置,该装置包括:
27、获取模块,用于获取待调度pod的各项资源需求量以及各节点的资源信息;
28、计算模块,用于根据所述待调度pod的各项资源需求量以及各节点的资源信息,分别计算所述待调度pod在各节点下对应的业务类型;
29、所述计算模块,用于根据待调度pod的各项资源需求量、各节点的资源信息和待调度pod在各节点下对应的业务类型在各节点中确定目标节点;
30、调度模块,用于将所述待调度pod调度至所述目标节点。
31、根据本公开的第三方面,提供了一种电子设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
32、根据本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如根据本公开的第一方面和/或第二发面的方法。
33、本公开在k8s调度算法原有的节点资源指标(cpu指标和内存指标)基础上,增加网络带宽和磁盘容量指标,同时根据待调度pod应用的资源需求将待调度的pod分为cpu消耗型/内存消耗型/磁盘io型/网络io型,使节点的cpu、内存、磁盘资源和网络带宽均能满足待调度pod的要求,且新调度的pod和节点上已经运行的pod不存在排斥关系,同时以节点总资源剩余率和总负载均衡度之和最大为目标寻找目标节点,最后将待调度pod调度到目标节点,以此方式,在pod调度到目标节点上后,可以使整个集群的节点的所有资源处于一个均衡状态,保证了整个集群的稳定性。
34、应当理解,
技术实现思路
部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
【技术保护点】
1.一种基于k8s的pod智能均衡调度方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,获取各节点的资源信息,包括:
3.根据权利要求1所述的方法,其特征在于,所述根据所述待调度pod的各项资源需求量以及各节点的资源信息,分别计算所述待调度pod在各节点下对应的业务类型,包括:
4.根据权利要求3所述的方法,其特征在于,所述根据待调度pod的各项资源需求量、各节点的资源信息和待调度pod在各节点下对应的业务类型在各节点中确定目标节点,包括:
5.根据权利要求4所述的方法,其特征在于,所述根据待调度pod的各项资源需求量、待调度pod在各节点下对应的业务类型、各节点的各项资源总容量及各项资源已占用量,分别计算各节点总资源剩余率,包括:
6.根据权利要求4所述的方法,其特征在于,所述根据各节点的各项资源总容量和各项资源已占用量,分别计算各节点总负载均衡度,包括:
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
8.一种基于k8s的pod智能均衡调度装置,其特征在于,包括:
9.一种电子设备,包括:
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1至7中任一权利要求所述的方法。
...【技术特征摘要】
1.一种基于k8s的pod智能均衡调度方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,获取各节点的资源信息,包括:
3.根据权利要求1所述的方法,其特征在于,所述根据所述待调度pod的各项资源需求量以及各节点的资源信息,分别计算所述待调度pod在各节点下对应的业务类型,包括:
4.根据权利要求3所述的方法,其特征在于,所述根据待调度pod的各项资源需求量、各节点的资源信息和待调度pod在各节点下对应的业务类型在各节点中确定目标节点,包括:
5.根据权利要求4所述的方法,其特征在于,所述根据待调度pod的各项资源需求量、...
【专利技术属性】
技术研发人员:严湘辉,戴立志,王彬,钟鑫,
申请(专利权)人:中通服创发科技有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。