一种实现平滑发布的方法及装置制造方法及图纸

技术编号:18783278 阅读:38 留言:0更新日期:2018-08-29 06:47
本发明专利技术实施例中公开了一种实现平滑发布的方法及装置,包括:确定新版本的应用程序;根据所述新版本的应用程序搭建的临时K8S集群;断开负载均衡与原K8S集群的连接并建立负载均衡与所述临时K8S集群的连接;利用所述新版本的应用程序对所述原K8S集群进行升级,获得最新版本的K8S集群;断开负载均衡与所述临时K8S集群的连接并建立所述负载均衡与所述最新版本的K8S集群的连接。基于上述方法及装置,能够实现中大型网站在升级过程中,让用户丝毫觉察不到网站的升级,提升了用户体验。

【技术实现步骤摘要】
一种实现平滑发布的方法及装置
本专利技术涉及网站开发
,具体涉及一种实现平滑发布的方法及装置。
技术介绍
对于网站来说,研发部门都在不停的开发新功能,开发完毕后经常要做网站升级,但是在网站升级部署应用程序的过程中,不能有服务的中断,这种在线服务不中断的应用程序部署过程即称为平滑发布。随着技术的进步,容器虚拟化技术由于不需要独立的操作系统、可以和宿主共享内核的优势,应用越来越广泛。容器可以视为软件供应链的集装箱,能够把应用需要的运行环境、缓存环境、数据库环境等封装起来,以最简洁的方式支持应用运行,性能更佳。目前最常用的容器技术为Docker,一台宿主机上可以开启很多个容器,然而容器太多会带来管理问题,继而产生了容器的管理平台,其中,Kubernetes(K8S)是由Google开源的容器集群管理系统,使用它可以轻松的将网站应用程序部署和发布到容器中去。在互联网发现的最早期,网站需要升级的时候,通常都是技术人员拿着在单位就已经准备好的硬盘,跑一趟机房,关机,用新的硬盘替换旧的硬盘,如果提供服务的服务器不止一台,可能需要挨个关机替换。随着技术的进步,现在网站后台程序的发布一般都已经实现了利用FTP、SCP、RSYNC、SSH等技术实现远程更新上传程序并重启服务,这种方式做到了程序升级过程中的服务不中断。但是,上述实现方式在网站规模不大,单台服务器即可提供服务的应用中是没有问题的,但是对于访问量很大的中大型网站来说,对外提供服务的服务器通常都有数十台,甚至数百台,这种实现方式无法实现整个网站的多台服务器中程序的同步升级,从而导致在整个网站升级过程中,网站的用户可能一会儿看到是新版网站,一会儿看到的是旧版网站,或者一些用户看到的是新版网站,一些用户同时看到的是旧版网站,给用户带来了不好的体验。
技术实现思路
有鉴于此,本专利技术实施例提供一种实现平滑发布的方法及装置,能够实现中大型网站在升级过程中,让用户丝毫觉察不到网站的升级,提升了用户体验。为实现上述目的,本专利技术实施例提供如下技术方案:一种实现平滑发布的方法,包括:确定新版本的应用程序;根据所述新版本的应用程序搭建的临时K8S集群;断开负载均衡与原K8S集群的连接并建立负载均衡与所述临时K8S集群的连接;利用所述新版本的应用程序对所述原K8S集群进行升级,获得最新版本的K8S集群;断开负载均衡与所述临时K8S集群的连接并建立所述负载均衡与所述最新版本的K8S集群的连接。可选的,所述根据所述新版本的应用程序搭建临时K8S集群,具体包括:定义Pod模板,所述Pod模板为使用Docker制作的一个包含有所述新版本的应用程序的镜像;利用所述Pod模板创建Pods;建立与所述Pods相关联的Service。可选的,所述利用所述Pod模板创建Pods,包括:通过设置ReplicationController的Pod副本数确定所创建的Pods中包含的Pod数量。可选的,所述断开负载均衡与原K8S集群的连接并建立负载均衡与所述临时K8S集群的连接,包括:将所述负载均衡的域名的upstream设置为所述临时K8S集群中Service的IP地址;则,断开负载均衡与所述临时K8S集群的连接并建立所述负载均衡与所述最新版本的K8S集群的连接,包括:将所述负载均衡的域名的upstream设置为所述最新版本的K8S集群中Service的IP地址。可选的,所述利用所述新版本的应用程序对所述原K8S集群进行升级,获得最新版本的K8S集群,包括:基于K8S的rolling-update功能将所述原K8S集群中的Pods中包含的Pod全部替换为所述Pod模板。一种实现平滑发布的装置,包括:确定模块,用于确定新版本的应用程序;临时K8S集群搭建模块,用于根据所述新版本的应用程序搭建的临时K8S集群;连接建立模块,用于断开负载均衡与原K8S集群的连接并建立负载均衡与所述临时K8S集群的连接;升级模块,用于利用所述新版本的应用程序对所述原K8S集群进行升级,获得最新版本的K8S集群;所述连接建立模块,还用于断开负载均衡与所述临时K8S集群的连接并建立所述负载均衡与所述最新版本的K8S集群的连接。可选的,所述临时K8S集群搭建模块,具体用于:定义Pod模板,所述Pod模板为使用Docker制作的一个包含有所述新版本的应用程序的镜像;利用所述Pod模板创建Pods;建立与所述Pods相关联的Service。可选的,所述临时K8S集群搭建模块,具体用于:通过设置ReplicationController的Pod副本数确定所创建的Pods中包含的Pod数量。可选的,所述连接建立模块,具体用于:将所述负载均衡的域名的upstream设置为所述临时K8S集群中Service的IP地址;或,将所述负载均衡的域名的upstream设置为所述最新版本的K8S集群中Service的IP地址。可选的,所述升级模块,具体用于:基于K8S的rolling-update功能将所述原K8S集群中的Pods中包含的Pod全部替换为所述Pod模板。基于上述技术方案,本专利技术实施例中公开了一种实现平滑发布的方法及装置,包括:确定新版本的应用程序;根据所述新版本的应用程序搭建的临时K8S集群;断开负载均衡与原K8S集群的连接并建立负载均衡与所述临时K8S集群的连接;利用所述新版本的应用程序对所述原K8S集群进行升级,获得最新版本的K8S集群;断开负载均衡与所述临时K8S集群的连接并建立所述负载均衡与所述最新版本的K8S集群的连接。基于上述方法及装置,能够实现中大型网站在升级过程中,让用户丝毫觉察不到网站的升级,提升了用户体验。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例公开的一种微服务的架构的示意图;图2为本专利技术实施例公开的一种搭建K8S集群的方法的流程示意图;图3为本专利技术实施例公开的一种建立K8S集群与外部的连接的方法的流程示意图;图4为本专利技术实施例公开的一种实现平滑发布的方法的流程示意图;图5为本专利技术实施例公开的一种根据所述新版本的应用程序搭建临时K8S集群的方法的流程示意图;图6为本专利技术实施例公开的一种实现平滑发布的装置的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例公开了一种微服务的架构用以实现平滑发布,该微服务的架构可以基于PHP和Redis搭建,其中,PHP(外文名:HypertextPreprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。Redis是一个高性能的key-value数据库。请参阅附图1,图1为本专利技术实施例公开的一种微服务的架构的示意图。该微服务的架构的搭建过程具体包括搭建K8S集群以及建立K8S集群与外部本文档来自技高网
...

【技术保护点】
1.一种实现平滑发布的方法,其特征在于,包括:确定新版本的应用程序;根据所述新版本的应用程序搭建的临时K8S集群;断开负载均衡与原K8S集群的连接并建立负载均衡与所述临时K8S集群的连接;利用所述新版本的应用程序对所述原K8S集群进行升级,获得最新版本的K8S集群;断开负载均衡与所述临时K8S集群的连接并建立所述负载均衡与所述最新版本的K8S集群的连接。

【技术特征摘要】
1.一种实现平滑发布的方法,其特征在于,包括:确定新版本的应用程序;根据所述新版本的应用程序搭建的临时K8S集群;断开负载均衡与原K8S集群的连接并建立负载均衡与所述临时K8S集群的连接;利用所述新版本的应用程序对所述原K8S集群进行升级,获得最新版本的K8S集群;断开负载均衡与所述临时K8S集群的连接并建立所述负载均衡与所述最新版本的K8S集群的连接。2.根据权利要求1所述的方法,其特征在于,所述根据所述新版本的应用程序搭建临时K8S集群,具体包括:定义Pod模板,所述Pod模板为使用Docker制作的一个包含有所述新版本的应用程序的镜像;利用所述Pod模板创建Pods;建立与所述Pods相关联的Service。3.根据权利要求2所述的方法,其特征在于,所述利用所述Pod模板创建Pods,包括:通过设置ReplicationController的Pod副本数确定所创建的Pods中包含的Pod数量。4.根据权利要求1所述的方法,其特征在于,所述断开负载均衡与原K8S集群的连接并建立负载均衡与所述临时K8S集群的连接,包括:将所述负载均衡的域名的upstream设置为所述临时K8S集群中Service的IP地址;则,断开负载均衡与所述临时K8S集群的连接并建立所述负载均衡与所述最新版本的K8S集群的连接,包括:将所述负载均衡的域名的upstream设置为所述最新版本的K8S集群中Service的IP地址。5.根据权利要求2所述的方法,其特征在于,所述利用所述新版本的应用程序对所述原K8S集群进行升级,获得最新版本的K8S集群,包括:基于K8S的rolling-update功能...

【专利技术属性】
技术研发人员:张国振
申请(专利权)人:北京焦点新干线信息技术有限公司
类型:发明
国别省市:北京,11

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

1