云原生架构中弹性伸缩的方法、装置及存储介质制造方法及图纸

技术编号:39062830 阅读:13 留言:0更新日期:2023-10-12 19:55
本发明专利技术公开了一种云原生架构中弹性伸缩的方法、装置及存储介质,该方法包括以下步骤:驱动所述Kubernetes集群中的弹性伸缩组查询备用节点池中的可用扩容节点状态,其中所述备用节点池用于容置开机状态节点和/或关机状态节点;基于所述可用扩容节点状态,对所述Kubernetes集群进行扩容。以及,确定所述Kubernetes集群中缩容节点,并清理所述缩容节点上数据;从所述Kubernetes集群中移除所述缩容节点,将所述缩容节点迁入备用节点池中,其中所述备用节点池用于容置开机状态节点和/或关机状态节点。该方法能够有效地实现云原生架构中集群的快速扩容和缩容节点的可重复利用。构中集群的快速扩容和缩容节点的可重复利用。构中集群的快速扩容和缩容节点的可重复利用。

【技术实现步骤摘要】
云原生架构中弹性伸缩的方法、装置及存储介质


[0001]本专利技术是关于云计算领域,特别是关于一种云原生架构中弹性伸缩的方法、装置及存储介质。

技术介绍

[0002]云原生架构指在云环境下运行的一种软件架构,弹性伸缩指根据业务需求和策略自动调整计算能力。在业务需求增长时,弹性伸缩自动增加指定类型的实例,以保障计算能力;在业务需求下降时,弹性伸缩自动减少指定类型的实例,以节约成本。
[0003]当Kubernetes集群中资源不足时,Cluster Autoscaler(CA,集群自动缩放器)将监测到因无法调度而挂起的Pod,其中资源不足是指集群的计算、网络、存储等资源无法满足Pod的请求量及亲和性规则。Cluster Autoscaler根据每个弹性伸缩组NodeGroup的节点模板进行调度判断,根据该节点模板要求创建新的节点,并驱使弹性伸缩组使用新的节点进行扩容。
[0004]当Cluster Autoscaler监测到利用率低于设定缩容阈值的节点,判断集群状态是否可以触发缩容。若集群可以触发缩容,判断节点是否满足缩容条件,满足条件则驱逐该节点上的Pod后进行关机释放。
[0005]对于现有自动扩容技术,一个问题在于扩容时准备新节点的耗时较长。当主机资源用尽,服务维度的扩容需要等待主机资源扩容完成后,才能继续扩容。一般来说,主机维度的弹性伸缩会预设一个策略,当资源使用量超过阈值时,进行主机层面的扩容。但是在发生意外的情况下,比如一次需要的资源量超过预留的主机资源,则依然需要等待主机扩容完毕,服务维度的扩容才能完成。此时,若服务维度扩容完成的时间过长,将影响应用的稳定性,若应用架构设计上存在缺陷,则会导致应用的崩溃停服。
[0006]对于现有自动缩容技术,进行缩容时释放的节点缺乏充分利用,造成浪费。一般情况下,热点应用呈现集中的趋势,伸缩节点的规格会集中在几个热门规格上。若缩容的节点直接进行删除释放,节点将失去再次利用的价值,如能够基于快照以回复节点状态。
[0007]公开于该
技术介绍
部分的信息仅仅旨在增加对本专利技术的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。

技术实现思路

[0008]本专利技术的目的在于提供一种云原生架构中弹性伸缩的方法、装置及存储介质,其能够加快云原生架构中节点扩容的速度。
[0009]为实现上述目的,本专利技术的实施例提供了一种云原生架构中弹性伸缩的方法。
[0010]在本专利技术的一个或多个实施方式中,所述方法包括:驱动Kubernetes集群中的弹性伸缩组查询备用节点池中的可用扩容节点状态,其中所述备用节点池用于容置开机状态节点和/或关机状态节点;基于所述可用扩容节点状态,对所述Kubernetes集群进行扩容。
[0011]在本专利技术的一个或多个实施方式中,驱动所述Kubernetes集群中的弹性伸缩组查
询备用节点池中的可用扩容节点状态,具体包括:驱动所述Kubernetes集群中的弹性伸缩组查询所述备用节点池中是否包括可用开机状态节点;若否,驱动所述Kubernetes集群中的弹性伸缩组查询所述备用节点池中是否包括可用关机状态节点。
[0012]在本专利技术的一个或多个实施方式中,对所述Kubernetes集群进行扩容,具体包括:若所述备用节点池中包括可用开机状态节点,驱动所述Kubernetes集群中的弹性伸缩组使用所述可用开机状态节点对所述Kubernetes集群进行扩容。
[0013]在本专利技术的一个或多个实施方式中,对所述Kubernetes集群进行扩容,具体包括:若所述备用节点池中包括可用关机状态节点,对所述可用关机状态节点进行开机;驱动所述Kubernetes集群中的弹性伸缩组重新查询所述备用节点池中是否包括可用开机状态节点。
[0014]在本专利技术的一个或多个实施方式中,所述方法还包括:驱动所述Kubernetes集群中的弹性伸缩组查询所述备用节点池中是否包括满足扩容对应Pod调度需求的节点;若是,判定所述节点为可用节点。
[0015]在本专利技术的一个或多个实施方式中,所述方法还包括:若所述备用节点池中不包括满足扩容对应Pod调度需求的节点,驱动所述Kubernetes集群中的弹性伸缩组向资源池集群申请创建新的节点,并将所述新的节点添加到所述Kubernetes集群中。
[0016]在本专利技术的一个或多个实施方式中,所述备用节点池包括用于容置开机状态节点的一级热备池和用于容置关机状态节点二级冷备池,所述方法还包括:驱动所述Kubernetes集群中的弹性伸缩组查询所述一级热备池中是否包括可用开机状态节点;若是,驱动所述Kubernetes集群中的弹性伸缩组使用所述一级热备池中的可用开机状态节点对所述Kubernetes集群进行扩容。
[0017]在本专利技术的一个或多个实施方式中,若查询到所述一级热备池中不包括可用开机状态节点,所述方法还包括:驱动所述Kubernetes集群中的弹性伸缩组查询所述二级冷备池中是否包括可用关机状态节点;若是,将所述二级冷备池中的可用关机状态节点迁入所述一级热备池并对所述可用关机状态节点进行开机;以及驱动所述Kubernetes集群中的弹性伸缩组重新查询所述一级热备池中是否包括可用开机状态节点。
[0018]在本专利技术的一个或多个实施方式中,若查询到所述二级冷备池中不包括可用关机状态节点,所述方法还包括:驱动所述Kubernetes集群中的弹性伸缩组向资源池集群申请创建新的节点,并将所述新的节点添加到所述Kubernetes集群中。
[0019]另外的,在本专利技术的一个或多个实施方式中,所述方法包括:确定所述Kubernetes集群中缩容节点,并清理所述缩容节点上数据;从所述Kubernetes集群中移除所述缩容节点,将所述缩容节点迁入备用节点池中,其中所述备用节点池用于容置开机状态节点和/或关机状态节点。
[0020]在本专利技术的一个或多个实施方式中,所述方法还包括:检查所述资源池集群的负载压力是否超过负载压力阈值;若是,选取所述备用节点池中开机状态节点更改为关机状态。
[0021]在本专利技术的一个或多个实施方式中,若所述资源池集群的负载压力未超过负载压力阈值,所述方法还包括:检查所述备用节点池中是否包括超过天数阈值未使用的节点;若是,删除所述超过天数阈值未使用的节点。
[0022]在本专利技术的一个或多个实施方式中,所述备用节点池包括用于容置开机状态节点的一级热备池,所述方法还包括:确定所述Kubernetes集群中缩容节点,并清理所述缩容节点上数据;从所述Kubernetes集群中移除所述缩容节点,将所述缩容节点迁入所述一级热备池中。
[0023]在本专利技术的一个或多个实施方式中,所述备用节点池还包括用于容置关机状态节点二级冷备池,所述方法还包括:检查所述资源池集群的负载压力是否超过负载压力阈值;若是,逐个更改所述一级热备池中节点为关机状态,并将更改后的节点迁移到所述二级冷备池本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种云原生架构中弹性伸缩的方法,应用于Kubernetes集群,其特征在于,所述方法包括:驱动所述Kubernetes集群中的弹性伸缩组查询备用节点池中的可用扩容节点状态,其中所述备用节点池用于容置开机状态节点和/或关机状态节点;基于所述可用扩容节点状态,对所述Kubernetes集群进行扩容。2.如权利要求1所述的云原生架构中弹性伸缩的方法,其特征在于,驱动所述Kubernetes集群中的弹性伸缩组查询备用节点池中的可用扩容节点状态,具体包括:驱动所述Kubernetes集群中的弹性伸缩组查询所述备用节点池中是否包括可用开机状态节点;若否,驱动所述Kubernetes集群中的弹性伸缩组查询所述备用节点池中是否包括可用关机状态节点。3.如权利要求2所述的云原生架构中弹性伸缩的方法,其特征在于,对所述Kubernetes集群进行扩容,具体包括:若所述备用节点池中包括可用开机状态节点,驱动所述Kubernetes集群中的弹性伸缩组使用所述可用开机状态节点对所述Kubernetes集群进行扩容。4.如权利要求2所述的云原生架构中弹性伸缩的方法,其特征在于,对所述Kubernetes集群进行扩容,具体包括:若所述备用节点池中包括可用关机状态节点,对所述可用关机状态节点进行开机;驱动所述Kubernetes集群中的弹性伸缩组重新查询所述备用节点池中是否包括可用开机状态节点。5.如权利要求1所述的云原生架构中弹性伸缩的方法,其特征在于,所述方法还包括:驱动所述Kubernetes集群中的弹性伸缩组查询所述备用节点池中是否包括满足扩容对应Pod调度需求的节点;若是,判定所述节点为可用节点。6.如权利要求5所述的云原生架构中弹性伸缩的方法,其特征在于,所述方法还包括:若所述备用节点池中不包括满足扩容对应Pod调度需求的节点,驱动所述Kubernetes集群中的弹性伸缩组向资源池集群申请创建新的节点,并将所述新的节点添加到所述Kubernetes集群中。7.如权利要求1所述的云原生架构中弹性伸缩的方法,其特征在于,所述备用节点池包括用于容置开机状态节点的一级热备池和用于容置关机状态节点二级冷备池,所述方法还包括:驱动所述Kubernetes集群中的弹性伸缩组查询所述一级热备池中是否包括可用开机状态节点;若是,驱动所述Kubernetes集群中的弹性伸缩组使用所述一级热备池中的可用开机状态节点对所述Kubernetes集群进行扩容。8.如权利要求7所述的云原生架构中弹性伸缩的方法,其特征在于,若查询到所述一级热备池中不包括可用开机状态节点,所述方法还包括:驱动所述Kubernetes集群中的弹性伸缩组查询所述二级冷备池中是否包括可用关机状态节点;
若是,将所述二级冷备池中的可用关机状态节点迁入所述一级热备池并对所述可用关机状态节点进行开机;以及驱动所述Kubernetes集群中的弹性伸缩组重新查询所述一级热备池中是否包括可用开机状态节点。9.如权利要求8所述的云原生架构中弹性伸缩的方法,其特征在于,若查询到所述二级冷备池中不包括可用关机状态节点,所述方法还包括:驱动所述Kubernetes集群中的弹性伸缩组向资源池集群申请创建新的节点,并将所述新的节点添加到所述Kubernetes集群中。10.一种云原生架构中弹性伸缩的方法,应用于Kubernetes集群,其特征在于,所述方法包括:确定所述Kubernetes集群中缩容节点,并清理所述缩容节点上数据;从所述Kubernetes集群中移除所述缩容节点,将所述缩容节点迁入备用节点池中,其中所述备用节点池用于容置开机状态节点和/或关机状态节点。...

【专利技术属性】
技术研发人员:请求不公布姓名
申请(专利权)人:安超云软件有限公司
类型:发明
国别省市:

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

1