容器内存调整方法及装置制造方法及图纸

技术编号:28558290 阅读:11 留言:0更新日期:2021-05-25 17:52
本发明专利技术公开了一种容器内存调整方法及装置,涉及计算机技术领域。该方法包括监测容器内存数据;容器内存数据包括容器内存使用量及容器内存分配量;根据容器内存使用量与容器内存分配量的比值,预先配置的缩容阈值及扩容阈值,控制容器内存进行更新。本发明专利技术在控制容器内存进行更新过程中同时更新容器在进程资源控制机制的内存子系统中的内存配置与Pod在存储状态数据库中的内存配置,以保证更新后的应用容器引擎中容器字段的哈希值与Pod在存储状态数据库中容器字段的哈希值一致,能够在无需重建容器的情况下提供持续服务;本发明专利技术提供的容器内存调整方法不受限于容器性质,无状态应用和有状态应用均适用,提高了容器内存调整的普适性。

【技术实现步骤摘要】
容器内存调整方法及装置
本专利技术涉及计算机
,尤其涉及容器内存调整方法及装置。
技术介绍
本部分旨在为权利要求书中陈述的本专利技术实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。Kubernetes是容器编排引擎,支持容器的自动化部署,大规模伸缩,应用容器化管理等功能。在Kubernetes中容器的内存资源使用量会随业务访问量波动而波动,但容器所分配的内存资源是在容器启动前就设置好的,在业务访问过程中不能随意调整。因此在业务访问高峰时会存在内存不足的情况,而在业务访问低谷时又会存在内存闲置的情况。为了解决上述问题,目前业界有以下两种技术方案:(1)Pod的水平自动扩缩容。水平伸缩是对应用的实例个数进行调整,达到应用资源分配量的调整。Pod的水平自动扩缩容技术通过监控应用容器内存的使用率,动态修改应用Pod的副本数量,达到应用内存分配随业务流量波动而动态调整的效果。其原理为,水平自动扩缩容插件周期性的查询所有应用容器内存的使用量,并将所有应用容器的内存使用量取平均值,再根据设定的内存使用量目标值,计算产生一个用于缩放所需的副本数量。如果该值大于当前应用副本数量,则执行扩容操作;而当该值小于当前应用副本数量,则执行缩容操作。(2)Pod的垂直自动扩缩容。垂直伸缩是对应该单体进行规格调整,达到应用资源分配量的调整。Pod的垂直自动扩缩容技术通过监控应用容器内存的使用率,动态修改应用Pod的内存资源配置,达到应用内存分配随业务流量波动而动态调整的效果。其原理为,垂直自动扩缩容插件周期性的查询应用容器内存的使用量,并产生推荐值。当推荐值超过应用设定的扩容阈值,则更新应用Pod的内存资源配置为推荐值,执行扩容操作;当推荐值低于应用设定的缩容阈值,则更新应用Pod的内存资源配置为推荐值,执行缩容操作。然而,Pod的水平自动扩缩容技术要求各应用容器具有完全相同的功能,或者对外可以同时提供同等的服务,但其无法处理主从/主备模式的应用,故不具备普适性。Pod的垂直自动扩缩容技术可以解决主从/主备模式的应用内存扩容的问题,但是需要重建容器,造成服务中断,这对于一些如数据库等重要应用是无法接受的。
技术实现思路
本专利技术实施例提供一种容器内存调整方法,用以解决容器内存自动扩缩容不具备普适性及重建容器导致的服务中断问题,该容器内存调整方法包括:监测容器内存数据;容器内存数据包括容器内存使用量及容器内存分配量;根据容器内存使用量与容器内存分配量的比值,预先配置的缩容阈值及扩容阈值,控制容器内存进行更新;在控制容器内存进行更新过程中,同时更新容器在进程资源控制机制的内存子系统中的内存配置与Pod在存储状态数据库中的内存配置,以使更新后的应用容器引擎中容器字段的哈希值与Pod在存储状态数据库中容器字段的哈希值一致。本专利技术实施例还提供一种容器内存调整装置,用以解决容器内存自动扩缩容不具备普适性及重建容器导致的服务中断问题,该容器内存调整装置包括:内存监测模块,用于监测容器内存数据;容器内存数据包括容器内存使用量及容器内存分配量;内存更新模块,用于根据容器内存使用量与容器内存分配量的比值,预先配置的缩容阈值及扩容阈值,控制容器内存进行更新;在控制容器内存进行更新过程中,同时更新容器在进程资源控制机制的内存子系统中的内存配置与Pod在存储状态数据库中的内存配置,以使更新后的应用容器引擎中容器字段的哈希值与Pod在存储状态数据库中容器字段的哈希值一致。本专利技术实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述容器内存调整方法。本专利技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述容器内存调整方法的计算机程序。本专利技术实施例中,监测容器内存数据;容器内存数据包括容器内存使用量及容器内存分配量;根据容器内存使用量与容器内存分配量的比值,预先配置的缩容阈值及扩容阈值,控制容器内存进行更新。本专利技术实施例通过监测容器内存数据,进而根据容器内存使用量与容器内存分配量的比值与预先配置的缩容阈值及扩容阈值的关系,控制容器内存进行更新。在控制容器内存进行更新过程中同时更新容器在进程资源控制机制的内存子系统中的内存配置与Pod在存储状态数据库中的内存配置,以保证更新后的应用容器引擎中容器字段的哈希值与Pod在存储状态数据库中容器字段的哈希值一致,能够在无需重建容器的情况下提供持续服务;另外本专利技术实施例提供的容器内存调整方法不受限于容器性质,无状态应用和有状态应用均适用,提高了容器内存调整的普适性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:图1为本专利技术实施例提供的容器内存调整方法的实现流程图;图2为本专利技术实施例提供的容器内存调整方法中步骤101的实现流程图;图3为本专利技术实施例提供的容器内存调整方法中步骤102的实现流程图;图4为本专利技术实施例提供的容器内存调整方法中步骤102的实现流程图;图5为本专利技术实施例提供的容器内存调整方法的另一实现流程图;图6为本专利技术实施例提供的容器内存调整装置的功能模块图;图7为本专利技术实施例提供的容器内存调整装置中内存监测模块601的结构框图;图8为本专利技术实施例提供的容器内存调整装置中内存更新模块602的结构框图;图9为本专利技术实施例提供的容器内存调整装置中内存更新模块602的结构框图;图10为本专利技术实施例提供的容器内存调整装置的另一功能模块图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本专利技术实施例做进一步详细说明。在此,本专利技术的示意性实施例及其说明用于解释本专利技术,但并不作为对本专利技术的限定。图1示出了本专利技术实施例提供的容器内存调整的实现流程,为便于描述,仅示出了与本专利技术实施例相关的部分,详述如下:如图1所示,容器内存调整方法,其包括:步骤101,监测容器内存数据;容器内存数据包括容器内存使用量及容器内存分配量;步骤102,根据容器内存使用量与容器内存分配量的比值,预先配置的缩容阈值及扩容阈值,控制容器内存进行更新;在控制容器内存进行更新过程中,同时更新容器在进程资源控制机制的内存子系统中的内存配置与Pod在存储状态数据库中的内存配置,以使更新后的应用容器引擎中容器字段的哈希值与Pod在存储状态数据库中容器字段的哈希值一致。在进行容器内存调整时监测容器内存数据。其中,监测的容器内存数据主要包括容器内存使用量及容器内存分配量。在监测获取容器内存数据后确定容器内存使用量与容器内存分配量的比值,以确定容器内存使用情况。进而将容器内存本文档来自技高网
...

【技术保护点】
1.一种容器内存调整方法,其特征在于,包括:/n监测容器内存数据;容器内存数据包括容器内存使用量及容器内存分配量;/n根据容器内存使用量与容器内存分配量的比值,预先配置的缩容阈值及扩容阈值,控制容器内存进行更新;在控制容器内存进行更新过程中,同时更新容器在进程资源控制机制的内存子系统中的内存配置与Pod在存储状态数据库中的内存配置,以使更新后的应用容器引擎中容器字段的哈希值与Pod在存储状态数据库中容器字段的哈希值一致。/n

【技术特征摘要】
1.一种容器内存调整方法,其特征在于,包括:
监测容器内存数据;容器内存数据包括容器内存使用量及容器内存分配量;
根据容器内存使用量与容器内存分配量的比值,预先配置的缩容阈值及扩容阈值,控制容器内存进行更新;在控制容器内存进行更新过程中,同时更新容器在进程资源控制机制的内存子系统中的内存配置与Pod在存储状态数据库中的内存配置,以使更新后的应用容器引擎中容器字段的哈希值与Pod在存储状态数据库中容器字段的哈希值一致。


2.如权利要求1所述的容器内存调整方法,其特征在于,监测容器内存数据包括:
利用随kubelet部署于应用所在节点的cAdvisor监测容器内存数据。


3.如权利要求1所述的容器内存调整方法,其特征在于,根据容器内存使用量与容器内存分配量的比值,预先配置的缩容阈值及扩容阈值,控制容器内存进行更新,包括:
在容器内存使用量与容器内存分配量的比值不大于预先配置的缩容阈值时,根据监测到的容器内存数据控制容器内存进行缩容;
在容器内存使用量与容器内存分配量的比值不小于预先配置的扩容阈值时,根据监测到的容器内存数据控制容器内存进行扩容。


4.如权利要求3所述的容器内存调整方法,其特征在于,在容器内存使用量与容器内存分配量的比值不大于预先配置的缩容阈值时,根据监测到的容器内存数据控制容器内存进行缩容,包括:
在容器内存使用量与容器内存分配量的比值不大于预先配置的缩容阈值,且满足内存更新条件时,根据监测到的容器内存数据控制容器内存进行缩容;
在容器内存使用量与容器内存分配量的比值不小于预先配置的扩容阈值时,根据监测到的容器内存数据控制容器内存进行扩容,包括:
在容器内存使用量与容器内存分配量的比值不小于预先配置的扩容阈值,且满足内存更新条件时,根据监测到的容器内存数据控制容器内存进行扩容。


5.如权利要求4所述的容器内存调整方法,其特征在于,满足内存更新条件包括:
Pod状态正常,内存更新所依赖的组...

【专利技术属性】
技术研发人员:陈锦涛孙政清蔡中原白佳乐
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:北京;11

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

1