一种多集群应用灰度升级方法、系统及装置与流程
- 国知局
- 2024-08-05 11:42:01
本发明涉及多集群应用灰度升级,尤其涉及一种多集群应用灰度升级方法、系统及装置。
背景技术:
1、k8s(kubernetes)是当前广泛使用的容器编排系统,用于自动部署、扩缩容和管理容器化应用程序等。k8s提供了多种标准化工作负载资源,如deployment很适合用来部署管理k8s集群上的无状态应用。同时为减少应用响应用户请求时间,一般会依据不同地域划分,部署多套k8s集群,并借助cdn内容加速等相关技术,提升请求服务质量。
2、k8s标准工作负载及其控制器,通过滚动更新模式,对单k8s集群内应用灰度提供了有限支持。但是该模式在升级过程中,需要运维人员使用kubectl命令进行较多的主观操作,这会导致如下问题:
3、1)、极度依赖于运维人员的相关经验,在生产环境,任何误操作都可能引发比较严重的线上事故;
4、2)、运维人员手工操作的灰度模式,会导致灰度升级过程不平滑,应用pod更新速度慢等问题。
5、3)、k8s集群数量较多时,每个集群都需要手工操作,容易导致灰度升级过程操作繁琐,效率低下等问题。
技术实现思路
1、本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
2、鉴于上述一种多集群应用灰度升级方法、系统及装置的问题,提出了本发明。
3、因此,本发明目的是提供一种多集群应用灰度升级方法、系统及装置,其用于解决上述背景技术中提出的技术问题。
4、为解决上述技术问题,本发明提供如下技术方案:一种多集群应用灰度升级方法,包括以下步骤:
5、s1:用户在容器管理平台创建并发起应用灰度升级请求;
6、s2:容器管理平台将应用灰度升级请求下发给灰度升级控制模块;
7、s3:灰度升级控制模块管控所有的灰度过程,按照集群内灰度、集群间灰度的顺序,依次将每批次应用升级信息下发到容器管理平台;
8、s4:容器管理平台根据(灰度升级控制模块下发过来的)应用升级信息,控制k8s底座集群内应用升级、更新;
9、s5:容器管理平台根据灰度升级进度,改写路由规则,按流量分发控制将流量按比例转发到新、旧版本服务。
10、作为本发明所述一种多集群应用灰度升级方法的一种优选方案,其中:在s1创建请求时,需指定所有集群灰度升级分为几个集群间批次,每个集群间批次应至少包含一个集群,还需指定每个应用所在集群的灰度批次。
11、作为本发明所述一种多集群应用灰度升级方法的一种优选方案,其中:在s1中的灰度升级请求还应包括的关键参数有:
12、1)、自动部署执行下一批次的间隔时间,监控模块会采集分析该时间间隔内应用负载的各项指标;
13、2)、服务质量监控阈值,包括cpu、内存使用率波动,响应耗时波动,异常响应率。
14、作为本发明所述一种多集群应用灰度升级方法的一种优选方案,其中:在s1中的容器管理平台为caas平台,caas容器管理平台被用来同时管理多个分布在不同区域的容器底座集群。
15、作为本发明所述一种多集群应用灰度升级方法的一种优选方案,其中:在s2和s3中灰度升级控制模块,被用来分析控制不同升级批次容器底座集群内、不同容器底座集群间应用升级过程中的pod升级数量、升级顺序。
16、作为本发明所述一种多集群应用灰度升级方法的一种优选方案,其中:在s3中每个集群内灰度升级时,控制更新的pod数量为:副本总数/集群内批次总数*批次序号。
17、作为本发明所述一种多集群应用灰度升级方法的一种优选方案,其中:在s4中容器底座集群为k8s集群,在s5中流量分发控制,被用来控制升级过程中,通过流量百分比、用户信息、地域等特征将流量转发到新版本、旧版本服务。
18、作为本发明所述一种多集群应用灰度升级方法的一种优选方案,其中:在s4中的灰度升级过程,容器管理平台生成新的应用负载版本信息,并根据升级进度,动态更新应用负载不同版本在不同集群的部署分布情况。
19、此外,本来提供了一种多集群应用灰度升级系统,包括容器管理平台、容器底座集群、用户侧、监控系统,流量分发控制,灰度升级控制平台;
20、容器管理平台既面向用户侧,用于创建应用灰度升级请求;
21、容器管理平台同时管控不同的集群底座集群,根据(灰度升级控制模块下发过来的)应用升级信息,控制k8s底座集群内应用升级、更新;
22、灰度升级控制模块,被用来分析控制不同升级批次容器底座集群内、不同容器底座集群间应用升级过程中的pod升级数量、升级顺序等。
23、容器管理平台同时可以控制升级过程中的流量转发分配,通过改写路由规则将部分百分比随机流量转发到新版本服务,亦可设定根据用户信息、地域特征将特定流量转发到新版本服务。
24、监控系统实时监控灰度升级过程中关键指标,若有明显异常,则自动停止整个升级过程并回滚。
25、另外,本来提供了还提供了一种多集群应用灰度升级装置,包括:
26、存储器、处理器和存储在所述存储器上的计算机程序,上述处理器执行所述计算机程序时实现权利要求中任一项所述的多集群应用灰度升级方法的步骤。
27、本发明的有益效果:
28、1)、支持k8s底座集群内应用灰度发布,控制pod灰度升级比例,能很方便的做小流量实验验证。
29、2)、灰度升级过程中,监控系统实时采集分析各种核心指标,如有异常自动拦截回滚,从而降低因应用升级导致的服务损失及影响。
30、3)、自动化程度较高,无需运维人员手动介入,从而避免运维人员可能手动误操作导致的问题。并且灰度升级自动化,能大幅度提高应用升级效率。
技术特征:1.一种多集群应用灰度升级方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种多集群应用灰度升级方法,其特征在于:在s1创建请求时,需指定所有集群灰度升级分为几个集群间批次,每个集群间批次应至少包含一个集群,还需指定每个应用所在集群的灰度批次。
3.根据权利要求1所述的一种多集群应用灰度升级方法,其特征在于:在s1中的灰度升级请求还应包括的关键参数有:
4.根据权利要求1所述的一种多集群应用灰度升级方法,其特征在于:在s1中的容器管理平台为caas平台,caas容器管理平台被用来同时管理多个分布在不同区域的容器底座集群。
5.根据权利要求1所述的一种多集群应用灰度升级方法,其特征在于:在s2和s3中灰度升级控制模块,被用来分析控制不同升级批次容器底座集群内、不同容器底座集群间应用升级过程中的pod升级数量、升级顺序。
6.根据权利要求1所述的一种多集群应用灰度升级方法,其特征在于:在s3中每个集群内灰度升级时,控制更新的pod数量为:副本总数/集群内批次总数*批次序号。
7.根据权利要求1所述的一种多集群应用灰度升级方法,其特征在于:在s4中容器底座集群为k8s集群,在s5中流量分发控制,被用来控制升级过程中,通过流量百分比、用户信息、地域等特征将流量转发到新版本、旧版本服务。
8.根据权利要求1所述的一种多集群应用灰度升级方法,其特征在于:在s4中的灰度升级过程,容器管理平台生成新的应用负载版本信息,并根据升级进度,动态更新应用负载不同版本在不同集群的部署分布情况。
9.一种多集群应用灰度升级系统,其特征在于,包括:
10.一种多集群应用灰度升级装置,其特征在于,包括:存储器、处理器和存储在所述存储器上的计算机程序,上述处理器执行所述计算机程序时实现权利要求中任一项所述的多集群应用灰度升级方法的步骤。
技术总结本发明公开了一种多集群应用灰度升级方法、系统及装置,S1:用户在容器管理平台创建并发起应用灰度升级请求;S2:容器管理平台将应用灰度升级请求下发给灰度升级控制模块;S3:灰度升级控制模块管控所有的灰度过程,按照集群内灰度、集群间灰度的顺序,依次将每批次应用升级信息下发到容器管理平台;S4:容器管理平台根据(灰度升级控制模块下发过来的)应用升级信息,控制K8s底座集群内应用升级、更新;S5:容器管理平台根据灰度升级进度,改写路由规则,按流量分发控制将流量按比例转发到新、旧版本服务。支持K8s底座集群内应用灰度发布,控制pod灰度升级比例,能很方便的做小流量实验验证。技术研发人员:陈世强,张其栋,汤俊凯,李永信,姜岢妤,李志辉受保护的技术使用者:天翼云科技有限公司技术研发日:技术公布日:2024/8/1本文地址:https://www.jishuxx.com/zhuanli/20240802/258891.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。