CN108683516B - 一种应用实例的升级方法、装置和*** - Google Patents
一种应用实例的升级方法、装置和*** Download PDFInfo
- Publication number
- CN108683516B CN108683516B CN201810211028.8A CN201810211028A CN108683516B CN 108683516 B CN108683516 B CN 108683516B CN 201810211028 A CN201810211028 A CN 201810211028A CN 108683516 B CN108683516 B CN 108683516B
- Authority
- CN
- China
- Prior art keywords
- application instance
- application
- configuration information
- version
- new version
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000012545 processing Methods 0.000 claims abstract description 148
- 238000001514 detection method Methods 0.000 claims description 31
- 238000012217 deletion Methods 0.000 claims description 22
- 230000037430 deletion Effects 0.000 claims description 22
- 238000013468 resource allocation Methods 0.000 claims description 13
- 238000012544 monitoring process Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 238000004590 computer program Methods 0.000 description 7
- 239000000284 extract Substances 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0876—Aspects of the degree of configuration automation
- H04L41/0886—Fully automatic configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供了一种应用实例的升级方法、装置和***,该方法包括:中心节点确定用于将处理节点中原容器组的应用实例从旧版本升级为新版本的配置信息;中心节点将所述配置信息发送至所述处理节点,用以根据所述配置信息在独立于所述原容器组的新容器组中创建所述新版本的应用实例;中心节点接收所述处理节点根据所述配置信息检测的、所述新版本的应用实例的状态信息;中心节点根据所述状态信息配置所述新版本的应用实例提供服务;中心节点在所述新版本的应用实例提供服务之后,通知所述处理节点关闭所述旧版本的应用实例。实现了自动对应用实例进行升级,大大提高了操作的简便性、减少了技术人员的工作量,减少出错的几率。
Description
技术领域
本发明涉及计算机处理的技术领域,特别是涉及一种应用实例的升级方法、装置和***。
背景技术
随着网络科技的快速发展,数据量、处理量也随之快速增长,使得各大网站部署愈加庞大的计算机集群。
在这些计算机集群中,通常通过容器将计算机的资源共享,实现资源的虚拟化,更加合理和有效地利用计算机的资源。
如图1所示,在计算机集群中,部署有多个节点,在这些节点中创建容器组,在容器组中创建容器,用户可以对容器进行管理,根据本地设置的配置文件,生成应用实例,在其中一个节点中部署负载均衡,将相关的业务分发到各个应用实例,使得这些应用实例一起对外提供服务。
在升级这些应用实例时,用户修改负载均衡器的配置,移除待升级的应用实例,再将待升级的应用实例停止运行,然后编辑待升级的应用实例的配置文件、镜像版本等信息进行升级,待编辑完成后,启动已升级的应用实例,再修改负载均衡的配置,添加已升级的应用实例。
但是,在计算机集群中部署有多个节点,每个节点的容器组中的容器数量很大,手动对应用实例进行升级操作繁琐、工作量大,容易出错,导致升级效率低。
发明内容
本发明实施例提出了一种应用实例的升级方法、装置和***,以解决手动升级应用实例效率低的问题。
依据本发明的一个方面,提供了一种应用实例的升级方法,包括:
中心节点确定用于将处理节点中原容器组的应用实例从旧版本升级为新版本的配置信息;
中心节点将所述配置信息发送至所述处理节点,用以根据所述配置信息在独立于所述原容器组的新容器组中创建所述新版本的应用实例;
中心节点接收所述处理节点根据所述配置信息检测的、所述新版本的应用实例的状态信息;
中心节点根据所述状态信息配置所述新版本的应用实例提供服务;
中心节点在所述新版本的应用实例提供服务之后,通知所述处理节点关闭所述旧版本的应用实例。
根据本发明的另一方面,提供了一种应用实例的升级装置,应用在中心节点中,包括:
配置信息确定模块,用于确定用于将处理节点中原容器组的应用实例从旧版本升级为新版本的配置信息;
配置信息发送模块,用于将所述配置信息发送至所述处理节点,用以根据所述配置信息在独立于所述原容器组的新容器组中创建所述新版本的应用实例;
状态信息接收模块,用于接收所述处理节点根据所述配置信息检测的、所述新版本的应用实例的状态信息;
服务配置模块,用于根据所述状态信息配置所述新版本的应用实例提供服务;
实例关闭通知模块,用于在所述新版本的应用实例提供服务之后,通知所述处理节点关闭所述旧版本的应用实例。
根据本发明的另一方面,提供了一种应用实例的升级***,所述***包括中心节点、处理节点;所述中心节点包括配置信息确定模块、配置信息发送模块、服务配置模块、实例关闭通知模块,所述处理节点包括应用实例创建模块、状态信息检测模块、应用实例关闭模块;
配置信息确定模块,用于确定用于将处理节点中原容器组的应用实例从旧版本升级为新版本的配置信息;
配置信息发送模块,用于将所述配置信息发送至所述处理节点;
应用实例创建模块,用于根据所述配置信息在独立于所述原容器组的新容器组中创建所述新版本的应用实例;
状态信息检测模块,用于根据所述配置信息检测所述新版本的应用实例的状态信息,并发送至所述中心节点;
服务配置模块,用于根据所述状态信息配置所述新版本的应用实例提供服务;
实例关闭通知模块,用于在所述新版本的应用实例提供服务之后,通知所述处理节点关闭所述旧版本的应用实例;
应用实例关闭模块,用于根据所述中心节点的通知关闭所述旧版本的应用实例。
本发明实施例包括以下优点:
在本发明实施例中,中心节点确定用于将处理节点中原容器组的应用实例从旧版本升级为新版本的配置信息,并发送至所述处理节点,用以根据配置信息在独立于原容器组的新容器组中创建新版本的应用实例,此后,接收处理节点根据置信息检测的、新版本的应用实例的状态信息,以此配置新版本的应用实例提供服务,在新版本的应用实例提供服务之后,通知处理节点关闭旧版本的应用实例,实现了自动对应用实例进行升级,大大提高了操作的简便性、减少了技术人员的工作量,减少出错的几率,从而提高了升级的效率,并且,在升级的过程中,在保证新版本的应用实例创建并提供服务之后,旧版本的应用实例才关闭停止提供服务,从而保证同一时间存在对某个业务提供服务的应用实例,保证业务不中断。
附图说明
图1是一种现有的计算机集群的结构示意图;
图2是本发明一个实施例的一种应用实例的升级方法的步骤流程图;
图3是本发明一个实施例的一种计算机集群的结构示意图;
图4是本发明一个实施例的另一种应用实例的升级方法的步骤流程图;
图5是本发明一个实施例的又一种应用实例的升级方法的步骤流程图;
图6是本发明一个实施例的一种应用实例的升级装置的结构框图;
图7是本发明一个实施例的一种应用实例的升级***的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图2,示出了本发明一个实施例的一种应用实例的升级方法的步骤流程图,具体可以包括如下步骤:
步骤201,中心节点确定用于将处理节点中原容器组的应用实例从旧版本升级为新版本的配置信息。
在本发明实施例中,如图3所示,在计算机集群中,部署有中心节点、多个处理节点与存储节点,中心节点、多个处理节点与存储节点可以为独立的物理机器,也可以为物理机器上的虚拟机,本发明实施例对此不加以限制。
中心节点为对处理节点进行管理、控制的节点,包括升级管理器、控制器。
其中,升级管理器负责应用实例的升级管理,收到升级请求后,根据新版本的配置信息决策启动新版本的应用实例,当新版本的应用实例正常启动并可提供服务时,决策删除旧版本的应用实例,保证升级过程中业务不中断。
控制器可以用于向处理节点发送指令,以及,接收处理节点反馈的响应。
处理节点为对进行业务处理的节点,可对外提供服务,包括代理Agent、负载均衡器,在处理节点中可以创建一个或多个容器组,在容器组中创建多个容器,这些容器采用应用的镜像文件启动,生成应用实例。
进一步而言,容器组可以指装载容器的单元,例如,在自动化容器操作平台Kubernetes中,容器组可以指Pod,即为***创建、调度和管理的最小部署单位。
在容器组中的各容器,具有独立的一套文件***资源和从属进程,可以通过虚拟化技术隔离运行在节点上的不同进程,从而使得进程之间、进程与宿主操作***相互隔离、互补影响。
其中,代理Agent接收中心节点的指令,按照该指令进行处理,如创建应用实例、删除应用实例等,以及,将处理的响应反馈至中心节点。
负载均衡器与控制器交互,获取当前计算机集群中各应用实例的数量、访问地址等信息,维护在负载均衡列表中,按照负载均衡规则将业务分发到负载均衡列表中记录的应用实例,以及,根据控制器的通知在负载均衡列表中删除、添加应用实例的信息。
存储节点负责维护计算机集群中应用实例的配置信息,实现方式可以是数据库、文件等等。
用户可以在中心节点触发升级操作,将应用实例从旧版本升级为新版本。
中心节点的控制器监听到升级操作,则可以确定将应用实例从旧版本升级为新版本的配置信息,此时,加载旧版本的容器组可以称之为原容器组。
在本发明的一个实施例中,步骤201可以包括如下子步骤:
子步骤S11,中心节点选定处理节点中原容器组的应用实例。
用户对某个业务进行升级,***随之对该业务相关的应用实例进行升级,则可以通过命令行或者图形化界面的操作,向中心节点的控制器发送配置获取请求,请求获取某个业务的应用实例的旧版本的配置文件,此时,控制器可以选定该业务的应用实例。
子步骤S12,中心节点查询所述应用实例对应的旧版本的配置信息。
在一种情况中,中心节点可以在本地的缓存中查询应用实例对应的旧版本的配置信息。
在另一种情况中,中心节点可以从预置的存储节点查询应用实例对应的旧版本的配置信息。
当然,本地的缓存与存储节点可以独立进行查询,也可以组合进行查询,例如,若在本地的缓存中未查询到该应用实例对应的旧版本的配置信息,则可以从预置的存储节点查询应用实例对应的旧版本的配置信息,等等,本发明实施例对此不加以限制。
子步骤S13,中心节点当所述旧版本的配置信息被修改时,确定修改后的配置信息为新版本的配置信息。
控制器若查询到旧版本的配置信息,则可以显示给用户,用户按照需求对该配置信息进行修改,此时,控制器则可以认为用户触发了升级操作,确定修改后的配置信息为新版本的配置信息。
一方面,控制器可以将新版本的配置信息发送至升级管理器。
另一方面,控制器可以将应用实例对应的新版本的配置信息存储至预置的存储节点中,与旧版本的配置信息一同存储。
若从容器组(如Pod)中获取配置信息,操作较为复杂,本发明实施例在存储节点中统一维护应用实例的配置信息,架构简单,操作简便。
步骤202,中心节点将所述配置信息发送至所述处理节点,用以根据所述配置信息在独立于所述原容器组的新容器组中创建所述新版本的应用实例。
在配置信息中具有节点调度信息,即在符合指定条件(如链接外网、提供指定服务等)的节点中增加应用实例。
升级管理器根据预先配置的升级规则,决策此次升级的新版本的应用实例的数量,并通知控制器。
控制器可以按照该节点调度信息筛选合适的处理节点,在这些合适的处理节点中基于资源占用等其他规则选择指定的处理节点,将该数量的新版本的应用实例调度到指定的处理节点,并将配置信息发送至指定的处理节点上的代理Agent。
处理节点上的代理Agent接收到配置信息,则可以从配置信息中提取版本号、监听端口、资源分配信息、服务配置文件、存储卷等数据,按照这些数据在独立于原容器组的新容器组中创建新的容器,在该容器中加载应用,生成新版本的应用实例,从而使得旧版本的应用实例、新版本的应用实例处于不同的容器组。
其中,版本号为应用的新的版本号。
监听端口为应用实例监听的端口。
资源分配信息可以指分配给新的容器的资源的信息。
服务配置文件可以指对应用进行配置的文件。
存储卷可以指对应用实例产生的数据进行存储的位置。
如果在旧版本的应用实例所处的原容器组(如Pod)中创建新版本的应用实例,即旧版本的应用实例与新版本的应用实例处于同一个容器组(如Pod)中,在同一个容器组(如Pod)中的应用实例共享网络、存储等资源,对于对外提供服务的应用实例,新版本的应用实例与旧版本的应用实例必须同时监听相同的端口,旧版本的应用实例在新版本的应用实例启动之前一直存活,占用了端口,因无端口可用,将导致新版本的应用实例无法启动。
新版本的应用实例与旧版本的应用实例监听的相同端口是同一IP地址(InternetProtocol Address,网际协议地址),如果启动新版本的应用实例就需要关闭旧版本的应用实例,这样会中断旧版本的应用被访问的业务。
而由于在同一容器组(如Pod)中共享资源,即使为同一端口提供两个不同的IP,也无法保证升级过程中使旧版本的应用实例正常提供服务,这是应用实例升级面临的问题。
所以,如果在旧版本的应用实例所处的原容器组(如Pod)中创建新版本的应用实例,并不适用于对外提供服务的应用实例,而实际情况中,大部分的应用实例都对外提供服务。
在本发明实施例中,新版本的应用实例与旧版本的应用实例在相互独立的容器组(如Pod),相互之间没有任何影响,更易管理,在不同的容器组(如Pod)并不共享网络、存储等资源,在对外提供服务时,新版本的应用实例与旧版本的应用实例并不需要监听相同的端口,可以同时运行,保证业务不间断,即适用于对外提供服务的应用场景,也适用于不对外提供服务的应用场景。
步骤203,中心节点接收所述处理节点根据所述配置信息检测的、所述新版本的应用实例的状态信息。
处理节点上的代理Agent从配置信息中提取状态检查信息,如开始检测的时间、检测时间间隔、检测接口、检测成功阈值,检测失败阈值、检测超时时长等,则可以按照该状态检查信息检测新版本的应用实例的状态信息,并将状态信息返回中心节点的控制器。
步骤204,中心节点根据所述状态信息配置所述新版本的应用实例提供服务。
中心节点的控制器接收到处理节点返回的状态信息,则可以对新版本的应用信息配置服务信息,使得新版本的服务可以按照该服务信息提供服务。
在本发明的一个实施例中,步骤204可以包括如下子步骤:
子步骤S21,当所述状态信息为正常启动并可提供服务时,查询所述新版本的应用实例的访问地址。
子步骤S22,将所述新版本的应用实例的访问地址发送至所述处理节点,用以将所述访问地址添加至预设的负载均衡列表中、按照均衡负载提供服务。
如果处理节点检测到新版本的应用实例正常启动并可提供服务,则可以查询该新版本的应用实例的访问地址,如IP地址,将该访问地址发送至各个处理节点的负载均衡器。
负载均衡器将该访问地址添加到负载均衡列表中,待接入业务时,则可以按照均衡负载规则,将该业务分配至该负载均衡列表中的应用实例(以访问地址表示),从而使得新版本的应用实例可以处理该业务,提供服务。
步骤205,中心节点在所述新版本的应用实例提供服务之后,通知所述处理节点关闭所述旧版本的应用实例。
由于容器中应用从启动到提供服务需要几秒到几十秒甚至更长时间,如果在运行新版本的应用实例后就删除旧版本的应用实例,此时,新版本的应用实例很可能还不能正常提供服务,因此很大概率会出现业务中断的情况。
在本发明实施例中,在升级的过程中,通过健康检查机制,在保证新版本的应用实例正常启动并提供服务后,中心节点则可以通知相关的处理节点,关闭旧版本的应用实例,停止提供服务,从而保证同一时间存在对某个业务提供服务的应用实例,保证业务不中断。
在本发明实施例中,中心节点确定用于将处理节点中原容器组的应用实例从旧版本升级为新版本的配置信息,并发送至所述处理节点,用以根据配置信息在独立于原容器组的新容器组中创建新版本的应用实例,此后,接收处理节点根据置信息检测的、新版本的应用实例的状态信息,以此配置新版本的应用实例提供服务,在新版本的应用实例提供服务之后,通知处理节点关闭旧版本的应用实例,实现了自动对应用实例进行升级,大大提高了操作的简便性、减少了技术人员的工作量,减少出错的几率,从而提高了升级的效率,并且,在升级的过程中,在保证新版本的应用实例创建并提供服务之后,旧版本的应用实例才关闭停止提供服务,从而保证同一时间存在对某个业务提供服务的应用实例,保证业务不中断。
参照图4,示出了本发明一个实施例的另一种应用实例的升级方法的步骤流程图,具体可以包括如下步骤:
步骤401,中心节点确定用于将处理节点中原容器组的应用实例从旧版本升级为新版本的配置信息。
在本发明实施例中,可以对应用实例进行第一类型的升级,即普通升级,在新版本启动并提供服务之后,完成升级。
若对应用实例进行第一类型的升级,则配置信息包括如下的至少一项:
节点调度信息、版本号、状态检查信息、监听端口、资源分配信息、服务配置文件、存储卷。
当然,上述配置信息只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他配置信息,本发明实施例对此不加以限制。另外,除了上述配置信息外,本领域技术人员还可以根据实际需要采用其它配置信息,本发明实施例对此也不加以限制。
步骤402,中心节点确定新增数。
步骤403,中心节点将所述配置信息发送至所述处理节点,用以根据所述配置信息在独立于所述原容器组的新容器组中创建数量为所述新增数的、所述新版本的应用实例。
若对应用实例进行第一类型的升级,则中心节点的升级管理器从配置信息中读取的期望实例数、第一实例数与第二实例数,其中,期望实例数为预期创建新版本的应用实例的数量,一般情况下,旧版本的应用实例的数量与期望实例数相同;若第一实例数为i,表示最多比期望实例数多i个应用实例,若第二实例数为j,表示最多比期望实例数少j个应用实例。
升级管理器可以决策此次升级的新版本的应用实例的新增数为该第一实例数,并通知控制器。
控制器将该配置信息发送至指定的处理节点上的代理Agent。
处理节点上的代理Agent接收到配置信息,则可以从配置信息中提取版本号、监听端口、资源分配信息、服务配置文件、存储卷等数据,按照这些数据在独立于原容器组的新容器组中新增数为第一实例数的、新的容器,在该容器中加载应用,生成数量为第一实例数的、新版本的应用实例。
步骤404,中心节点接收所述处理节点根据所述配置信息检测的、所述新版本的应用实例的状态信息。
步骤405,中心节点根据所述状态信息配置所述新版本的应用实例提供服务。
步骤406,中心节点在所述新版本的应用实例提供服务之后,确定数量在第一删除数范围内的旧版本的应用实例。
步骤407,中心节点通知所述处理节点将所述旧版本的应用实例的访问地址从预设的负载均衡列表中移除,删除所述旧版本的应用实例。
若对应用实例进行第一类型的升级,则中心节点的升级管理器从配置信息中读取的期望实例数、第一实例数与第二实例数,可以决策此次删除的旧版本的应用实例的第一删除数为该第一实例数与第二实例数之和,并通知控制器。
控制器选定数量在第一删除数范围内的旧版本的应用实例,发送删除通知至这些旧版本的应用实例所属的处理节点的负载均衡器。
假设第一删除数为r,一般情况下,数量在第一删除数范围内的旧版本的应用实例,可以指创建时间最早的r个包含旧版本的应用实例。
负载均衡器将该旧版本的应用实例的访问地址(如IP地址)从负载均衡列表中移除,并删除旧版本的应用实例,待接入业务时,则可以按照均衡负载规则,将该业务分配至该负载均衡列表中的其他应用实例(以访问地址表示),从而使得旧版本的应用实例可以停止处理业务,停止提供服务。
步骤408,中心节点判断是否完成新增数为预设的期望实例数的、所述新版本的应用实例、关闭所有所述旧版本的应用实例;若是,则执行步骤409,若否,则返回执行步骤402,和/或,返回执行步骤406。
步骤409,中心节点确定完成将所述旧版本的应用实例升级为所述新版本的应用实例。
在本发明实施例中,在完成一轮升级时,则可以检查是否完成新增数为期望实例数的、新版本的应用实例,如果未完成创建,则返回执行步骤402,在下一轮升级时继续创建新版本的应用实例,否则,可以停止创建新版本的应用实例。
此外,还可以检查是否完成关闭所有旧版本的应用实例,如果未完成删除,则返回执行步骤409,在下一轮升级时继续关闭旧版本的应用实例,否则,可以停止关闭旧版本的应用实例。
需要说明的是,在同一轮升级时,可能同时创建新版本的应用实例、关闭旧版本的应用实例,也可能仅创建新版本的应用实例,还可能仅关闭旧版本的应用实例,等等,本发明实施例对此不加以限制。
为使本领域技术人员更好地理解本发明实施例,以下通过具体的示例来说明本发明实施例中第一类型的升级方法。
1、假设有一个业务,提供的端口为80,对该业务创建了两个应用实例,IP地址分别为10.0.0.1、10.0.0.2,负载均衡器的IP地址为168.0.0.1,此时,负载均衡列表为:
10.0.0.1:80
10.0.0.2:80
2、客户端访问168.0.0.1:80,负载均衡器会将业务轮流转发到这个两个应用实例进行处理,对外提供服务。
3、用户要对这个业务的应用实例进行升级,其配置信息为:
期望实例数:2
第一实例数:1
第二实例数:1
状态检查信息:
开始检测的时间:30s
检测时间间隔:3s
检测接口:80
检测成功阈值:1
检测失败阈值:5
检测超时时间:3s
4、用户选择这个业务的应用实例,修改配置信息,触发升级操作,中心节点的控制模块收更新存储节点中的配置信息,通知升级管理器对这个业务的应用实例升级,并将配置信息传给升级管理器。
5、升级管理器收到升级请求及配置信息。
6、升级管理器根据第一实例数决策创建1个新版本的应用实例,并通知中心控制器,中心控制器根据资源占用等情况将新版本的应用实例调度到指定的处理节点,并将配置信息通知指定的处理节点上的代理Agent。
7、处理节点上的代理Agent收到中心节点的控制器的通知后,根据配置信息创建新版本的应用实例容器,设置其IP地址为10.0.0.3,并根据配置信息中的状态检查信息,在新版本的应用实例启动30s后开始根据检测接口80是否正常,如果不正常,持续检测,每隔3s发进行一次检测,在检测超时时间3s内,如果检测接口1次返回成功,则认定新版本的应用实例正常启动并可提供服务,将状态信息通知中心节点的控制器。
8、中心节点的控制器将正常启动并可提供服务的新版本的应用实例的IP地址10.0.0.3通知各个处理节点的负载均衡器,负载均衡器将新版本的实例IP加入负载均衡列表:
10.0.0.1:80
10.0.0.2:80
10.0.0.3:80
此时,旧版本的应用实例与新版本的应用实例同时提供服务,负载均衡器会把业务轮流转发到这三个应用实例。
9、中心节点的控制器通知升级管理器新版本的应用实例正常启动并可提供服务,升级管理器决策需要按创建时间顺序删除创建时间最早的2个旧版本的应用实例,并通知中心控制器,控制器通知相应处理节点的代理Agent,代理Agent通知负载均衡器将这两个旧版本的应用实例从负载均衡服务列表中移除,并反馈结果给中心节点的控制器,此时,负载均衡列表为:
10.0.0.3:80
10、中心控制器收到旧版本的应用实例的IP地址成功移除的结果后,通知相应处理节点的代理agent删除这两个旧版本的应用实例。
11、由于期望实例数为2,而现在创建了1个新版本的应用实例,因此,升级管理器决策再创建1个新版本的应用实例,并通知控制器,控制器根据资源占用等情况将新版本的应用实例调度到指定的处理节点,并将配置信息通知指定的处理节点上的代理Agent。
12、处理节点上的代理Agent收到中心节点的控制器的通知后,根据配置信息创建新版本的应用实例容器,设置其IP地址为10.0.0.4,并根据配置信息中的状态检查信息,在新版本的应用实例启动30s后开始根据检测接口80是否正常,如果不正常,持续检测,每隔3s发进行一次检测,在检测超时时间3s内,如果检测接口1次返回成功,则认定新版本的应用实例正常启动并可提供服务,将状态信息通知中心节点的控制器。
13、中心节点的控制器将正常启动并可提供服务的新版本的应用实例的IP地址10.0.0.4通知各个处理节点的负载均衡器,负载均衡器将新版本的实例IP加入负载均衡列表:
10.0.0.3:80
10.0.0.4:80
此时,两个新版本的应用实例同时提供服务,负载均衡器会把业务轮流转发到这两个个新版本的应用实例,升级完成。
参照图5,示出了本发明一个实施例的又一种应用实例的升级方法的步骤流程图,具体可以包括如下步骤:
步骤501,中心节点确定用于将处理节点中原容器组的应用实例从旧版本升级为新版本的配置信息。
在本发明实施例中,可以对应用实例进行第一类型的升级,即灰度升级,灰度升级是相对于普通升级而言的,在灰度升级的过程中,旧版本与新版本的应用实例共同提供服务,同时运行一段时间,确认业务稳定、正常后,完成升级,从而进一步提高升级的稳定性,减少升级出错的几率。
若对应用实例进行第二类型的升级,则配置信息包括如下的至少一项:
节点调度信息、版本号、状态检查信息、监听端口、资源分配信息、服务配置文件、存储卷、升级实例数、升级等待时间。
当然,上述配置信息只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他配置信息,本发明实施例对此不加以限制。另外,除了上述配置信息外,本领域技术人员还可以根据实际需要采用其它配置信息,本发明实施例对此也不加以限制。
步骤502,中心节点从所述配置信息中查询升级实例数。
步骤503,中心节点将所述配置信息发送至所述处理节点,用以根据所述配置信息在独立于所述原容器组的新容器组中创建数量为所述升级实例数的、所述新版本的应用实例。
若对应用实例进行第二类型的升级且第一次创建新版本的应用实例,则中心节点的升级管理器从配置信息中读取升级实例数,决策此次升级的新版本的应用实例的数量为该升级实例数,并通知控制器。
控制器将该配置信息发送至指定的处理节点上的代理Agent。
处理节点上的代理Agent接收到配置信息,则可以从配置信息中提取版本号、监听端口、资源分配信息、服务配置文件、存储卷等数据,按照这些数据在独立于原容器组的新容器组中新增数为升级实例数的、新的容器,在该容器中加载应用,生成数量为升级实例数的、新版本的应用实例。
步骤504,中心节点接收所述处理节点根据所述配置信息检测的、所述新版本的应用实例的状态信息。
步骤505,中心节点根据所述状态信息配置所述新版本的应用实例提供服务。
步骤506,中心节点从所述配置信息中查询升级等待时间。
步骤507,中心节点在超过所述升级等待时间时,确定数量在第二删除数范围内的旧版本的应用实例。
步骤508,中心节点通知所述处理节点将所述旧版本的应用实例的访问地址从预设的负载均衡列表中移除,删除所述旧版本的应用实例。
若对应用实例进行第二类型的升级且第一次删除旧版本的应用实例,则中心节点的升级管理器读取配置信息中的升级等待时间以及预先的期望实例数与第二实例数,可以决策此次删除的旧版本的应用实例的第二删除数,并通知控制器。
其中,设第二删除数为X、期望实例数为Q、第二实例数为Y,一般情况下,数量在第二删除数范围内的旧版本的应用实例,可以指创建时间最早的X个包含旧版本的应用实例,此外,若Y<Q,则X=Y+j,若Y≥Q,则X=Y。
控制器选定在第二删除数范围内的旧版本的应用实例,发送删除通知至这些旧版本的应用实例所属的处理节点的负载均衡器t。
负载均衡器将该旧版本的应用实例的访问地址(如IP地址)从负载均衡列表中移除,并删除旧版本的应用实例,待接入业务时,则可以按照均衡负载规则,将该业务分配至该负载均衡列表中的其他应用实例(以访问地址表示),从而使得旧版本的应用实例可以停止处理业务,停止提供服务。
当然,除了在超过升级等待时间时之外,还可以根据用户触发的继续升级的指令继续进行升级,本发明实施例对此不加以限制。
步骤509,中心节点判断是否完成新增数为预设的期望实例数的、所述新版本的应用实例、关闭所有所述旧版本的应用实例;若是,则执行步骤516,若否,则执行步骤510,和/或,执行步骤514。
步骤510,中心节点确定新增数。
步骤511,中心节点将所述配置信息发送至所述处理节点,用以根据所述配置信息在独立于所述原容器组的新容器组中创建数量为所述新增数的、所述新版本的应用实例。
若对应用实例进行第二类型的升级且至少第二次创建所述新版本的应用实例,则中心节点的升级管理器从配置信息中读取的期望实例数、第一实例数与第二实例数。
升级管理器可以决策此次升级的新版本的应用实例的新增数为该第一实例数,并通知控制器。
控制器将该配置信息发送至指定的处理节点上的代理Agent。
处理节点上的代理Agent接收到配置信息,则可以从配置信息中提取版本号、监听端口、资源分配信息、服务配置文件、存储卷等数据,按照这些数据在独立于原容器组的新容器组中新增数为第一实例数的、新的容器,在该容器中加载应用,生成数量为第一实例数的、新版本的应用实例。
步骤512,中心节点接收所述处理节点根据所述配置信息检测的、所述新版本的应用实例的状态信息。
步骤513,中心节点根据所述状态信息配置所述新版本的应用实例提供服务。
步骤514,中心节点在所述新版本的应用实例提供服务之后,确定数量在第一删除数范围内的旧版本的应用实例。
步骤515,中心节点通知所述处理节点将所述旧版本的应用实例的访问地址从预设的负载均衡列表中移除,删除所述旧版本的应用实例,返回执行步骤509。
若对应用实例进行第二类型的升级且至少第二次删除旧版本的应用实例,则中心节点的升级管理器从配置信息中读取的期望实例数、第一实例数与第二实例数,可以决策此次删除的旧版本的应用实例的第一删除数为该第一实例数与第二实例数之和,并通知控制器。
控制器选定数量在第一删除数范围内的旧版本的应用实例,发送删除通知至这些旧版本的应用实例所属的处理节点的负载均衡器。
负载均衡器将该旧版本的应用实例的访问地址(如IP地址)从负载均衡列表中移除,并删除旧版本的应用实例,待接入业务时,则可以按照均衡负载规则,将该业务分配至该负载均衡列表中的其他应用实例(以访问地址表示),从而使得旧版本的应用实例可以停止处理业务,停止提供服务。
步骤516,中心节点确定完成将所述旧版本的应用实例升级为所述新版本的应用实例。
为使本领域技术人员更好地理解本发明实施例,以下通过具体的示例来说明本发明实施例中第二类型的升级方法。
1、假设有一个业务,提供的端口为80,对该业务创建了两个应用实例,IP地址分别为10.0.0.1、10.0.0.2,负载均衡器的IP地址为168.0.0.1,此时,负载均衡列表为:
10.0.0.1:80
10.0.0.2:80
2、客户端访问168.0.0.1:80,负载均衡器会将业务轮流转发到这个两个应用实例进行处理,对外提供服务。
3、用户要对这个业务的应用实例进行升级,其配置信息为:
期望实例数:2
第一实例数:1
第二实例数:1
状态检查信息:
开始检测的时间:30s
检测时间间隔:3s
检测接口:80
检测成功阈值:1
检测失败阈值:5
检测超时时间:3s
升级实例数:1
升级等待时间:7天
4、用户选择这个业务的应用实例,修改配置信息,触发升级操作,中心节点的控制模块收更新存储节点中的配置信息,通知升级管理器对这个业务的应用实例升级,并将配置信息传给升级管理器。
5、升级管理器收到升级请求及配置信息。
6、升级管理器根据升级实例数决策创建1个新版本的应用实例,并通知中心控制器,中心控制器根据资源占用等情况将新版本的应用实例调度到指定的处理节点,并将配置信息通知指定的处理节点上的代理Agent。
7、处理节点上的代理Agent收到中心节点的控制器的通知后,根据配置信息创建新版本的应用实例容器,设置其IP地址为10.0.0.3,并根据配置信息中的状态检查信息,在新版本的应用实例启动30s后开始根据检测接口80是否正常,如果不正常,持续检测,每隔3s发进行一次检测,在检测超时时间3s内,如果检测接口1次返回成功,则认定新版本的应用实例正常启动并可提供服务,将状态信息通知中心节点的控制器。
8、中心节点的控制器将正常启动并可提供服务的新版本的应用实例的IP地址10.0.0.3通知各个处理节点的负载均衡器,负载均衡器将新版本的实例IP加入负载均衡列表:
10.0.0.1:80
10.0.0.2:80
10.0.0.3:80
此时,旧版本的应用实例与新版本的应用实例同时提供服务,负载均衡器会把业务轮流转发到这三个应用实例。
9、中心节点的控制器通知升级管理器新版本的应用实例正常启动并可提供服务,升级管理器暂停继续升级,并根据升级等待时间,配置启动计时器进行计时,如果7天内新版本的应用实例正常运行,如没有收到回滚请求等,计时器计时完成后,则自动继续升级。
升级管理器决策需要按创建时间顺序删除创建时间最早的2个旧版本的应用实例,并通知中心控制器,控制器通知相应处理节点的代理Agent,代理Agent通知负载均衡器将这两个旧版本的应用实例从负载均衡服务列表中移除,并反馈结果给中心节点的控制器,此时,负载均衡列表为:
10.0.0.3:80
10、中心控制器收到旧版本的应用实例的IP地址成功移除的结果后,通知相应处理节点的代理agent删除这两个旧版本的应用实例。
11、由于期望实例数为2,而现在创建了1个新版本的应用实例,因此,升级管理器决策再创建1个新版本的应用实例,并通知控制器,控制器根据资源占用等情况将新版本的应用实例调度到指定的处理节点,并将配置信息通知指定的处理节点上的代理Agent。
12、处理节点上的代理Agent收到中心节点的控制器的通知后,根据配置信息创建新版本的应用实例容器,设置其IP地址为10.0.0.4,并根据配置信息中的状态检查信息,在新版本的应用实例启动30s后开始根据检测接口80是否正常,如果不正常,持续检测,每隔3s发进行一次检测,在检测超时时间3s内,如果检测接口1次返回成功,则认定新版本的应用实例正常启动并可提供服务,将状态信息通知中心节点的控制器。
13、中心节点的控制器将正常启动并可提供服务的新版本的应用实例的IP地址10.0.0.4通知各个处理节点的负载均衡器,负载均衡器将新版本的实例IP加入负载均衡列表:
10.0.0.3:80
10.0.0.4:80
此时,两个新版本的应用实例同时提供服务,负载均衡器会把业务轮流转发到这两个个新版本的应用实例,升级完成。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图6,示出了本发明一个实施例的一种应用实例的升级装置的结构框图,应用在中心节点中,具体可以包括如下模块:
配置信息确定模块601,用于确定用于将处理节点中原容器组的应用实例从旧版本升级为新版本的配置信息;
配置信息发送模块602,用于将所述配置信息发送至所述处理节点,用以根据所述配置信息在独立于所述原容器组的新容器组中创建所述新版本的应用实例;
状态信息接收模块603,用于接收所述处理节点根据所述配置信息检测的、所述新版本的应用实例的状态信息;
服务配置模块604,用于根据所述状态信息配置所述新版本的应用实例提供服务;
实例关闭通知模块605,用于在所述新版本的应用实例提供服务之后,通知所述处理节点关闭所述旧版本的应用实例。
在本发明的一个实施例中,所述配置信息确定模块601包括:
应用实例选定子模块,用于选定处理节点中原容器组的应用实例;
配置信息查询子模块,用于查询所述应用实例对应的旧版本的配置信息;
新版本信息确定子模块,用于当所述旧版本的配置信息被修改时,确定修改后的配置信息为新版本的配置信息;
其中,若对所述应用实例进行第一类型的升级,则所述配置信息包括如下的至少一项:
节点调度信息、版本号、状态检查信息、监听端口、资源分配信息、服务配置文件、存储卷;
或者,若对所述应用实例进行第二类型的升级,则所述配置信息包括如下的至少一项:
节点调度信息、版本号、状态检查信息、监听端口、资源分配信息、服务配置文件、存储卷、升级实例数、升级等待时间。
在本发明的一个实施例中,所述配置信息查询子模块包括:
本地查询单元,用于在本地的缓存中查询所述应用实例对应的旧版本的配置信息;
和/或,
节点查询单元,用于从预置的存储节点查询所述应用实例对应的旧版本的配置信息。
在本发明的一个实施例中,还包括:
配置信息存储模块,用于将所述应用实例对应的新版本的配置信息存储至预置的存储节点中。
在本发明的一个实施例中,所述配置信息发送模块602包括:
新增数确定子模块,用于若对所述应用实例进行第一类型的升级,或者,若对所述应用实例进行第二类型的升级且至少第二次创建所述新版本的应用实例,则确定新增数;
第一发送子模块,用于将所述配置信息发送至所述处理节点,用以根据所述配置信息在独立于所述原容器组的新容器组中创建数量为所述新增数的、所述新版本的应用实例;
或者,
升级实例数查询子模块,用于若对所述应用实例进行第二类型的升级且第一次创建所述新版本的应用实例,则从所述配置信息中查询升级实例数;
第二发送子模块,用于将所述配置信息发送至所述处理节点,用以根据所述配置信息在独立于所述原容器组的新容器组中创建数量为所述升级实例数的、所述新版本的应用实例。
在本发明的一个实施例中,所述服务配置模块604包括:
访问地址查询子模块,用于当所述状态信息为正常启动并可提供服务时,查询所述新版本的应用实例的访问地址;
访问地址发送子模块,用于将所述新版本的应用实例的访问地址发送至所述处理节点,用以将所述访问地址添加至预设的负载均衡列表中、按照均衡负载提供服务。
在本发明的一个实施例中,所述实例关闭通知模块605包括:
第一旧实例确定子模块,用于若对所述应用实例进行第一类型的升级,或者,若对所述应用实例进行第二类型的升级且至少第二次删除所述旧版本的应用实例,则在所述新版本的应用实例提供服务之后,确定数量在第一删除数范围内的旧版本的应用实例;
第一关闭通知子模块,用于通知所述处理节点将所述旧版本的应用实例的访问地址从预设的负载均衡列表中移除,删除所述旧版本的应用实例;
或者,
升级等待时间确定子模块,用于若对所述应用实例进行第二类型的升级且第一次删除所述旧版本的应用实例,则在所述新版本的应用实例提供服务之后,从所述配置信息中查询升级等待时间;
第二旧实例确定子模块,用于在超过所述升级等待时间时,确定数量在第二删除数范围内的旧版本的应用实例;
第二关闭通知子模块,用于通知所述处理节点将所述旧版本的应用实例的访问地址从预设的负载均衡列表中移除,删除所述旧版本的应用实例。
在本发明的一个实施例中,还包括:
升级判断模块,用于判断是否完成新增数为预设的期望实例数的、所述新版本的应用实例、关闭所有所述旧版本的应用实例;若是,则调用升级完成确定模块,若否,则调用所述配置信息发送模块和/或调用所述实例关闭通知模块;
升级完成确定模块,用于确定完成将所述旧版本的应用实例升级为所述新版本的应用实例。
参照图7,示出了本发明一个实施例的一种应用实例的升级***的结构框图,所述***包括中心节点710、处理节点720;所述中心节点710包括配置信息确定模块711、配置信息发送模块712、服务配置模块713、实例关闭通知模块714,所述处理节点720包括应用实例创建模块721、状态信息检测模块722、应用实例关闭模块723;
配置信息确定模块711,用于确定用于将处理节点中原容器组的应用实例从旧版本升级为新版本的配置信息;
配置信息发送模块712,用于将所述配置信息发送至所述处理节点;
应用实例创建模块721,用于根据所述配置信息在独立于所述原容器组的新容器组中创建所述新版本的应用实例;
状态信息检测模块722,用于根据所述配置信息检测所述新版本的应用实例的状态信息,并发送至所述中心节点;
服务配置模块713,用于根据所述状态信息配置所述新版本的应用实例提供服务;
实例关闭通知模块714,用于在所述新版本的应用实例提供服务之后,通知所述处理节点关闭所述旧版本的应用实例;
应用实例关闭模块723,用于根据所述中心节点的通知关闭所述旧版本的应用实例。
在本发明的一个实施例中,所述配置信息确定模块711包括:
应用实例选定子模块,用于选定处理节点中原容器组的应用实例;
配置信息查询子模块,用于查询所述应用实例对应的旧版本的配置信息;
新版本信息确定子模块,用于当所述旧版本的配置信息被修改时,确定修改后的配置信息为新版本的配置信息;
其中,若对所述应用实例进行第一类型的升级,则所述配置信息包括如下的至少一项:
节点调度信息、版本号、状态检查信息、监听端口、资源分配信息、服务配置文件、存储卷;
或者,若对所述应用实例进行第二类型的升级,则所述配置信息包括如下的至少一项:
节点调度信息、版本号、状态检查信息、监听端口、资源分配信息、服务配置文件、存储卷、升级实例数、升级等待时间。
在本发明的一个实施例中,所述***还包括存储节点,所述配置信息查询子模块包括:
本地查询单元,用于在本地的缓存中查询所述应用实例对应的旧版本的配置信息;
和/或,
节点查询单元,用于从预置的存储节点查询所述应用实例对应的旧版本的配置信息。
在本发明的一个实施例中,所述***还包括存储节点730,所述中心节点710还包括:
配置信息存储模块,用于将所述应用实例对应的新版本的配置信息存储至预置的存储节点中。
在本发明的一个实施例中,所述配置信息发送模块712包括:
新增数确定子模块,用于若对所述应用实例进行第一类型的升级,或者,若对所述应用实例进行第二类型的升级且至少第二次创建所述新版本的应用实例,则确定新增数;
第一发送子模块,用于将所述配置信息发送至所述处理节点;
所述应用实例创建模块721包括:
第一创建子模块,用于根据所述配置信息在独立于所述原容器组的新容器组中创建数量为所述新增数的、所述新版本的应用实例;
或者,
所述配置信息发送模块712包括:
升级实例数查询子模块,用于若对所述应用实例进行第二类型的升级且第一次创建所述新版本的应用实例,则从所述配置信息中查询升级实例数;
第二发送子模块,用于将所述配置信息发送至所述处理节点;
所述应用实例创建模块721包括:
第二创建子模块,用于根据所述配置信息在独立于所述原容器组的新容器组中创建数量为所述升级实例数的、所述新版本的应用实例。
在本发明的一个实施例中,所述服务配置模块714包括:
访问地址查询子模块,用于当所述状态信息为正常启动并可提供服务时,查询所述新版本的应用实例的访问地址;
访问地址发送子模块,用于将所述新版本的应用实例的访问地址发送至所述处理节点,用以将所述访问地址添加至预设的负载均衡列表中、按照均衡负载提供服务。
在本发明的一个实施例中,所述实例关闭通知模块714包括:
第一旧实例确定子模块,用于若对所述应用实例进行第一类型的升级,或者,若对所述应用实例进行第二类型的升级且至少第二次删除所述旧版本的应用实例,则在所述新版本的应用实例提供服务之后,确定数量在第一删除数范围内的旧版本的应用实例;
第一访问地址通知子模块,用于将所述旧版本的应用实例的访问地址通知所述处理节点;
或者,
升级等待时间确定子模块,用于若对所述应用实例进行第二类型的升级且第一次删除所述旧版本的应用实例,则在所述新版本的应用实例提供服务之后,从所述配置信息中查询升级等待时间;
第二旧实例确定子模块,用于在超过所述升级等待时间时,确定数量在第二删除数范围内的旧版本的应用实例;
第二访问地址通知子模块,用于将所述旧版本的应用实例的访问地址通知所述处理节点;
所述应用实例关闭模块723包括:
地址移除子模块,用于将所述旧版本的应用实例的访问地址从预设的负载均衡列表中移除;
实例删除子模块,用于删除所述旧版本的应用实例。
在本发明的一个实施例中,所述中心节点710还包括:
升级判断模块,用于判断是否完成新增数为预设的期望实例数的、所述新版本的应用实例、关闭所有所述旧版本的应用实例;若是,则调用升级完成确定模块,若否,则调用所述配置信息发送模块712和/或调用所述实例关闭通知模块714;
升级完成确定模块,用于确定完成将所述旧版本的应用实例升级为所述新版本的应用实例。
对于装置、***实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种应用实例的升级方法、一种应用实例的升级装置和一种应用实例的升级***,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种应用实例的升级方法,其特征在于,包括:
中心节点确定用于将处理节点中原容器组的应用实例从旧版本升级为新版本的配置信息;
若对所述原容器组的应用实例进行第一类型的升级,或者,若对所述原容器组的应用实例进行第二类型的升级且至少第二次创建所述新版本的应用实例,则中心节点确定新增数;
中心节点将所述配置信息发送至所述处理节点,用以根据所述配置信息在独立于所述原容器组的新容器组中创建数量为所述新增数的、所述新版本的应用实例;
中心节点接收所述处理节点根据所述配置信息检测的、所述新版本的应用实例的状态信息;
中心节点根据所述状态信息配置所述新版本的应用实例提供服务;
中心节点在所述新版本的应用实例提供服务之后,通知所述处理节点关闭所述旧版本的应用实例。
2.根据权利要求1所述的方法,其特征在于,所述中心节点确定用于将处理节点中原容器组的应用实例从旧版本升级为新版本的配置信息,包括:
中心节点选定处理节点中原容器组的应用实例;
中心节点查询所述原容器组的应用实例对应的旧版本的配置信息;
中心节点当所述旧版本的配置信息被修改时,确定修改后的配置信息为新版本的配置信息;
其中,若对所述原容器组的应用实例进行第一类型的升级,则所述配置信息包括如下的至少一项:
节点调度信息、版本号、状态检查信息、监听端口、资源分配信息、服务配置文件、存储卷;
或者,若对所述原容器组的应用实例进行第二类型的升级,则所述配置信息包括如下的至少一项:
节点调度信息、版本号、状态检查信息、监听端口、资源分配信息、服务配置文件、存储卷、升级实例数、升级等待时间。
3.根据权利要求2所述的方法,其特征在于,所述中心节点查询所述原容器组的应用实例对应的旧版本的配置信息,包括:
中心节点在本地的缓存中查询所述原容器组的应用实例对应的旧版本的配置信息;
和/或,
中心节点从预置的存储节点查询所述原容器组的应用实例对应的旧版本的配置信息。
4.根据权利要求1或2或3所述的方法,其特征在于,还包括:
将所述原容器组的应用实例对应的新版本的配置信息存储至预置的存储节点中。
5.根据权利要求1或2或3所述的方法,其特征在于,所述中心节点根据所述状态信息配置所述新版本的应用实例提供服务,包括:
当所述状态信息为正常启动并可提供服务时,中心节点查询所述新版本的应用实例的访问地址;
中心节点将所述新版本的应用实例的访问地址发送至所述处理节点,用以将所述访问地址添加至预设的负载均衡列表中、按照均衡负载提供服务。
6.根据权利要求1或2或3所述的方法,其特征在于,所述中心节点在所述新版本的应用实例提供服务之后,通知所述处理节点关闭所述旧版本的应用实例,包括:
若对所述原容器组的应用实例进行第一类型的升级,或者,若对所述原容器组的应用实例进行第二类型的升级且至少第二次删除所述旧版本的应用实例,则中心节点在所述新版本的应用实例提供服务之后,确定数量在第一删除数范围内的旧版本的应用实例;
中心节点通知所述处理节点将所述旧版本的应用实例的访问地址从预设的负载均衡列表中移除,删除所述旧版本的应用实例;
或者,
若对所述原容器组的应用实例进行第二类型的升级且第一次删除所述旧版本的应用实例,则中心节点在所述新版本的应用实例提供服务之后,从所述配置信息中查询升级等待时间;
中心节点在超过所述升级等待时间时,确定数量在第二删除数范围内的旧版本的应用实例;
中心节点通知所述处理节点将所述旧版本的应用实例的访问地址从预设的负载均衡列表中移除,删除所述旧版本的应用实例。
7.根据权利要求1或2或3所述的方法,其特征在于,还包括:
中心节点判断是否完成新增数为预设的期望实例数的、所述新版本的应用实例、关闭所有所述旧版本的应用实例;
若是,则中心节点确定完成将所述旧版本的应用实例升级为所述新版本的应用实例;
若否,则返回执行所述中心节点将所述配置信息发送至处理节点,用以根据所述配置信息在独立于所述原容器组的新容器组中创建新版本的应用实例,和/或,返回执行所述中心节点在所述新版本的应用实例提供服务之后,通知所述处理节点关闭所述旧版本的应用实例。
8.一种应用实例的升级方法,其特征在于,包括:
中心节点确定用于将处理节点中原容器组的应用实例从旧版本升级为新版本的配置信息;
若对所述原容器组的应用实例进行第二类型的升级且第一次创建所述新版本的应用实例,则中心节点从所述配置信息中查询升级实例数;
中心节点将所述配置信息发送至所述处理节点,用以根据所述配置信息在独立于所述原容器组的新容器组中创建数量为所述升级实例数的、所述新版本的应用实例;
中心节点接收所述处理节点根据所述配置信息检测的、所述新版本的应用实例的状态信息;
中心节点根据所述状态信息配置所述新版本的应用实例提供服务;
中心节点在所述新版本的应用实例提供服务之后,通知所述处理节点关闭所述旧版本的应用实例。
9.一种应用实例的升级装置,其特征在于,应用在中心节点中,包括:
配置信息确定模块,用于确定用于将处理节点中原容器组的应用实例从旧版本升级为新版本的配置信息;
配置信息发送模块,用于若对所述原容器组的应用实例进行第一类型的升级,或者,若对所述原容器组的应用实例进行第二类型的升级且至少第二次创建所述新版本的应用实例,则确定新增数;将所述配置信息发送至所述处理节点,用以根据所述配置信息在独立于所述原容器组的新容器组中创建数量为所述新增数的、所述新版本的应用实例;
状态信息接收模块,用于接收所述处理节点根据所述配置信息检测的、所述新版本的应用实例的状态信息;
服务配置模块,用于根据所述状态信息配置所述新版本的应用实例提供服务;
实例关闭通知模块,用于在所述新版本的应用实例提供服务之后,通知所述处理节点关闭所述旧版本的应用实例。
10.一种应用实例的升级***,其特征在于,所述***包括中心节点、处理节点;所述中心节点包括配置信息确定模块、配置信息发送模块、服务配置模块、实例关闭通知模块,所述处理节点包括应用实例创建模块、状态信息检测模块、应用实例关闭模块;
配置信息确定模块,用于确定用于将处理节点中原容器组的应用实例从旧版本升级为新版本的配置信息;
配置信息发送模块,用于若对所述原容器组的应用实例进行第一类型的升级,或者,若对所述原容器组的应用实例进行第二类型的升级且至少第二次创建所述新版本的应用实例,则确定新增数;将所述配置信息发送至所述处理节点;
应用实例创建模块,用于根据所述配置信息在独立于所述原容器组的新容器组中创建数量为所述新增数的、所述新版本的应用实例;
状态信息检测模块,用于根据所述配置信息检测所述新版本的应用实例的状态信息,并发送至所述中心节点;
服务配置模块,用于根据所述状态信息配置所述新版本的应用实例提供服务;
实例关闭通知模块,用于在所述新版本的应用实例提供服务之后,通知所述处理节点关闭所述旧版本的应用实例;
应用实例关闭模块,用于根据所述中心节点的通知关闭所述旧版本的应用实例。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810211028.8A CN108683516B (zh) | 2018-03-14 | 2018-03-14 | 一种应用实例的升级方法、装置和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810211028.8A CN108683516B (zh) | 2018-03-14 | 2018-03-14 | 一种应用实例的升级方法、装置和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108683516A CN108683516A (zh) | 2018-10-19 |
CN108683516B true CN108683516B (zh) | 2021-09-10 |
Family
ID=63800090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810211028.8A Active CN108683516B (zh) | 2018-03-14 | 2018-03-14 | 一种应用实例的升级方法、装置和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108683516B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542677B (zh) * | 2018-11-05 | 2021-08-13 | 北京炎黄盈动科技发展有限责任公司 | 一种高可靠容器内应用介质升级方法、装置及存储介质 |
CN109408096A (zh) * | 2018-12-05 | 2019-03-01 | 国云科技股份有限公司 | 一种分布式应用热更新的方法 |
CN109725920B (zh) * | 2018-12-29 | 2022-05-06 | 咪咕文化科技有限公司 | 一种服务实例的更新方法、装置及存储介质 |
CN110262873B (zh) * | 2019-05-17 | 2023-07-28 | 平安科技(深圳)有限公司 | 容器应用的配置修改方法、装置、计算机设备及存储介质 |
CN110609698B (zh) * | 2019-08-08 | 2023-03-24 | 浙江中控技术股份有限公司 | 控制算法单元在线升级方法及装置 |
CN113050978B (zh) * | 2019-12-26 | 2024-03-19 | ***通信集团北京有限公司 | 应用的灰度发布控制方法、装置、设备及计算机存储介质 |
CN111258708A (zh) * | 2020-01-09 | 2020-06-09 | 山东汇贸电子口岸有限公司 | 一种实现容器应用可用性定时探测的方法 |
CN113190343A (zh) * | 2020-01-14 | 2021-07-30 | 阿里巴巴集团控股有限公司 | 应用实例的控制方法、装置、设备及*** |
CN111258609B (zh) * | 2020-01-19 | 2023-08-01 | 北京百度网讯科技有限公司 | Kubernetes集群的升级方法、装置、电子设备和介质 |
CN111309365A (zh) * | 2020-02-12 | 2020-06-19 | 北京字节跳动网络技术有限公司 | 一种响应访问请求的方法、装置及计算机可读存储介质 |
CN111552494B (zh) * | 2020-04-24 | 2021-05-11 | 星环信息科技(上海)股份有限公司 | 一种容器组的管理方法、设备、***及介质 |
US11290329B2 (en) * | 2020-04-30 | 2022-03-29 | Hewlett Packard Enterprise Development Lp | Configuring a network based on a centroid configuration of a group of network entities |
CN111679981B (zh) * | 2020-06-05 | 2023-08-29 | 广州探途网络技术有限公司 | 应用软件发布方法、***及电子设备 |
CN113778475B (zh) * | 2020-06-18 | 2024-07-16 | 北京京东振世信息技术有限公司 | 一种信息处理方法和装置 |
CN111857975A (zh) * | 2020-07-30 | 2020-10-30 | 杭州安恒信息技术股份有限公司 | 一种服务更新方法、装置、设备及介质 |
CN112130880B (zh) * | 2020-09-27 | 2022-12-02 | 深圳平安医疗健康科技服务有限公司 | 微服务的发布方法、装置、计算机设备及存储介质 |
CN112202929B (zh) * | 2020-12-01 | 2021-03-26 | 湖南新云网科技有限公司 | 一种微服务架构中的服务访问方法、装置、设备 |
CN112905210B (zh) * | 2021-03-24 | 2023-09-15 | 青岛聚看云科技有限公司 | 服务器及灰度发布方法 |
CN113590146B (zh) * | 2021-06-04 | 2023-10-27 | 聚好看科技股份有限公司 | 服务器及容器升级方法 |
CN113626054A (zh) * | 2021-08-16 | 2021-11-09 | 聚好看科技股份有限公司 | 一种业务服务更新方法及装置 |
CN114640586B (zh) * | 2022-05-19 | 2023-01-06 | 飞狐信息技术(天津)有限公司 | 集群的版本升级方法、装置、存储介质及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104410672A (zh) * | 2014-11-12 | 2015-03-11 | 华为技术有限公司 | 网络功能虚拟化应用升级的方法、转发业务的方法及装置 |
CN107515776A (zh) * | 2017-07-18 | 2017-12-26 | 深信服科技股份有限公司 | 业务不间断升级方法、待升级节点和可读存储介质 |
CN107770298A (zh) * | 2017-09-30 | 2018-03-06 | 华为技术有限公司 | 传输数据的方法和装置 |
CN109861837A (zh) * | 2017-11-30 | 2019-06-07 | 上海仪电(集团)有限公司中央研究院 | 一种基于容器技术的网关部署升级方法及装置 |
-
2018
- 2018-03-14 CN CN201810211028.8A patent/CN108683516B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104410672A (zh) * | 2014-11-12 | 2015-03-11 | 华为技术有限公司 | 网络功能虚拟化应用升级的方法、转发业务的方法及装置 |
CN107515776A (zh) * | 2017-07-18 | 2017-12-26 | 深信服科技股份有限公司 | 业务不间断升级方法、待升级节点和可读存储介质 |
CN107770298A (zh) * | 2017-09-30 | 2018-03-06 | 华为技术有限公司 | 传输数据的方法和装置 |
CN109861837A (zh) * | 2017-11-30 | 2019-06-07 | 上海仪电(集团)有限公司中央研究院 | 一种基于容器技术的网关部署升级方法及装置 |
Non-Patent Citations (1)
Title |
---|
"容器云平台网络资源配置管理***的设计";冯文超;《工业仪表与自动化装置》;20180215;第70-73页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108683516A (zh) | 2018-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108683516B (zh) | 一种应用实例的升级方法、装置和*** | |
US20180143854A1 (en) | Methods, systems and apparatus to perform a workflow in a software defined data center | |
US9253265B2 (en) | Hot pluggable extensions for access management system | |
CN107005426B (zh) | 一种虚拟网络功能的生命周期管理方法及装置 | |
CN107247793B (zh) | Docker镜像仓库的镜像同步方法和镜像同步*** | |
US8185624B2 (en) | Efficient on-demand provisioning of servers for specific software sets | |
US11556369B2 (en) | Virtual machine deployment method and OMM virtual machine | |
CN110888889A (zh) | 一种数据信息更新方法、装置及设备 | |
CN108111559B (zh) | 一种应用软件部署***及方法 | |
CN109344006A (zh) | 一种镜像管理方法及镜像管理模块 | |
CN111464603B (zh) | 一种服务器扩容方法及扩容*** | |
CN113312153B (zh) | 一种集群部署方法、装置、电子设备及存储介质 | |
CN106095483A (zh) | 服务的自动化部署方法及装置 | |
CN114443332A (zh) | 一种存储池的检测方法、装置、电子设备及存储介质 | |
CN104793981A (zh) | 一种虚拟机集群的在线快照管理方法及装置 | |
CN109002263B (zh) | 存储容量的调整方法及装置 | |
CN114130035A (zh) | 一种用户匹配方法、装置、设备及存储介质 | |
CN113783712A (zh) | 默认网关管理方法、网关管理器、服务器及存储介质 | |
CN106792843B (zh) | 一种设备管理方法及装置 | |
CN109101253B (zh) | 云计算***中主机的管理方法和装置 | |
CN113760446A (zh) | 资源调度方法、装置、设备及介质 | |
CN111124428A (zh) | 一种基于中创中间件的应用自动化发布方法和相关装置 | |
JP6568232B2 (ja) | 計算機システム、及び、装置の管理方法 | |
CN114257505B (zh) | 服务器节点配置方法、装置、设备及存储介质 | |
CN117389713B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |