一种基于容器技术的自动化蓝绿发布方法技术

技术编号:24120235 阅读:55 留言:0更新日期:2020-05-13 02:52
本发明专利技术公开了一种基于容器技术的自动化蓝绿发布方法,本发明专利技术包括如下步骤:S1、搭建发布系统,选择“蓝绿发布”策略,默认创建蓝版本部署和绿版本部署,将蓝版本部署的副本数设置为0,并将流量全部导入到绿版本部署中;S2、当存在镜像更新时,通过镜像更新事件触发自动化蓝绿发布,将新版本的镜像更新蓝版本部署中,并将蓝版本部署的副本数伸缩为1;S3、蓝版本部署测试稳定后,发布蓝版本部署,并将蓝版本部署与绿版本部署进行交换,将变更后的蓝版本部署的副本数伸缩为0,并将全部流量导入至变更后的绿版本部署中,S4、当存在新的镜像更新时,重复执行步骤S2‑S3。

【技术实现步骤摘要】
一种基于容器技术的自动化蓝绿发布方法
本专利技术涉及云计算
,具体地说是一种基于容器技术的自动化蓝绿发布方法。
技术介绍
目前,随着云计算技术趋于成熟,特别是Docker容器技术在各个行业中被广泛应用,在诸多云计算厂商和社区的推动下,各个行业内的业务系统已经逐渐迁入到云平台中部署、运行。在业务上云之后,为了保证在版本发布过程中能够平滑过渡,一般会采用蓝绿发布的策略。蓝绿发布是最常见的一种零宕机的部署方式,不停老版本,部署新版本进行测试,确认OK,将流量切到新版本。始终有两个版本同时在线,有问题可以快速切换,是一种以可预测的方式发布应用的技术,目的是通过冗余来减少发布过程中服务停止的时间。目前,行业内蓝绿发布方式基本上都是由运维工程师团队通过人工手动来操作完成,但是人工手动操作过程中容易出现差错,极有可能会出现参数配置错误,从而导致生产故障。因此,就需要一种自动化的蓝绿发布方式,来降低人工操作的风险,保障升级过程中业务平滑过渡。
技术实现思路
本专利技术的目的是针对以上不足,提供一种降低运行风险的基于容器技术的自动化蓝绿发布方法。本专利技术所采用技术方案是:一种基于容器技术的自动化蓝绿发布方法,包括如下步骤:S1、搭建发布系统,选择“蓝绿发布”策略,默认创建蓝版本部署和绿版本部署,将蓝版本部署的副本数设置为0,并将流量全部导入到绿版本部署中;S2、当存在镜像更新时,通过镜像更新事件触发自动化蓝绿发布,将新版本的镜像更新蓝版本部署中,并将蓝版本部署的副本数伸缩为1;S3、蓝版本部署测试稳定后,发布蓝版本部署,并将蓝版本部署与绿版本部署进行交换,将变更后的蓝版本部署的副本数伸缩为0,并将全部流量导入至变更后的绿版本部署中;S4、当存在新的镜像更新时,重复执行步骤S2-S3。作为进一步的优化,本专利技术在步骤S1中,默认创建蓝版本部署和绿版本工作负载,并在每个工作负载上打上相应注解,用以标识蓝版本部署和绿版本部署,并创建相应的VirtualService和DestinationRule资源。作为进一步的优化,本专利技术在步骤S1中,将蓝版本部署的副本数为0,绿版本部署的副本数为由用户预先设置的等于或者大于1的副本数,且在步骤S3中,蓝版本部署与绿版本部署交换后,变更后的绿版本部署的副本数伸缩至用户预先设置的原绿版本部署的副本数。作为进一步的优化,本专利技术在步骤S1中,在创建蓝版本部署与绿版本部署相应的DestinationRule资源时,DestinationRule的subset依据蓝版本部署和绿版本部署注解建立路由规则,在步骤S3中,蓝版本部署与绿版本部署交换后,自动修改DestinationRule的subset。作为进一步的优化,本专利技术在步骤S3中,在蓝版本部署测试稳定后,进行蓝版本部署发布,将蓝版本部署和绿版本部署进行交换,自动修改蓝版本部署和绿版本部署的注解,原蓝版本部署变更为新绿版本部署,原绿版本部署变更为新蓝版本部署,将变更后的蓝版本的副本数伸缩为0并进行下线,自动更新VirtualService的流量规则,将流量全部导入到变更后的绿版本部署中。作为进一步的优化,本专利技术在步骤S3中,在设定时间段内,当变更后的绿版本部署服务出现故障时,通过回退机制蓝版本部署与绿版本部署回退至交换之前的状态。作为进一步的优化,本专利技术在步骤S3中,蓝版本部署与绿版本部署交换后,在设定时间段内,保留变更后的蓝版本部署,当变更后的绿版本部署出现故障时,人工将全部流量导入至变更后的蓝版本部署中。本专利技术还提供一种基于容器技术的自动化蓝绿发布系统,包括部署网络、流量导入网络和自动触发网络,其中:部署网络在搭建部分系统时,选择“蓝绿发布”策略,创建蓝版本部署和绿版本部署,并对蓝版本部署和绿版本部署打上注解,VirtualService和DestinationRule资源,且DestinationRule的subset依据蓝版本部署和绿版本部署注解建立路由规则,将蓝版本部署的副本数设置为0,绿版本部署的副本数为预先设置的等于或大于1的副本数,流量导入网络将流量全部导入到绿版本部署中;当存在镜像更新时,自动触发网络通过镜像更新时间触发自动化蓝绿发布,将新版的镜像更新至蓝版本部署中,并将蓝版本部署的副本数伸缩为1;当蓝版本部署测试稳定后,部署网络发布蓝版本部署,并将蓝本版部署与绿版本部署进行交换,自动修改蓝版本部署和绿版本部署的注解,将变更后的蓝版本部署的副本数伸缩为0,流量导入网络将流量全部导入到更新后的绿版本部署中。本专利技术具有以下优点:1、本专利技术的蓝绿发布过程中不需要人工手动修改相关蓝绿策略配置,防止运维人员手动操作过程中出现错误,降低运维人员手动操作的风险;2、本专利技术当存在新版本的镜像更新时,能够自动触发镜像更新事件,会自动将新版本的镜像更新至流量为0的蓝版本部署中,降低人工操作的风险;3、本专利技术在蓝绿版本切换过程中,用户无感知,保障升级过程中业务平滑过渡。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例中描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。下面结合附图对本专利技术进一步说明:图1为本专利技术的流程示意图。具体实施方式下面结合附图和具体实施例对本专利技术作进一步说明,以使本领域的技术人员可以更好地理解本专利技术并能予以实施,但所举实施例不作为对本专利技术的限定,在不冲突的情况下,本专利技术实施例以及实施例中的技术特征可以相互结合。需要理解的是,在本专利技术实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。在本专利技术实施例中的“多个”,是指两个或两个以上。本专利技术实施例中的属于“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B这三种情况。另外,本文中字符“/”一般表示前后关联对象是一种“或”关系。实施例一本实施例提供一种基于容器技术的自动化蓝绿发布系统,包括部署网络、流量导入网络和自动触发网络,其中:部署网络在搭建发布系统时,选择“蓝绿发布”策略,创建蓝版本部署和绿版本部署,并对蓝版本部署和绿版本部署打上注解,VirtualService和DestinationRule资源,且DestinationRule的subset依据蓝版本部署和绿版本部署注解建立路由规则,创建对应的并将蓝版本部署的副本数设置为0,绿版本部署的副本数为预先设置的等于或大于1的副本数,流量导入网络将流量全部导入到绿版本部署中;当存在镜像更新时,自动触发网络通过镜像更新时间触发自动化蓝绿发布,将新版的镜像更新至蓝版本部署中,并将蓝版本部署的副本数本文档来自技高网...

【技术保护点】
1.一种基于容器技术的自动化蓝绿发布方法,其特征在于:包括如下步骤:/nS1、搭建发布系统,选择“蓝绿发布”策略,默认创建蓝版本部署和绿版本部署,将蓝版本部署的副本数设置为0,并将流量全部导入到绿版本部署中;/nS2、当存在镜像更新时,通过镜像更新事件触发自动化蓝绿发布,将新版本的镜像更新蓝版本部署中,并将蓝版本部署的副本数伸缩为1;/nS3、蓝版本部署测试稳定后,发布蓝版本部署,并将蓝版本部署与绿版本部署进行交换,将变更后的蓝版本部署的副本数伸缩为0,并将全部流量导入至变更后的绿版本部署中;/nS4、当存在新的镜像更新时,重复执行步骤S2-S3。/n

【技术特征摘要】
1.一种基于容器技术的自动化蓝绿发布方法,其特征在于:包括如下步骤:
S1、搭建发布系统,选择“蓝绿发布”策略,默认创建蓝版本部署和绿版本部署,将蓝版本部署的副本数设置为0,并将流量全部导入到绿版本部署中;
S2、当存在镜像更新时,通过镜像更新事件触发自动化蓝绿发布,将新版本的镜像更新蓝版本部署中,并将蓝版本部署的副本数伸缩为1;
S3、蓝版本部署测试稳定后,发布蓝版本部署,并将蓝版本部署与绿版本部署进行交换,将变更后的蓝版本部署的副本数伸缩为0,并将全部流量导入至变更后的绿版本部署中;
S4、当存在新的镜像更新时,重复执行步骤S2-S3。


2.根据权利要求1所述的基于容器技术的自动化蓝绿发布方法,其特征在于:在步骤S1中,默认创建蓝版本部署和绿版本工作负载,并在每个工作负载上打上相应注解,用以标识蓝版本部署和绿版本部署,并创建相应的VirtualService和DestinationRule资源。


3.根据权利要求1所述的基于容器技术的自动化蓝绿发布方法,其特征在于:在步骤S1中,将蓝版本部署的副本数为0,绿版本部署的副本数为由用户预先设置的等于或者大于1的副本数,且在步骤S3中,蓝版本部署与绿版本部署交换后,变更后的绿版本部署的副本数伸缩至用户预先设置的原绿版本部署的副本数。


4.根据权利要求2所述的基于容器技术的自动化蓝绿发布方法,其特征在于:在步骤S1中,在创建蓝版本部署与绿版本部署相应的DestinationRule资源时,DestinationRule的subset依据蓝版本部署和绿版本部署注解建立路由规则,在步骤S3中,蓝版本部署与绿版本部署交换后,自动修改DestinationRule的subset。


5.根据权利要求2所述的基于容器技术的自动化蓝绿发布方法,其特征在于:在步骤S3中,在蓝版本部...

【专利技术属性】
技术研发人员:徐军王刚高传集
申请(专利权)人:浪潮云信息技术有限公司
类型:发明
国别省市:山东;37

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

1