一种多资源约束下基于成本效益的反应式扩缩容调度方法
- 国知局
- 2024-11-21 11:33:25
本发明属于云计算容器平台,具体涉及一种多资源约束下基于成本效益的反应式扩缩容调度方法。
背景技术:
1、随着云计算的发展,其优势和便利吸引了越来越多的企业和用户走向云端。容器技术已经成为了现代应用部署和管理的关键工具。kubernetes和docker已经成为了现代云计算和容器化应用部署的两大关键技术。它们的结合提供了强大的容器编排和管理解决方案,允许开发者在不同的环境中轻松部署、伸缩和管理容器化应用程序。在容器化管理的系统中,kubernetes已经成为管理和调度容器的实际标准,一个适用于生产环境的容器编排平台。
2、可扩展性描述了扩大资源或应用以满足逐步扩展需求的能力。在云计算中,特别重视容器资源进行扩展或收缩的能力。这种缩放既可以由操作员完成,也可以通过自动化方式执行。自动缩放的算法在云计算行业中日益被重视和广泛应用。云环境中的负载具有不断变化的动态性,这使得对给定的pod进行最理想的资源分配以及执行自动扩展变得颇具挑战。kubernetes是目前使用最广泛且最受欢迎的云原生容器编排架构,它引入了两种自动扩展机制:水平pod自动扩展(hpa)和垂直pod自动扩展(vpa),分别对应着水平扩展和垂直扩展的需求。
3、目前,kubernetes本身对于pod的垂直缩放只有默认的vpa一种实现方式。其过程如下:首先定义需要调整pod的vpa资源,vpa的recommender通过观察该pod的使用情况历史数据,评估这些数据,进行预测pod需要的资源量。recommender会为每个pod创建资源使用的推荐值,包括cpu和内存的请求量和限制。如果推荐的资源配置和当前的pod资源配置不一致,vpa会自动更新pod的资源配置。这通常需要kill正在运行的pod并重新创建一个具有新资源配置的pod。vpa会持续监测pod的资源使用情况,并在必要时进行调整,以确保pod总是有适合的资源量。
4、但是,在采用默认自动扩缩容的缩放算法时,它主要考虑的因素仅有cpu的利用率,容器扩缩容阈值约束单一导致有些pod可能因为其需求不同而无法得到足够的资源,导致资源浪费或者性能问题。并且由于对多种资源约束下能耗问题研究的缺失,在负载突变情况下kubernetes默认的伸缩机制在集群运行过程中如何保持低成本状态都是待解决问题。
5、比如在执行任务时常会面临两种不同类型的负载:一种是相对平稳的负载,另一种则是突然激增的负载。当使用垂直pod缩放vpa(vertical pod autoscaler)时,其在负载较低的情况下会采用一种称为滑动窗口加半衰期直方图的方法进行资源缩放的预测。首先,当负载急剧增加时,这种预测方法可能会限制pod扩展的速度。因此,在经历多次缩放调整后,才能使pod的资源使用达到适应该负载下所需的水平。这种情况可能会导致无法满足服务水平协议(sla),从而增加违规率。其次,当负载突然降低时,这种预测方式可能造成对pod缩容的限制。这种情况下,由于预测模型仍在依赖历史负载数据进行调整,可能无法及时地适应负载的急剧下降。因此,pod无法迅速释放多余的资源,导致资源过度浪费的问题。
技术实现思路
1、针对现有技术存在的不足,本发明提出了一种多资源约束下基于成本效益的反应式扩缩容调度方法,该方法包括:
2、s1:基于kubernetes容器管理平台,监控k8s集群的指标信息;
3、s2:提交yaml任务,根据yaml文件的配置信息初始化pod分配资源量;使用分配资源量进行服务调用;
4、s3:根据当前pod的资源使用状态计算扩缩容阈值score;
5、s4:当前时间步下,若0.8<score≤2.0或-2.0≤score<0.2,执行预测式缩放资源分配方案;若score>2.0或score<-2.0,则执行反应式缩放资源分配方案;
6、s5:间隔一个单位时间后返回步骤s3,直到服务调用任务结束。
7、优选的,计算扩缩容阈值score的公式为:
8、
9、其中,npod表示pod数量,nv表示sla违规数量,α表示权重系数,ur(podi,tj)表示第i个pod在第j个sla违约情况下所需的资源量,ua(podi,tj)表示第i个pod在第j个sla违约情况下实际分配的资源量。
10、优选的,执行预测式缩放资源分配方案的过程包括:
11、将pod分配资源量数据填充到直方图中,计算直方图中每个桶的初始大小;
12、计算权重指数并根据权重指数更新每个桶的大小;
13、根据直方图中桶的大小计算资源推荐值、上限值和下限值;
14、根据资源推荐值、上限值和下限值调整pod分配资源量并进行服务调用。
15、进一步的,计算每个桶的初始大小的公式为:
16、
17、其中,sn表示第n个桶的初始大小,bfirst表示第一个桶的大小,r表示平衡参数。
18、进一步的,计算权重指数和更新每个桶的大小的公式为:
19、
20、s′n=ζ×sn
21、其中,ζ表示权重指数,τ表示当前时间,τ0表示是参考时间,λ表示衰减参数,s′n表示更新后的第n个桶的大小,sn表示第n个桶的初始大小。
22、进一步的,计算资源推荐值、上限值和下限值的公式为:
23、
24、
25、
26、其中,t表示资源推荐值;l表示资源下限值;u表示资源上限值,b90表示当前的90百分位资源使用量;σ表示安全边际比例,p表示pod最小cpu使用量,n表示预测窗口内的样本数量,b50表示当前的50百分位资源使用量,δ表示预测误差调整系数,b95表示当前的95百分位资源使用量。
27、优选的,执行反应式缩放资源分配方案的过程包括:
28、获取目标引用并确定目标命名空间,列出目标命名空间中与目标引用标签匹配的pod;
29、计算pod的资源下限值、未限制目标值和上限值;
30、根据资源的下限值、未限制目标值和上限值调整pod分配资源量并进行服务调用。
31、进一步的,计算未限制目标值的公式为:
32、
33、其中,tfc表示未限制目标值,v表示当前资源供给值,nucur表示pod的当前资源利用率,nutar表示pod的目标资源利用率。
34、本发明的有益效果为:本发明通过研究vpa默认的recommender,添加一种基于反应式的缩放策略。这种策略将更加注重对当前实时负载的响应,而不是完全依赖于历史数据的预测。通过监控实时负载情况,包括cpu、内存等资源的使用情况,系统可以更迅速地做出反应,及时调整pod的资源请求,以满足新负载下的性能要求。这种基于反应式的策略可以在负载突变时更灵活地调整资源分配,确保满足sla要求并避免资源过度分配。例如,在负载突然增加时,该策略能够快速调整pod的资源请求,以应对激增的需求,保持服务的稳定性和可靠性;而在负载降低时,则及时释放多余的资源,避免资源浪费。综合而言,通过引入基于反应式的缩放策略,vpa可以更有效地应对负载突变带来的挑战。本发明更加灵活地根据实时负载情况调整资源请求,从而在不违反sla的前提下,最大程度地优化资源利用,降低成本浪费,提升整体系统的效率和可靠性。
本文地址:https://www.jishuxx.com/zhuanli/20241120/331763.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表