滚动升级控制方法、装置、设备及存储介质制造方法及图纸

技术编号:25947284 阅读:26 留言:0更新日期:2020-10-17 03:39
本说明书实施例提供了一种滚动升级控制方法、装置、设备及存储介质,该方法包括:根据设定规则调整滚动升级步长,以保证首轮滚动升级仅升级单个副本;以及在滚动升级进程完成首轮滚动步长的升级后,将滚动升级的步长调整为预设定义值,以使非首轮滚动升级可升级多个副本,本发明专利技术首轮升级验证通过,确认升级版本正常后,后续扩大升级步长,从而缩短升级时长,快速完成版本升级动作,减少投产期间对系统可用性和业务运行的影响,提升版本更新效率。

【技术实现步骤摘要】
滚动升级控制方法、装置、设备及存储介质
本说明书涉及滚动升级(RollingUpdate)
,尤其是涉及一种滚动升级控制方法、装置、设备及存储介质。
技术介绍
滚动升级一般是指从集群中取出一个或者多个服务器节点停止服务,并执行更新,更新成功后重新将其投入使用。周而复始,直到集群中所有服务器节点都更新成新版本。滚动更新的最大的好处是零停机,整个更新过程始终有副本在运行,从而保证了业务的连续性。因此,是一种自动化程度较高的升级方式,用户体验比较平滑,是目前成熟型技术组织所采用的主流升级方式。
技术实现思路
本说明书实施例的目的在于提供一种滚动升级控制方法、装置、设备及存储介质,以提高滚动升级的平滑性,降低升级成本。为达到上述目的,一方面,本说明书实施例提供了一种滚动升级控制方法,包括:根据设定规则调整滚动升级步长,以保证首轮滚动升级仅升级单个副本;在滚动升级进程完成首轮滚动步长的升级后,将滚动升级的步长调整为预设定义值,以使非首轮滚动升级可升级多个副本。在优选的实施例中,在将滚动升级的步长调整为预设定义值之前,包括:在滚动升级进程完成首轮滚动步长的升级,且本轮升级形成的新版本副本处于状态可用时,暂停所述滚动升级进程;调用验证进程对所述新版本副本进行健康验证;在健康验证成功时,恢复所述滚动升级进程。在优选的实施例中,所述恢复所述滚动升级进程,包括:在未配置暂停时长的情况下,当健康验证成功时,直接恢复所述滚动升级进程;在配置有暂停时长的情况下,当健康验证成功时,等待暂停时长达到时恢复所述滚动升级进程。在优选的实施例中,所述健康验证的验证内容包括以下中的一种或多种:新版本副本对应的接口;新版本副本对应的服务;新版本副本对应的容器日志;新版本副本对应的容器文件;新版本副本对应的数据库。在优选的实施例中,还包括:在健康验证失败时,判断所述新版本副本是否被指定为强制升级;如果所述新版本副本未被指定为强制升级,则在间隔设定时间后,继续对所述新版本副本进行健康验证。在优选的实施例中,还包括:如果所述新版本副本被指定为强制升级,则将所述新版本副本视为通过健康验证。在优选的实施例中,还包括:在所述验证进程连续预设次验证的验证结果均为验证失败时,输出通知信息。另一方面,一种滚动升级控制装置,包括:首轮升级模块,根据设定规则调整滚动升级步长,以保证首轮滚动升级仅升级单个副本;非首轮升级模块,在滚动升级进程完成首轮滚动步长的升级后,将滚动升级的步长调整为预设定义值,以使非首轮滚动升级可升级多个副本。另一方面,本说明书实施例还提供了一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时执行如下步骤:根据设定规则调整滚动升级步长,以保证首轮滚动升级仅升级单个副本;在滚动升级进程完成首轮滚动步长的升级后,将滚动升级的步长调整为预设定义值,以使非首轮滚动升级可升级多个副本。另一方面,本说明书实施例还提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:根据设定规则调整滚动升级步长,以保证首轮滚动升级仅升级单个副本;在滚动升级进程完成首轮滚动步长的升级后,将滚动升级的步长调整为预设定义值,以使非首轮滚动升级可升级多个副本。由以上本说明书实施例提供的技术方案可见,本说明书实施例中,在滚动升级进程完成第一轮单轮滚动升级后,调节一固定的滚动步长,进而在后续的单个滚动升级时同时升级多个副本。如此,对kubernetes原生的滚动升级能力进行二次开发,实现根据一定计算规则设置滚动升级超容比例和缩容比例,进而控制滚动升级期间单轮升级的副本数量。将首轮升级的副本数设为最小值1,并在首轮升级完成后暂停进行验证,充分降低版本升级可能带来的风险,即版本升级最坏的情况下,功能完全不可用时只影响多个副本中的1个,系统仍然可以在很大程度上正常对外提供服务。在首轮升级验证通过,确认升级版本正常后,后续扩大升级步长,从而缩短升级时长,快速完成版本升级动作,减少投产期间对系统可用性和业务运行的影响,提升版本更新效率。附图说明为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:图1为本说明书一些实施例的滚动升级控制方法的流程图;图2为本说明书一实施例中的健康验证示意图;图3为本说明书一实施例中的滚动步长调整示意图;图4为本说明书一些实施例的滚动升级控制装置的结构框图;图5为本说明书一些实施例的计算机设备的结构框图。具体实施方式为了使本
的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。随着容器化技术发展,基于kubernetes提供的滚动升级能力由于具备零停机、用户零感知等优点,逐步成为云上一种主流的版本升级方式。本专利技术的专利技术人发现,滚动升级前用户需要预先设置超容比例maxSurge和缩容比例maxUnavailable,由两者共同决定滚动升级时每一轮更新副本数(即滚动升级步长)。触发滚动升级后,会按照固定的滚动升级步长进行升级,如总副本数10个、超容比例10%、缩容比例10%,则每一轮升级始终保持2个副本在升级状态,周而复始,直至全部副本完成升级。因此本专利技术的专利技术人对于滚动升级,如何做到灰度发布既减少单轮升级的副本数,降低版本升级风险,同时又降低投产时间,减少投产对应用可用性的影响的方面进行了相关改进。本专利技术的核心构思在于:通过一种手段,实现在滚动升级灰度期间动态调整单轮升级副本数,将其调整为最低值,并通过滚动升级暂停和服务可用性探测验证新版本节点健康状态,验证通过后自动扩大单轮升级副本数并恢复滚动升级。从而将灰度粒度降到最低,减少版本升级风险,灰度结束后升级速度变快,投产时长缩短,降低了投产期间对系统可用性的影响,下面对本专利技术进行详细说明。参考图1所示,本说明书一些实施例的滚动升级控制方法可以包括以下步骤:S1:根据设定规则调整滚动升级步长,以保证首轮滚动升级仅升级单个副本;S2:在滚动升级进程完成首轮滚动步长的升级后,将滚动升级的步长调整为预设定义值,以使非首轮滚动升级可升级多个副本。如图3所示,根据一定计算规则自动算出本文档来自技高网
...

【技术保护点】
1.一种滚动升级控制方法,其特征在于,包括:/n根据设定规则调整滚动升级步长,以保证首轮滚动升级仅升级单个副本;/n在滚动升级进程完成首轮滚动步长的升级后,将滚动升级的步长调整为预设定义值,以使非首轮滚动升级可升级多个副本。/n

【技术特征摘要】
1.一种滚动升级控制方法,其特征在于,包括:
根据设定规则调整滚动升级步长,以保证首轮滚动升级仅升级单个副本;
在滚动升级进程完成首轮滚动步长的升级后,将滚动升级的步长调整为预设定义值,以使非首轮滚动升级可升级多个副本。


2.如权利要求1所述的滚动升级控制方法,其特征在于,在将滚动升级的步长调整为预设定义值之前,还包括:
在滚动升级进程完成首轮滚动步长的升级,且本轮升级形成的新版本副本处于状态可用时,暂停所述滚动升级进程;
调用验证进程对所述新版本副本进行健康验证;
在健康验证成功时,恢复所述滚动升级进程。


3.如权利要求2所述的滚动升级控制方法,其特征在于,所述恢复所述滚动升级进程,包括:
在未配置暂停时长的情况下,当健康验证成功时,直接恢复所述滚动升级进程;
在配置有暂停时长的情况下,当健康验证成功时,等待暂停时长达到时恢复所述滚动升级进程。


4.如权利要求2所述的滚动升级控制方法,其特征在于,所健康验证的验证内容包括以下中的一种或多种:
新版本副本对应的接口;
新版本副本对应的服务;
新版本副本对应的容器日志;
新版本副本对应的容器文件;
新版本副本对应的数据库。


5.如权利要求2所述的滚动升级控制方法,其特征在于,还包括:
在健康验证失败时,判断所述新版本副本是否被指定为强制升级;
如果所述新版本副本未被指定为强制升级,则...

【专利技术属性】
技术研发人员:鲁满李彤许振峰郑杰
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:北京;11

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

1