云协同容器弹性伸缩方法、装置及电子设备与流程

文档序号:38028415发布日期:2024-05-17 13:05阅读:12来源:国知局
云协同容器弹性伸缩方法、装置及电子设备与流程

本发明涉及云容器伸缩,具体涉及云协同容器弹性伸缩方法、装置及电子设备。


背景技术:

1、云容器是一种将一个个服务器连结在一起构成按需分配、便捷访问的共享资源池,使其即可以获得较低的成本又可以具有超级计算机的性能,为大数据、人工智能、物联网等领域的发展提供了基础支撑,在传统的云计算三层服务模式中,iaas层的资源调度单元是虚拟机,因此存在调度速度慢、软件堆栈环境不相同、资源利用率低等问题,而传统paas平台由于其是基于iaas层,故在程序环境和程序架构上也因此受到了虚拟机自身缺陷的很大限制,因此云计算迫切需要一个全新的、高效便捷的虚拟化技术来很好解决上述问题。

2、随着云计算技术和容器技术的快速发展,基于容器的服务应用规模不断扩大,容器数量也不断增加,容器云平台需要对所有容器进行监控、调度和管理,目前以kubernetes为代表的容器云平台大都使用了响应式或计划式自动伸缩策略,目前云协同容器弹性伸缩方法主要存在以下问题:(1)kubernetes现有的弹性伸缩机制过于简易,不能很好地适用于生产环境中多样的应用场景;(2)在容器云中进行扩缩容存在一定的响应延迟,在流量快速变化的情况下,可能会因为扩缩容反应不及时造成大量云任务的sla违约,降低容器云的服务质量。


技术实现思路

1、本发明的目的在于提供云协同容器弹性伸缩方法、装置及电子设备,以解决现有技术中对于现有技术中kubernetes弹性伸缩机制过于简易,不能很好地适用于生产环境中多样的应用场景,以及扩缩容存在一定的响应延迟,可能会造成大量云任务的sla违约,降低容器云服务质量的技术问题。

2、为解决上述技术问题,本发明具体提供下述技术方案:

3、本发明的第一个方面,提供了云协同容器弹性伸缩方法,包括以下步骤:

4、连续获取容器集群的资源调度数据节点,对所述数据节点采用kubernetes资源监控工具收集pod的资源负载数据,获取所述容器集群中pod的负载变化数据;

5、对所述pod的负载变化数据建立基于动态阈值的容器云伸缩模型,根据所述容器云伸缩模型对下一时刻的所述容器集群的资源需求进行预测,获取所述pod中对应负载变化数据的容错区;

6、统计所述容错区内的负载变化数据在容器内的历史负载,结合当前服务器的可用资源,对所述容器集群下一时刻的资源需求进行预测,通过所述动态阈值减小预测误差,获取所述容器集群在下一时刻的快速扩容以及延迟缩容时间;

7、对所述快速扩容以及延迟缩容时间根据云资源负载序列,建立不同频率的模态分量,采用时间卷积网络tcn对所述模态分量进行预测,获取所述pod的资源应用响应时间,预测资源负载值与对应资源阈值的变化率,完成对应扩容或缩容操作。

8、作为本发明的一种优选方案,连续获取容器集群的资源调度数据节点,包括:

9、通过所述容器集群的资源管理接口实时查看当前服务器集群的工作节点数量及资源参数,对资源调度数据进行实时的资源配置调控,采用所述kubernetes工具实时获取service和crd的工作负载,获取实时的资源调度数据节点。

10、作为本发明的一种优选方案,通过所述数据节点收集pod的资源负载数据,获取所述容器集群中pod的负载变化数据,包括:

11、采用所述kubernetes资源监控工具cadvisor对所述容器集群中的各个容器系统的资源指标数据进行采集和监控,收集pod的资源负载数据;

12、通过数据聚合工具heapster对所述容器集群中的核心资源负载数据进行聚合,获取定义资源指标的数据信息;

13、周期性的拉取动态变化的所述资源指标的数据信息作为资源指标数据,将所述资源指标数据的数据格式转化为所述kubernetes能够识别的格式,获取所述容器集群中所有pod的负载变化数据。

14、作为本发明的一种优选方案,对所述pod的负载变化数据建立动态阈值的容器云伸缩模型,包括:

15、通过所述kubernetes资源监控工具抓取容器数据,分析容器输出日志的信息,获取具有时序特征的资源数据,根据时序依次对所述pod的负载变化数据进行排列;

16、将排列后的所述pod的负载变化数据通过prometheusapi收集函数组建时序数据库,通过计算每分钟内所述容器的并发量,获取每个容器的资源并发请求的时间序列;其中,所述资源并发请求的时间序列为每个容器在时刻长度为的历史数据序列,表示为;在对所述时刻长度为的历史数据序列进行一次移动后获取其均值,对所述均值进行二次平移后获取均值;根据时刻所述容器的资源需求值和在时间间隔内容器的负载增量,获取每个容器的资源需求值,其表达式为:;通过所述资源并发请求的时间序列对资源请求构建训练模型,通过所述pod的负载变化数据对未来并发情况的时序进行预测,获取预测并发值;

17、根据所述预测并发值,计算所述容器的扩缩容数量,通过对应pod时间窗内的平均并发度,获取扩缩容指标。

18、作为本发明的一种优选方案,根据所述容器云伸缩模型对下一时刻的所述容器集群的资源需求进行预测,获取所述pod中对应负载变化数据的基于动态阈值的容错区,包括:

19、根据所述容器云伸缩模型输出的扩缩容指标设置pod负载阈值范围[],其中,表示动态缩容阈值,表示动态扩容阈值;通过动态下降算法来下调动态扩缩容阈值,使实际的静态扩缩容阈值与动态扩缩容的阈值之间形成一定的阈值差,将所述阈值差作为基于动态阈值的容错区;

20、在所述容错区内为集群在预测间隔期间生成新的pod提供足够的缓冲时间,且所述动态扩缩容阈值通过降低阈值的方式来降低由所述二次平移后均值所带来的预测偏小的误差。作为本发明的一种优选方案,所述动态下降算法通过调整容错区的动态扩缩容阈值降低预测误差,包括:

21、通过监控kubernetes集群中pod的cpu利用率并依次将其加入到cpu历史利用率队列,获取对应所述pod的cpu增长率,其中为两个cpu利用率和之间的时间差;根据所述cpu增长率为容器分配pod,并动态调整pod的阈值,表达式为:其中,、表示下一步动态阈值上下限,表示当前动态阈值的值,表示集群中pod的cpu增长率,表示当前cpu历史利用率的平均值;当所述监控kubernetes集群处于预测间隔期间,判断当前负载是否处于动态阈值上下限之间,若当前负载小于动态阈值,则将容器分配给pod;

22、若当前负载大于动态阈值小于实际静态阈值,将容器分配给pod后,计算每个容器的资源需求值,在新的pod创建好之前容器进入排队等待状态;

23、根据所述每个容器的资源需求值,在所述容错区内对负载变化数据的历史负载进行统计,获取前个历史负载值,计算容器负载预测值,对所述容器集群下一时刻的资源需求进行预测,且对所述负载预测值进行系统状态判断,若系统状态为常态,计算需求pod数量,执行伸缩操作;若系统状态为应急态,则构建应急态负载预测模型,计算应急态负载预测值后,获取需求pod数量,执行伸缩操作;

24、作为本发明的一种优选方案,通过所述动态阈值减小预测误差,获取所述容器集群在下一时刻的快速扩容以及延迟缩容时间,包括:

25、从所述时序数据库中获取所述每个容器的资源需求值的前n个周期预测负载,统计前n个周期的历史负载以及收集当前的pod数量;通过预测负载与当前容器的最大负载的比值计算出前n次预测值所需的pod数;向上取整后计算出其对应的负载能力;若前n次预测负载能力均低于历史负载,则判断为出现负载欠预测的情况,系统进入应急态,将所述容器集群在下一时刻的快速扩容以及延迟缩容时间增加一个时间周期;

26、若不是则系统状态依然为常态,直接向执行器发出一个扩缩容命令,将当前时刻作为所述容器集群在下一时刻的快速扩容以及延迟缩容时间。

27、作为本发明的一种优选方案,对所述快速扩容以及延迟缩容时间根据云资源负载序列,建立不同频率的模态分量,采用时间卷积网络tcn对所述模态分量进行预测,获取所述pod中的资源应用响应时间,包括:

28、根据所述时序数据库中的时间序列对所述快速扩容以及延迟缩容时间构建不同频率的模态分量,其表达式为:其中,表示脉冲信号函数,表示虚数,表示卷积系数,表示时间分量,表示模态中心频率;根据所述资源负载数据的时间序列将其分解为若干个不同频率且相对平稳的分量,将分解后得到的各个分量按时间顺序排列,形成二维矩阵,然后按照滑动窗口截取的方式,把序列构造成有监督学习的形式;

29、采用时间卷积网络tcn所述模态分量进行分解,对分解得到的每个分量进行建模预测,获取所述pod中的资源应用响应时间。

30、本发明的第二个方面,提供了一种计算机装置,

31、包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;

32、其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行。

33、本发明的第三个方面,提供了一种电子设备,

34、所述电子设备中存储有计算机执行指令,处理器执行所述计算机执行指令。

35、本发明与现有技术相比较具有如下有益效果:

36、本发明采用基于动态阈值的容器云弹性伸缩策略,通过将基于阈值的响应式弹性伸缩策略和基于预测式的弹性伸缩策略结合在一起,使其既可以预测未来时刻容器云的资源需求,克服基于阈值的响应式伸缩策略所存在的扩缩容延迟的问题,又可以实现在面对突发流量时能够及时响应,从而提高容器云资源的响应速度和服务质量,降低用户的sla违约率。

37、采用基于时间卷积网络tcn的云资源负载组合预测模型,根据云资源负载序列具有的非线性和非平稳性等特点,将原负载序列分解为不同频率且相对平稳的模态分量,再使用tcn对分解得到的分量进行预测,进而提高了模型的预测精度。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1