本发明涉及云计算,特别涉及一种k8s集群的pod资源分配方法。
背景技术:
1、在k8s的使用中,使用者都需要做的一个重要操作就是对其日常工作中需要建立与维护的pod/container服务进行资源申请分配,以及pod/container服务运行一定周期后的资源分析与再分配;
2、资源分析与再分配,能保证node/pod/container服务安全性的同时,还要尽量避免pod/container服务不被平台核心资源调度机制因node可申请资源不够原因导致kill行为,而且通过此操作,可以及时节约集群下node资源可申请分配值,保证了平台node/pod/container服务稳定性与资源可用性。
3、针对pod/container资源分析,资源分配是否合理,是否安全与稳定高效,这其中涉及了大量的平台pod/container的学习成本,还包括了每一个pod的历史数据读取与分析工作量。对于专业的人士来说,也许不是什么大问题,但是对于一个对原生服务平台node/pod/container资源申请理论不熟悉,对平台可视化数据分析不专业的操作人员来说,还要耗费时间去学习如何抓去数据,读取数据,分析数据,由此会带来大量的时间消耗不说还有很多繁琐的操作风险烦恼。
技术实现思路
1、本发明提供一种k8s集群的pod资源分配方法,旨在减轻用户对于k8s大批量后台操作的烦恼,他们不再因为复杂操作流程而望而却步,可以做到随时根据项目管理需求进行想要的必要的资源管理再分配。
2、一种k8s集群的pod资源分配方法,包括:
3、获取pod cpu以及内存在预设周期内的使用量最大值;
4、获取pod cpu以及内存在预设周期内的使用量平均值;
5、将当前pod资源分配值中request值的按一定比例作为预设阈值;
6、将所获取的cpu以及内存的使用量最大值和使用量平均值与预设阈值进行对比;
7、若使用量最大值以及使用量平均值均大于预设阈值,则增加资源调整优化;
8、若使用量最大值以及使用量平均值均小于预设阈值,则保持不变;
9、若使用量最大值以及使用量平均值均等于预设阈值,则减少资源调整优化。
10、获取pod cpu以及内存在预设周期内的使用量最大值的方法如下:
11、将预设周期内的使用量平均划分至若干个桶,对每个桶内的数据进行排序,再按照桶的次序将数据取出并进行合并,得到使用量有序序列,从而获取pod cpu以及内存在预设周期内的使用量最大值。
12、获取pod cpu以及内存在预设周期内的使用量平均值的方法如下:
13、基于所得到的使用量有序序列,将所有数据相加,除以数据总数,得到使用量平均值。
14、所述预设阈值为70%。
15、所述增加资源调整优化具体为:增加预设阈值,增加值为request最大值的10%-20%。
16、所述减少资源调整优化具体为:减少预设阈值,减少值的取值范围为0-︱n︱,︱n︱为使用量平均值与阈值之间的差值的正数。
17、所述预设周期为30天。
18、一种k8s集群的pod资源分配装置,包括:
19、获取模块,用于获取pod/containerde在预设周期内的资源利用数据;
20、计算模块,基于获取模块所获取的资源利用数据进行计算,得到cpu以及内存的使用量最大值和使用量平均值,
21、判断模块,基于得到cpu以及内存的使用量最大值和使用量平均值,与预设阈值进行对比,得到对比结果,给出资源分配建议;
22、分配模块,基于资源分配建议,进行部署。
23、一种电子设备,包括:
24、至少一个处理器,以及
25、存储器,与至少一个处理器通信连接,用于存储可执行指令;
26、处理器能够执行所述存储器中存储的可执行指令以实现k8s集群的pod资源分配方法。
27、一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现k8s集群的pod资源分配方法。
28、与现有技术相比,本发明的有益效果是:通过本发明可以将一个pod的数据收集,分析与优化部署操作在30秒内完成,而传统方法需要10-30分钟不等,对于集群内大量的pod可以进行并行的批量分析与优化操作,极大的节约效率同时保证node/pod/container的服务稳定性与安全性;
29、可以大大简化用户当前通用做法的操作流程,同时对于初级入门者,也能轻松的获取数据优化建议,并进行pod/container的批量资源分配更改,而不用耗费大量的时间去熟悉k8s后台命令,数据获取,数据清理,数据分析的使用,更不用为了各个pod/container进行yaml文件的编辑与部署而煞费苦心,能够提供分析结果建议。
1.一种k8s集群的pod资源分配方法,其特征在于,包括:
2.如权利要求1所述的一种k8s集群的pod资源分配方法,其特征在于,获取pod cpu以及内存在预设周期内的使用量最大值的方法如下:
3.如权利要求2所述的一种k8s集群的pod资源分配方法,其特征在于,获取pod cpu以及内存在预设周期内的使用量平均值的方法如下:
4.如权利要求1所述的一种k8s集群的pod资源分配方法,其特征在于,所述预设阈值为70%。
5.如权利要求1所述的一种k8s集群的pod资源分配方法,其特征在于,所述增加资源调整优化具体为:增加预设阈值,增加值为request最大值的10%-20%。
6.如权利要求1所述的一种k8s集群的pod资源分配方法,其特征在于,所述减少资源调整优化具体为:减少预设阈值,减少值的取值范围为0-︱n︱,︱n︱为使用量平均值与阈值之间的差值的正数。
7.如权利要求1所述的一种k8s集群的pod资源分配方法,其特征在于,所述预设周期为30天。
8.一种k8s集群的pod资源分配装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的k8s集群的pod资源分配方法。