CN113778491A - 一种容器化应用灰度升级方法、***、存储介质及设备 - Google Patents

一种容器化应用灰度升级方法、***、存储介质及设备 Download PDF

Info

Publication number
CN113778491A
CN113778491A CN202111086255.0A CN202111086255A CN113778491A CN 113778491 A CN113778491 A CN 113778491A CN 202111086255 A CN202111086255 A CN 202111086255A CN 113778491 A CN113778491 A CN 113778491A
Authority
CN
China
Prior art keywords
service
gray
flow
gray level
production
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111086255.0A
Other languages
English (en)
Inventor
李扬
曹建
吴士伟
刘传浩
庞鹏飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Ecloud Information Technology Co ltd
Original Assignee
Shandong Ecloud Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Ecloud Information Technology Co ltd filed Critical Shandong Ecloud Information Technology Co ltd
Priority to CN202111086255.0A priority Critical patent/CN113778491A/zh
Publication of CN113778491A publication Critical patent/CN113778491A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种容器化应用灰度升级方法、***、存储介质及设备,使用镜像利用启动参数以灰度模式启动服务;对启动的灰度服务进行金丝雀验证,验证成功后,利用网关的流量配置将生产流量逐步引入灰度服务,进行流量加压验证,观察灰度服务是否有异常,如果异常关闭生产流量的流入,否则继续逐步增加生产流量引入量,直至灰度服务节点与现有生产节点均衡承压;根据灰度服务负载情况,增加灰度服务节点,当灰度服务节点可以正常承载流量后,修改网关的配置,将流量全部切入灰度服务,将剩余的生产节点全部进行滚动升级。本发明能够适用于微服务架构的业务***,在保证服务高可用的情况下,高效的进行服务节点的升级。

Description

一种容器化应用灰度升级方法、***、存储介质及设备
技术领域
本发明属于应用灰度升级技术领域,具体涉及一种容器化应用灰度升级方法、***、存储介质及设备。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
目前应用服务升级主要包括停机升级、蓝绿部署方式,但是它们都存在一定的缺点。
停机升级一般只能选择业务低峰期,进行停机升级。这种方式会造成服务在升级时不可用,无法适应互联网应用高可用的要求。停机升级时传统IT***进行***升级的方式,一般需要几个小时完成升级及对应测试。
蓝绿部署的执行过程中不停老版本,部署新版本然后进行测试,确认成功,将流量切到新版本,然后老版本同时也升级到新版本,无需停机,并且风险较小。但同时需要大理物理资源来部署新版本的***,在部署过程中,依赖负载均衡进行流量切换,对传统架构支撑较好,对于微服务架构,服务之前相互调用无法完全依靠负载均衡进行流量切换。
发明内容
本发明为了解决上述问题,提出了一种容器化应用灰度升级方法、***、存储介质及设备,本发明能够适用于微服务架构的业务***,在保证服务高可用的情况下,高效的进行服务节点的升级。
根据一些实施例,本发明采用如下技术方案:
一种容器化应用灰度升级方法,包括以下步骤:
使用镜像利用启动参数以灰度模式启动服务;
对启动的灰度服务进行金丝雀验证,如果验证失败停止灰度升级,否则进行下一步;
利用网关的流量配置将生产流量逐步引入灰度服务,进行流量加压验证,观察灰度服务是否有异常,如果异常关闭生产流量的流入,否则继续逐步增加生产流量引入量,直至灰度服务节点与现有生产节点均衡承压;
根据灰度服务负载情况,增加灰度服务节点,当灰度服务节点可以正常承载流量后,修改网关的配置,将流量全部切入灰度服务,将剩余的生产节点全部进行滚动升级。
作为可选择的实施方式,使用镜像利用启动参数以灰度模式启动服务的步骤中,使用同一通过测试的镜像利用启动参数启动灰度模式服务。
作为可选择的实施方式,进行金丝雀验证的过程中,当有新加入的灰度服务时,使用灰度测试账户,访问服务,进行金丝雀验证。
作为可选择的实施方式,如果验证失败停止灰度升级后,转为进行线下测试,如果线下测试通过后,再进行灰度发布。
作为可选择的实施方式,利用网关的流量配置将生产流量逐步引入灰度服务的过程中,从设定百分比开始引入,逐步增加引入灰度服务的流量百分比。
作为可选择的实施方式,观察灰度服务是否有异常具体包括观察灰度服务是否有异常日志或者资源占用是否异常。
作为可选择的实施方式,将剩余的生产节点全部进行滚动升级的具体过程包括:利用滚动升级功能,使用灰度的同一镜像采用生成模式,将剩余的生产节点全部进行滚动升级替换,滚动升级完成后,修改网关配置将所有流量切入生产节点,删除灰度服务节点释放物理资源。
一种容器化应用灰度升级***,包括:
发布灰度服务模块,被配置为使用镜像利用启动参数以灰度模式启动服务;
金丝雀测试模块,被配置为对启动的灰度服务进行金丝雀验证,如果验证失败停止灰度升级,否则进行下一步;
流量加压测试模块,被配置为利用网关的流量配置将生产流量逐步引入灰度服务,进行流量加压验证,观察灰度服务是否有异常,如果异常关闭生产流量的流入,否则继续逐步增加生产流量引入量,直至灰度服务节点与现有生产节点均衡承压;
滚动升级模块,被配置为根据灰度服务负载情况,增加灰度服务节点,当灰度服务节点可以正常承载流量后,修改网关的配置,将流量全部切入灰度服务,将剩余的生产节点全部进行滚动升级。
一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成上述方法中的步骤。
一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成上述方法中的步骤。
与现有技术相比,本发明的有益效果为:
本发明无需引入其他复杂的灰度升级组件,在不增加任何服务的情况下实现了灰度发布功能。
本发明相对于蓝绿部署,无需太多物理资源,同样保证了生成的不停机服务;
本发明的灰度服务和新版本的生成服务使用同一镜像避免,金丝雀验证后需要人工再修改代码等带来的问题;
本发明的升级过程充分考虑可能出现问题,提供了金丝雀测试和流量压力验证;通过金丝雀和流量控制将升级异常时的影响最小化;
本发明通过滚动升级替换,能够根据灰度服务负载情况,适当增加灰度服务节点,使用少量资源实现灰度服务发布,也避免人工升级带来的问题。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1是本发明至少一个实施例的流程示意图。
具体实施方式:
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
一种容器化应用灰度升级方法,在本实施例中,借助于Spr i ngC l oud的服务注册中心Eurake和网关zuu l,实现灰度发布。利用Eurake的元数据实现灰度服务的标记,利用网关zuu l的过滤器和内置r i bbon实现灰度用户和生产流量的访问调配。
本实施例中,还可以利用apo l l o实现动态,但不属于本发明的主要内容,在此在进行过多介绍。
如图1所示,本方法包括发布灰度服务、金丝雀测试、流量加压验证、滚动升级等步骤。
具体的,发布灰度服务时,使用线下测试通过的镜像文件,根据启动参数以灰度模式启动服务。
在本实施例中,使用同一镜像文件利用启动参数启动灰度的模式,可以避免测试通过后,还需人工调整代码,引入新的问题导致生产服务出现故障的缺陷。
在注册中心看到新加入的灰度服务后,使用灰度测试账户,访问服务,进行金丝雀验证。金丝雀验证的过程可以使用现有技术,在此不进行过多介绍。
本实施例中,进行金丝雀验证避免镜像导致正常流量引入出现异常的问题。如果金丝雀验证时发现问题,则停止灰度升级,进行线下测试后再进行灰度发布。如果金丝雀验证通过,则进入流量加压验证步骤。
当灰度服务通过金丝雀验证后,利用配置中心中网关zuu l的流量配置逐步将生产流量引入灰度服务。
在本实施例中,可以一开始1%引入,密切观察灰度服务是否有异常日志或者资源占用是否异常,一旦发现异常则关闭生产流量的流入。如果没有问题逐步增加流量比例,直至与现有生产节点均衡承压。然后静止观测几个小时后再进行滚动升级。
利用流量加压,可以验证真实流量和长时间运行情况下,服务是否出现异常,同时因为一开始流量引入较少,一旦出现异常马上流量切回生产节点,影响范围很小。利用这种方式既保证了充分验证灰度服务的可靠性,同时也提高了***的可用性。
然后进入滚动升级步骤:
根据灰度服务负载情况,适当增加灰度服务节点,使用少量资源实现灰度服务发布。灰度节点可以正常承载流量后,修改网关zuu l配置将流量全部切入灰度服务,本实施例中,然后利用K8s的滚动升级功能,使用灰度的同一镜像文件,采用生成模式,将剩余的生产节点全部进行滚动升级替换。滚动升级完成后,修改zuu l配置将所有流量切入生产节点。然后删除灰度服务节点释放物理资源。
通过以上几个阶段,就完成一个生产服务的升级。整个过程安全可控,既保证了服务在升级过程中的可用性,同时又充分考虑了升级过程中可能遇到的问题,通过有效的手段将影响范围缩至最小。该方案在生产环境下经过验证安全可靠。
本发明还提供以下产品实施例:
一种容器化应用灰度升级***,包括:
发布灰度服务模块,被配置为使用镜像利用启动参数以灰度模式启动服务;
金丝雀测试模块,被配置为对启动的灰度服务进行金丝雀验证,如果验证失败停止灰度升级,否则进行下一步;
流量加压测试模块,被配置为利用网关的流量配置将生产流量逐步引入灰度服务,进行流量加压验证,观察灰度服务是否有异常,如果异常关闭生产流量的流入,否则继续逐步增加生产流量引入量,直至灰度服务节点与现有生产节点均衡承压;
滚动升级模块,被配置为根据灰度服务负载情况,增加灰度服务节点,当灰度服务节点可以正常承载流量后,修改网关的配置,将流量全部切入灰度服务,将剩余的生产节点全部进行滚动升级。
一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成上述方法中的步骤。
一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成上述方法中的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,本领域技术人员不需要付出创造性劳动所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种容器化应用灰度升级方法,其特征是:包括以下步骤:
使用镜像利用启动参数以灰度模式启动服务;
对启动的灰度服务进行金丝雀验证,如果验证失败停止灰度升级,否则进行下一步;
利用网关的流量配置将生产流量逐步引入灰度服务,进行流量加压验证,观察灰度服务是否有异常,如果异常关闭生产流量的流入,否则继续逐步增加生产流量引入量,直至灰度服务节点与现有生产节点均衡承压;
根据灰度服务负载情况,增加灰度服务节点,当灰度服务节点可以正常承载流量后,修改网关的配置,将流量全部切入灰度服务,将剩余的生产节点全部进行滚动升级。
2.如权利要求1所述的一种容器化应用灰度升级方法,其特征是:使用镜像利用启动参数以灰度模式启动服务的步骤中,使用同一通过测试的镜像利用启动参数启动灰度模式服务。
3.如权利要求1所述的一种容器化应用灰度升级方法,其特征是:进行金丝雀验证的过程中,当有新加入的灰度服务时,使用灰度测试账户,访问服务,进行金丝雀验证。
4.如权利要求3所述的一种容器化应用灰度升级方法,其特征是:如果验证失败停止灰度升级后,转为进行线下测试,如果线下测试通过后,再进行灰度发布。
5.如权利要求1所述的一种容器化应用灰度升级方法,其特征是:利用网关的流量配置将生产流量逐步引入灰度服务的过程中,从设定百分比开始引入,逐步增加引入灰度服务的流量百分比。
6.如权利要求1所述的一种容器化应用灰度升级方法,其特征是:观察灰度服务是否有异常具体包括观察灰度服务是否有异常日志或者资源占用是否异常。
7.如权利要求1所述的一种容器化应用灰度升级方法,其特征是:将剩余的生产节点全部进行滚动升级的具体过程包括:利用滚动升级功能,使用灰度的同一镜像采用生成模式,将剩余的生产节点全部进行滚动升级替换,滚动升级完成后,修改网关配置将所有流量切入生产节点,删除灰度服务节点释放物理资源。
8.一种容器化应用灰度升级***,其特征是:包括:
发布灰度服务模块,被配置为使用镜像利用启动参数以灰度模式启动服务;
金丝雀测试模块,被配置为对启动的灰度服务进行金丝雀验证,如果验证失败停止灰度升级,否则进行下一步;
流量加压测试模块,被配置为利用网关的流量配置将生产流量逐步引入灰度服务,进行流量加压验证,观察灰度服务是否有异常,如果异常关闭生产流量的流入,否则继续逐步增加生产流量引入量,直至灰度服务节点与现有生产节点均衡承压;
滚动升级模块,被配置为根据灰度服务负载情况,增加灰度服务节点,当灰度服务节点可以正常承载流量后,修改网关的配置,将流量全部切入灰度服务,将剩余的生产节点全部进行滚动升级。
9.一种计算机可读存储介质,其特征是:用于存储计算机指令,所述计算机指令被处理器执行时,完成权利要求1-7中任一项所述的方法中的步骤。
10.一种电子设备,其特征是:包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成权利要求1-7中任一项所述的方法中的步骤。
CN202111086255.0A 2021-09-16 2021-09-16 一种容器化应用灰度升级方法、***、存储介质及设备 Pending CN113778491A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111086255.0A CN113778491A (zh) 2021-09-16 2021-09-16 一种容器化应用灰度升级方法、***、存储介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111086255.0A CN113778491A (zh) 2021-09-16 2021-09-16 一种容器化应用灰度升级方法、***、存储介质及设备

Publications (1)

Publication Number Publication Date
CN113778491A true CN113778491A (zh) 2021-12-10

Family

ID=78851491

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111086255.0A Pending CN113778491A (zh) 2021-09-16 2021-09-16 一种容器化应用灰度升级方法、***、存储介质及设备

Country Status (1)

Country Link
CN (1) CN113778491A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115022317A (zh) * 2022-05-27 2022-09-06 亚信科技(中国)有限公司 基于云平台的应用管理方法、装置、电子设备及存储介质
CN118054974A (zh) * 2024-04-15 2024-05-17 浙江保融科技股份有限公司 一种私有部署场景下的流量控制方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115022317A (zh) * 2022-05-27 2022-09-06 亚信科技(中国)有限公司 基于云平台的应用管理方法、装置、电子设备及存储介质
CN115022317B (zh) * 2022-05-27 2024-03-08 亚信科技(中国)有限公司 基于云平台的应用管理方法、装置、电子设备及存储介质
CN118054974A (zh) * 2024-04-15 2024-05-17 浙江保融科技股份有限公司 一种私有部署场景下的流量控制方法
CN118054974B (zh) * 2024-04-15 2024-07-12 浙江保融科技股份有限公司 一种私有部署场景下的流量控制方法

Similar Documents

Publication Publication Date Title
CN113330723B (zh) 混合计算环境中的补丁管理
CN113778491A (zh) 一种容器化应用灰度升级方法、***、存储介质及设备
CN104866307B (zh) 一种应用程序的修复方法和装置
US20030051235A1 (en) Method and apparatus for verifying and analyzing computer software installation
CN107748668A (zh) 一种应用程序升级的方法及装置
CN104360892B (zh) 创建虚拟机的***及方法
JP5168112B2 (ja) パッチ適用装置、パッチ適用方法およびパッチ適用プログラム
CN109840105A (zh) 一种不停服的热更新方法
CN110780904A (zh) 一种应用更新方法及装置
CN106512397A (zh) 游戏服务器的数据加载方法和游戏服务器
CN114840248A (zh) 一种基于企业级分布式应用服务的***灰度发布方法
CN113672273B (zh) 数据处理方法、***及设备
CN111142922B (zh) 应用程序更新方法、装置、终端及服务器
CN113076248B (zh) 一种应用处理方法、装置、设备及可读存储介质
US8037357B2 (en) System and method for generating test job control language files
CN110764785B (zh) 基于开源组件的电力行业云平台工具链及云平台运维方法
CN111324481A (zh) 一种Linux平台的修复方法及装置
CN114422457A (zh) 基于消息队列实现的灰度发布方法、***、设备及介质
CN112559012B (zh) ***升级及测试方法、装置、计算机设备及可读存储介质
CN114443102A (zh) 交易升级的灰度切换方法及装置
CN107766072A (zh) 一种Linux***下显卡刷新BIOS的方法
EP4193225A1 (en) Method and system for providing engineering of an industrial device in a cloud computing environment
CN105740701A (zh) 一种Android平台应用执行环境重构方法及装置
CN114860611B (zh) 一种bios升级测试方法、装置以及介质
CN113052687B (zh) 一种交易路由分发方法和相关装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Country or region after: China

Address after: Floor 12, Building 3, Shuntai Plaza, No. 2000 Shunhua Road, High tech Industrial Development Zone, Jinan City, Shandong Province, 250101

Applicant after: SHANDONG ECLOUD INFORMATION TECHNOLOGY CO.,LTD.

Address before: 250014 3rd floor, block B, Yinhe building, 2008 Xinluo street, high tech Zone, Jinan City, Shandong Province

Applicant before: SHANDONG ECLOUD INFORMATION TECHNOLOGY CO.,LTD.

Country or region before: China