CN115022317B - 基于云平台的应用管理方法、装置、电子设备及存储介质 - Google Patents

基于云平台的应用管理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN115022317B
CN115022317B CN202210594442.8A CN202210594442A CN115022317B CN 115022317 B CN115022317 B CN 115022317B CN 202210594442 A CN202210594442 A CN 202210594442A CN 115022317 B CN115022317 B CN 115022317B
Authority
CN
China
Prior art keywords
application
target
target application
cloud
cloud plane
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
Application number
CN202210594442.8A
Other languages
English (en)
Other versions
CN115022317A (zh
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.)
Asiainfo Technologies China Inc
Original Assignee
Asiainfo Technologies China Inc
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 Asiainfo Technologies China Inc filed Critical Asiainfo Technologies China Inc
Priority to CN202210594442.8A priority Critical patent/CN115022317B/zh
Publication of CN115022317A publication Critical patent/CN115022317A/zh
Application granted granted Critical
Publication of CN115022317B publication Critical patent/CN115022317B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例公开了一种基于云平台的应用管理方法、装置、电子设备及存储介质,可适用于云平台、云应用等领域。该方法包括:获取待部署的目标应用;确定满足目标应用的部署条件的至少一个候选云平面;对于每个候选云平面,若该候选云平面中存在满足部署目标应用的至少一个单元,则将该候选云平面确定为目标云平面;对于确定出的每个目标云平面,在目标云平面满足部署目标应用的至少一个单元中部署目标应用。采用本申请实施例,实现了对云应用进行跨平面、跨集群的管理。

Description

基于云平台的应用管理方法、装置、电子设备及存储介质
技术领域
本申请涉及云平台、云应用等领域,尤其涉及一种基于云平台的应用管理方法、装置、电子设备及存储介质。
背景技术
对于互联网企业,成本压力和指数级的业务增长压力使他们关注于物理资源的利用率和应用的可扩展性。随着云计算技术的兴起,一定程度上解决了互联网企业的压力其中,平台即服务(platform as a service,简称PaaS)是一种云计算产品,服务提供商可以在其中为客户提供平台,从而使他们能够开发,运行和管理业务应用程序,而无需构建和维护此类软件的基础架构。
PaaS可以通过公共云,私有云或混合云交付。使用公共云PaaS,客户可以控制软件的部署,而云提供商则可以提供托管应用程序所需的所有主要互联技术(InternetTechnology,简称IT)组件,包括服务器,存储***,网络,操作***和数据库。PaaS平台一般基于能够保障部署其之上的应用高可用。
目前,对于部署于PaaS平台的应用,由于这些应用部署于PaaS平台上的多个平面,需要对各个平面进行分别管理,存在管理不便的问题。
发明内容
本申请实施例提供一种基于云平台的应用管理方法、装置、电子设备及存储介质,采用本申请实施例,实现了对云应用进行跨平面、跨集群的部署,进而实现了对云应用的跨平面、跨集群管理。
第一方面,本申请实施例提供一种基于云平台的应用管理方法,该方法包括:
获取待部署的目标应用;
确定满足上述目标应用的部署条件的至少一个候选云平面;
对于每个上述候选云平面,若该候选云平面中存在满足部署上述目标应用的至少一个单元,则将该候选云平面确定为目标云平面;
对于确定出的每个上述目标云平面,在上述目标云平面满足部署上述目标应用的至少一个单元中部署上述目标应用。
第二方面,本申请实施例提供了一种基于云平台的应用管理装置,该基于云平台的应用管理装置包括:
第一获取模块,用于获取待部署的目标应用;
第一确定模块,用于确定满足上述目标应用的部署条件的至少一个候选云平面;
第二确定模块,用于对于每个上述候选云平面,若该候选云平面中存在满足部署上述目标应用的至少一个单元,则将该候选云平面确定为目标云平面;
第一处理模块,用于对于确定出的每个上述目标云平面,在上述目标云平面满足部署上述目标应用的至少一个单元中部署上述目标应用。
在一些可行的实施方式中,上述装置还包括:
第二获取模块,用于对于每个上述目标云平面,获取该目标云平面中部署了上述目标应用的各单元内上述目标应用的运行状态;
第一发送模块,用于基于上述目标应用的运行状态,向应用控制器发送提示信息,其中,上述应用控制器用于管理上述目标应用。
在一些可行的实施方式中,上述装置还包括:
第二发送模块,用于在上述应用控制器接收到上述提示信息后,上述应用控制器根据上述提示信息向应用负载均衡器发送指示信息,以使上述应用负载均衡器根据上述指示信息控制流入上述目标应用的负载流量。
在一些可行的实施方式中,上述第二发送模块,包括:
第一发送单元,用于若上述提示信息指示上述目标应用的运行状态正常,则上述应用控制器根据上述提示信息向上述应用负载均衡器发送上述目标应用运行正常的第一指示信息,上述应用负载均衡器响应于上述第一指示信息控制负载流量正常导入该目标应用;
第二发送单元,用于若上述提示信息指示上述目标应用的运行状态异常,则上述应用控制器根据上述提示信息向上述应用负载均衡器发送上述目标应用运行异常的第二指示信息,上述应用负载均衡器响应于上述第二指示信息控制负载流量停止导入该目标应用。
在一些可行的实施方式中,上述装置还包括:
第二处理模块,用于对部署于各上述目标云平面各自对应的单元内的上述目标应用进行灰度升级,直至全部的单元内的上述目标应用升级完成。
在一些可行的实施方式中,上述第二处理模块,具体用于:
重复执行以下操作,直至全部的单元内的上述目标应用升级完成:
选择任意一个上述目标云平面,选择该目标云平面中部署了上述目标应用的任意一个单元,其中,所选择的该目标平面作为当前云平面,所选择的该目标云平面内的任意一个单元作为当前单元;
通过应用负载均衡器控制负载流量停止导入部署于上述当前单元内的上述目标应用,其中,上述应用负载均衡器用于控制流入上述目标应用的负载流量;
对上述当前单元内的上述目标应用进行升级;
通过应用负载均衡器控制负载流量恢复导入部署于上述当前单元内的上述目标应用;
确定上述当前单元内的升级后上述目标应用的运行状态;
若升级后上述目标应用的运行状态正常,则选择上述当前云平面中除上述当前单元之外、且部署了上述目标应用的任意一个单元,执行上述目标应用的升级任务,直至上述当前云平面内的部署了上述目标应用的全部单元都执行完升级任务,则选择除已经升级过的目标云平面之外的任意一个目标云平面作为新的当前云平面执行上述目标应用的升级任务。
第三方面,本申请实施例提供了一种电子设备,包括处理器和存储器,该处理器和存储器相互连接;
上述存储器用于存储计算机程序;
上述处理器被配置用于在调用上述计算机程序时,执行上述第一方面所提供的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行以实现上述第一方面所提供的方法。
第五方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面所提供的方法。
在本申请实施例中,在云平台中,获取待部署的目标应用,通过设定的部署条件筛选出符合部署目标应用的至少一个候选云平面,对于每个候选云平面,如果该候选云平面中存在满足部署目标应用的至少一个单元,则将该候选云平面确定为目标云平面,对于确定出的每个目标云平面,在目标云平面满足部署目标应用的至少一个单元中部署该目标应用。采用上述方式,在云平台部署目标应用时,可以在至少一个目标云平面中部署该目标应用,实现了对目标应用的跨平面部署,进而可以实现对目标应用的跨平面管理,由于该目标应用部署于至少一个目标云平面各自对应的单元中,一个单元对应一个集群,实现了对目标应用的跨集群部署,进而可以实现对目标应用的跨集群管理。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的基于云平台的应用管理方法的流程示意图;
图2是本申请实施例提供的一种云平台的***架构图;
图3是本申请实施例提供的一种目标应用的部署和自动化运维的流程示意图;
图4是本申请实施例提供的一种目标应用的灰度升级的流程示意图;
图5是本申请实施例提供的基于云平台的应用管理装置的结构示意图;
图6是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,图1是本申请实施例提供的基于云平台的应用管理方法的流程示意图。如图1所示,本申请实施例提供的基于云平台的应用管理方法主要应用于云平台,可以包括如下步骤:
步骤S101、获取待部署的目标应用;
步骤S102、确定满足上述目标应用的部署条件的至少一个候选云平面;
步骤S103、对于每个上述候选云平面,若该候选云平面中存在满足部署上述目标应用的至少一个单元,则将该候选云平面确定为目标云平面;
步骤S104、对于确定出的每个上述目标云平面,在上述目标云平面满足部署上述目标应用的至少一个单元中部署上述目标应用。
可选的,本申请实施例中的云平台可以为PaaS平台,PaaS能将现有各种业务能力进行整合,具体可以归类为应用服务器、业务能力接入、业务引擎、业务开放平台。PaaS主要具备以下三个特点:(1)平台即服务:PaaS所提供的服务与其他的服务最根本的区别是PaaS提供的是一个基础平台,而不是某种应用,是由专门的平台服务提供商搭建和运营该基础平台,并将该平台以服务的方式提供给应用***运营商;(2)平台及服务:PaaS运营商所需提供的服务,不仅仅是单纯的基础平台,而且包括针对该平台的技术支持服务,甚至针对该平台而进行的应用***开发、优化等服务。(3)平台级服务:PaaS运营商对外提供的服务不同于其他的服务,这种服务的背后是强大而稳定的基础运营平台,以及专业的技术支持队伍。这种“平台级”服务能够保证支撑SaaS或其他软件服务提供商各种应用***长时间、稳定的运行。PaaS的实质是将互联网的资源服务化为可编程接口,为第三方开发者提供有商业价值的资源和服务平台。有了PaaS平台的支撑,云计算的开发者就获得了大量的可编程元素,这些可编程元素有具体的业务逻辑,这就为开发带来了极大的方便,不但提高了开发效率,还节约了开发成本。
参见图2,图2是本申请实施例提供的一种云平台的***架构图,如图2所示,该云平台包括应用负载均衡器(用于控制平台中的应用的负载流量的流入与流出)、应用控制器(用于管理云平台中的应用)、多个平面(如图中所示的平面A、平面B),本申请实施例中对于云平台所包括的平面不作任何限定,其中,每个平面可以包括至少一个单元,如图2所示,平面A包括单元A,平面B包括单元B和单元C,单元B、单元A、单元B和单元C各对应于一个Kubernetes集群,每个Kubernetes集群中包括多个应用Pod。
其中,Kubernetes,简称K8s,是用8代替8个字符“ubernete”而成的缩写,是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署,规划,更新,维护的一种机制。
PaaS平台的平面,属于PaaS层面的可用区(Availability Zone,简称AZ),用于区分应用部署的故障域,可以和可用区AZ一一对应,也可以划分逻辑“AZ”。可用区AZ是指在同一地域内,电力和网络互相独立的物理区域。在同一地域内可用区与可用区之间内网互通,可用区之间能做到故障隔离。
PaaS平台中的单元(Cell),如图中所示的单元A、单元B、单元C,属于微服务容器应用部署的一个作用域,网络互通。同一平面内可构建多个单元,也可以构建一个单元。简单来说,一个Kubernetes集群就是一个独立的单元。
Pod是k8s***中的最小部署单元。Pod是由一个或多个容器组成。每个容器都是相互隔离的、保证安全的平台。其中,容器,就是一种轻量级的虚拟化技术,目的和虚拟机一样,都是为了创造“隔离环境”,可以把容器看做是一个轻量级的操作***的运行环境。每个容器都是相互隔离的、保证安全的平台。
可选的,获取待部署至该云平台的目标应用,该目标应用可以基于实际需求确定,可以是任何类型的应用,如可以是视频类应用、即时通讯类应用、购物类应用、游戏类应用等,本申请实施例中对于该目标应用具体是什么类型的应用不作任何限定。
然后,基于部署该目标应用的部署条件,在该云平台的多个云平面中进行筛选,确定出满足该部署条件的至少一个候选云平面,其中,部署条件可以是云平面是否可用,可用的标准可以是该云平面中是否存在部署该目标应用的空闲资源。
然后,对于确定出的每个候选云平面,还需要进一步确定该候选云平面是否存在可用的至少一个单元来部署该目标应用,若存在,则可以将该候选云平面作为一个目标云平面,其中,对于候选云平面中是否存在可用的单元的标准,可以是该候选云平面中的单元是否存在可以利用的容器。
通过上述步骤可以确定出满足部署该目标应用的目标云平面,对于每个目标云平面,可以在该目标云平面中选择能够部署该目标应用的至少一个单元中部署该目标应用。也就是说,该目标应用被部署在了各目标云平面各自对应的单元中,实现了目标应用的高可用。
通过本申请实施例,在云平台部署目标应用时,可以在至少一个目标云平面中部署该目标应用,实现了对目标应用的跨平面部署,进而可以实现对目标应用的跨平面管理,由于该目标应用部署于至少一个目标云平面各自对应的单元中,一个单元对应一个集群,实现了对目标应用的跨集群部署,进而可以实现对目标应用的跨集群管理。
在一种可选的实施例中,在上述目标云平面的至少一个候选单元中部署上述目标应用之后,上述方法还包括:
对于每个上述目标云平面,获取该目标云平面中部署了上述目标应用的各单元内上述目标应用的运行状态;
基于上述目标应用的运行状态,向应用控制器发送提示信息,其中,上述应用控制器用于管理上述目标应用。
可选的,在部署了该目标应用之后,可以对该目标应用进行相应的管理,如可以对该目标应用进行自动化运维,其中,自动化运维就是把周期性、重复性、规律性的工作都交给工具去做,具体来说有应用***维护自动化,巡检自动化和故障处理自动化这三个方面。
可选的,在对该目标应用进行自动化运维时,可以对各目标云平面逐一进行,假设有3个目标云平面,如目标云平面1、目标云平面2、目标云平面3,可以任选一个目标云平面,若选择的是目标云平面1,则可以先从目标云平面1开始对部署于该目标云平面1的目标应用进行自动化运维。假设该目标云平面1的单元1、单元2内部署了该目标应用,可以任选一个单元开始进行该目标应用的自动化运维,假设选择的是单元1,可以获取运行于该单元1内的目标应用的运行状态,基于该目标应用的运行状态,判断该目标应用的运行情况是否健康,基于该目标应用的运行情况,向应用控制器发送提示信息。然后切换至该目标云平面1的除了单元1之外的其他任何一个单元,即单元2,同理,获取目标云平面1的单元2内的目标应用的运行状态,基于该目标应用的运行状态,判断该目标应用的运行情况是否健康,基于该目标应用的运行情况,向应用控制器发送提示信息。此时,该目标云平面1内部署了目标应用的全部单元已完成对目标应用的自动化运维,可以切换至除了该目标云平面1之外的其他任意一个目标云平面进行目标应用的自动化运维。对于目标云平面2、目标云平面3内目标应用的自动化运维,可参考目标云平面1的自动化运维方式,本申请实施例在此不再详述。
在一种可选的实施例中,在上述基于上述目标应用的运行状态,向应用控制器发送提示信息之后,上述方法还包括:
在上述应用控制器接收到上述提示信息后,上述应用控制器根据上述提示信息向应用负载均衡器发送指示信息,以使上述应用负载均衡器根据上述指示信息控制流入上述目标应用的负载流量。
可选的,按照上述步骤,当应用控制器接收到提示信息后,该应用控制器可以基于接收到的提示信息,做出进一步的指示,向应用负载均衡器发送指示信息,应用负载均衡器接收该指示信息后,可以基于该指示信息对流入目标应用的负载流量进行控制。
其中,本申请实施例中对于应用负载均衡器具体是什么类型的负载均衡器不作限定,可以根据实际需求选择合适的负载均衡器。
在一种可选的实施例中,在上述应用控制器接收到上述提示信息后,上述应用控制器根据上述提示信息向应用负载均衡器发送指示信息,以使上述应用负载均衡器根据上述指示信息控制流入上述目标应用的负载流量,包括:
若上述提示信息指示上述目标应用的运行状态正常,则上述应用控制器根据上述提示信息向上述应用负载均衡器发送上述目标应用运行正常的第一指示信息,上述应用负载均衡器响应于上述第一指示信息控制负载流量正常导入该目标应用;
若上述提示信息指示上述目标应用的运行状态异常,则上述应用控制器根据上述提示信息向上述应用负载均衡器发送上述目标应用运行异常的第二指示信息,上述应用负载均衡器响应于上述第二指示信息控制负载流量停止导入该目标应用。
可选的,以上述目标云平面1中的单元1为例,基于该单元1内目标应用的运行状态,向应用控制器发送提示信息,如果该提示信息指示该目标应用的处于正常的运行状态,则该应用控制器可以基于该运行状态正常的提示信息,向应用负载均衡器发送该目标应用运行正常的第一指示信息,当应用负载均衡器接收到该第一指示信息后,响应于该第一指示信息,控制负载流量正常的导入该目标应用,也就是说,若目标应用运行正常,则按照正常的负载流量导入该目标应用。
如果该提示信息指示该目标应用的处于异常的运行状态,则该应用控制器可以基于该运行状态异常的提示信息,向应用负载均衡器发送该目标应用运行异常的第二指示信息,当应用负载均衡器接收到该第二指示信息后,响应于该第二指示信息,控制负载流量停止导入该目标应用,也就是说,若目标应用运行异常,则需要停止负载流量导入该目标应用。
通过本申请实施例,在上述对目标应用进行自动化运维的整个过程中,当处理完一个平面的一个单元时,可以切换至下同平面的下一个单元进行处理,实现了对目标应用的跨集群管理,当处理完一个平面的所有单元时,可以切换至下一个平面进行处理,实现了对目标应用的跨平面管理。
在一种可选的实施例中,在上述目标云平面的至少一个候选单元中部署上述目标应之后,上述方法还包括:
对部署于各上述目标云平面各自对应的单元内的上述目标应用进行灰度升级,直至全部的单元内的上述目标应用升级完成。
可选的,实际应用中,目标应用会进行更新升级,在对该目标应用进行升级时,可以选择灰度升级的方式进行,直至部署了该目标应用的全部单元内的目标应用均升级完成。其中,灰度升级即局部升级,灰度升级是一种升级时候的平滑切换,当有些单元内的目标应用要进行升级,只对其中一个目标应用升级并测试,确保程序无误后再全局升级,也就是说所有单元不同步更新升级。例如,只是对某个省份的该目标应用进行更新升级,升级完成后.再升级其他地区的目标应用。
在一种可选的实施例中,上述对部署于各上述目标云平面各自对应的单元内的上述目标应用进行灰度升级,直至全部的单元内的上述目标应用升级完成,包括:
重复执行以下操作,直至全部的单元内的上述目标应用升级完成:
选择任意一个上述目标云平面,选择该目标云平面中部署了上述目标应用的任意一个单元,其中,所选择的该目标平面作为当前云平面,所选择的该目标云平面内的任意一个单元作为当前单元;
通过应用负载均衡器控制负载流量停止导入部署于上述当前单元内的上述目标应用,其中,上述应用负载均衡器用于控制流入上述目标应用的负载流量;
对上述当前单元内的上述目标应用进行升级;
通过应用负载均衡器控制负载流量恢复导入部署于上述当前单元内的上述目标应用;
确定上述当前单元内的升级后上述目标应用的运行状态;
若升级后上述目标应用的运行状态正常,则选择上述当前云平面中除上述当前单元之外、且部署了上述目标应用的任意一个单元,执行上述目标应用的升级任务,直至上述当前云平面内的部署了上述目标应用的全部单元都执行完升级任务,则选择除已经升级过的目标云平面之外的任意一个目标云平面作为新的当前云平面执行上述目标应用的升级任务。
可选的,开始跨平面跨集群的目标应用的灰度升级。任意选择一个未升级的目标云平面,选择该目标云平面中部署了该目标应用、且该目标应用未升级的单元,其中,为方便描述,将选择的目标云平面视为当前云平面,将选择的该目标云平面中未升级的单元视为当前单元。
由于该当前单元处于升级中,故需要通过应用负载均衡器控制负载流量停止导入该当前单元要升级的目标应用。
当该当前云平面下的当前单元内的目标应用升级完成后,需要验证该当前云平面下该当前单元内的目标应用运行情况是否处于健康状态,可以通过获取该目标应用的运行状态,来确定该目标应用运行是否健康,若目标应用的运行状态指示该目标应用运行健康,则可以切换至该当前云平面中除了该当前单元之外、且部署了目标应用的任意一个未升级的单元,进行目标应用的升级任务。若目标应用的运行状态指示该目标应用处于运行异常状态,则需要对该目标应用进行重新升级。
对于该当前云平面,当该当前云平面部署了目标应用的全部单元下的目标应用都升级完成后,通过应用控制器切换至除了该当前云平面的其他任意一个未升级的目标云平面,作为新的目标云平面,进行新一轮的目标应用的升级任务。
通过本申请实施例,在对目标应用进行灰度升级时,可以在一个云平面升级完成后,切换至下一个云平面进行目标应用的升级,实现了对目标应用的跨平面升级,对于任意一个目标云平面,可以在该目标云平面的任意一个单元升级完成后切换至下一个单元进行目标应用的升级,实现了对目标应用的跨集群升级。
以下结合一示例对目标应用的部署和自动化运维进行详细说明。
如图3所示,图3是本申请实施例提供的一种目标应用的部署和自动化运维的流程示意图,详细步骤如下:
Step1,开始创建跨平面跨集群的目标应用;
Step2,输入目标应用名称;
Step3,判断是否有可用的云平面,如果有则继续下一步,如果没有则表示目标应用创建失败;
Step4,选择应用要部署的云平面,可选多个云平面(该云平面即为上述候选云平面);
Step5,判断云平面下是否有可用的单元,如果有则继续下一步,如果没有则表示目标应用创建失败;
Step6,选择目标应用要部署的云平面(该云平面即为上述目标云平面)下的单元,可选多个单元;
Step7,部署目标应用;
Step8,开始目标应用的自动化运维;
Step9,定时任务检查目标云平面下单元内的目标应用是否健康,如果是则跳转到Step8,如果不是则继续下一步;
Step10,目标应用切换到同云平面下的其他单元,如果成功则跳转到Step8,如果失败则继续下一步;
Step11,目标应用切换到其他目标云平面,如果成功则跳转到Step8,如果失败则继续下一步;
Step12,目标应用异常结束告警。
以下结合一示例对目标应用的灰度升级进行详细说明。
如图4所示,图4是本申请实施例提供的一种目标应用的灰度升级的流程示意图,详细步骤如下:
Step1,开始跨平面跨集群的目标应用的灰度升级;
Step2,选择一个未升级的目标云平面;
Step3,选择一个目标云平面下目标应用所在未升级的单元;
Step4,通过应用负载均衡器停止将负载流量导入到该目标云平面下该单元要升级的目标应用;
Step5,升级该目标云平面下该单元的目标应用;
Step6,通过应用负载均衡器恢复将负载流量导入到该目标云平面下该单元要升级的目标应用;
Step7,验证该目标云平面下该单元升级后的目标应用是否健康,若该平目标云平面下该单元升级后的目标应用健康,则跳转至step8。若该目标云平面下该单元升级后的目标应用不健康,则重新升级该目标云平面下该单元的目标应用。
Step8,判断目标应用所在所有目标云平面和单元下的目标应用是否都已升级完成,如果否则跳转到Step2,如果是则继续下一步;
Step9,跨平面跨集群的目标应用灰度升级完成。
参见图5,图5是本申请实施例提供的基于云平台的应用管理装置的结构示意图。本申请实施例提供的基于云平台的应用管理装置1包括:
第一获取模块11,用于获取待部署的目标应用;
第一确定模块12,用于确定满足上述目标应用的部署条件的至少一个候选云平面;
第二确定模块13,用于对于每个上述候选云平面,若该候选云平面中存在满足部署上述目标应用的至少一个单元,则将该候选云平面确定为目标云平面;
第一处理模块14,用于对于确定出的每个上述目标云平面,在上述目标云平面满足部署上述目标应用的至少一个单元中部署上述目标应用。
在一些可行的实施方式中,上述装置还包括:
第二获取模块,用于对于每个上述目标云平面,获取该目标云平面中部署了上述目标应用的各单元内上述目标应用的运行状态;
第一发送模块,用于基于上述目标应用的运行状态,向应用控制器发送提示信息,其中,上述应用控制器用于管理上述目标应用。
在一些可行的实施方式中,上述装置还包括:
第二发送模块,用于在上述应用控制器接收到上述提示信息后,上述应用控制器根据上述提示信息向应用负载均衡器发送指示信息,以使上述应用负载均衡器根据上述指示信息控制流入上述目标应用的负载流量。
在一些可行的实施方式中,上述第二发送模块,包括:
第一发送单元,用于若上述提示信息指示上述目标应用的运行状态正常,则上述应用控制器根据上述提示信息向上述应用负载均衡器发送上述目标应用运行正常的第一指示信息,上述应用负载均衡器响应于上述第一指示信息控制负载流量正常导入该目标应用;
第二发送单元,用于若上述提示信息指示上述目标应用的运行状态异常,则上述应用控制器根据上述提示信息向上述应用负载均衡器发送上述目标应用运行异常的第二指示信息,上述应用负载均衡器响应于上述第二指示信息控制负载流量停止导入该目标应用。
在一些可行的实施方式中,上述装置还包括:
第二处理模块,用于对部署于各上述目标云平面各自对应的单元内的上述目标应用进行灰度升级,直至全部的单元内的上述目标应用升级完成。
在一些可行的实施方式中,上述第二处理模块,具体用于:
重复执行以下操作,直至全部的单元内的上述目标应用升级完成:
选择任意一个上述目标云平面,选择该目标云平面中部署了上述目标应用的任意一个单元,其中,所选择的该目标平面作为当前云平面,所选择的该目标云平面内的任意一个单元作为当前单元;
通过应用负载均衡器控制负载流量停止导入部署于上述当前单元内的上述目标应用,其中,上述应用负载均衡器用于控制流入上述目标应用的负载流量;
对上述当前单元内的上述目标应用进行升级;
通过应用负载均衡器控制负载流量恢复导入部署于上述当前单元内的上述目标应用;
确定上述当前单元内的升级后上述目标应用的运行状态;
若升级后上述目标应用的运行状态正常,则选择上述当前云平面中除上述当前单元之外、且部署了上述目标应用的任意一个单元,执行上述目标应用的升级任务,直至上述当前云平面内的部署了上述目标应用的全部单元都执行完升级任务,则选择除已经升级过的目标云平面之外的任意一个目标云平面作为新的当前云平面执行上述目标应用的升级任务。
在本申请实施例中,在云平台中,获取待部署的目标应用,通过设定的部署条件筛选出符合部署目标应用的至少一个候选云平面,对于每个候选云平面,如果该候选云平面中存在满足部署目标应用的至少一个单元,则将该候选云平面确定为目标云平面,对于确定出的每个目标云平面,在目标云平面满足部署目标应用的至少一个单元中部署该目标应用。采用上述方式,在云平台部署目标应用时,可以在至少一个目标云平面中部署该目标应用,实现了对目标应用的跨平面部署,进而可以实现对目标应用的跨平面管理,由于该目标应用部署于至少一个目标云平面各自对应的单元中,一个单元对应一个集群,实现了对目标应用的跨集群部署,进而可以实现对目标应用的跨集群管理。
具体实现中,上述基于云平台的应用管理装置1可通过其内置的各个功能模块执行如上述图1中各个步骤所提供的实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
参见图6,图6是本申请实施例提供的电子设备的结构示意图。如图6所示,本实施例中的电子设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述电子设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1004可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图6所示,作为一种计算机可读存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及设备控制应用程序。
在图6所示的电子设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序。
应当理解,在一些可行的实施方式中,上述处理器1001可以是中央处理单元(central processing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integratedcircuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。该存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
具体实现中,上述电子设备1000可通过其内置的各个功能模块执行如上述图1中各个步骤所提供的实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,被处理器执行以实现图1中各个步骤所提供的方法,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
上述计算机可读存储介质可以是前述任一实施例提供的任务处理装置的内部存储单元,例如电子设备的硬盘或内存。该计算机可读存储介质也可以是该电子设备的外部存储设备,例如该电子设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。上述计算机可读存储介质还可以包括磁碟、光盘、只读存储记忆体(read-only memory,ROM)或随机存储记忆体(randomaccess memory,RAM)等。进一步地,该计算机可读存储介质还可以既包括该电子设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该电子设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图1中各个步骤所提供的方法。
本申请的权利要求书和说明书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或电子设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或电子设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所揭露的仅为本申请较佳实施例而已,不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (8)

1.一种基于云平台的应用管理方法,其特征在于,应用于云平台,所述方法包括:
获取待部署的目标应用;
确定满足所述目标应用的部署条件的至少一个候选云平面;
对于每个所述候选云平面,若该候选云平面中存在满足部署所述目标应用的至少一个单元,则将该候选云平面确定为目标云平面;
对于确定出的每个所述目标云平面,在所述目标云平面满足部署所述目标应用的至少一个单元中部署所述目标应用;
通过重复执行以下操作,对部署于各所述目标云平面各自对应的单元内的所述目标应用进行灰度升级,直至全部的单元内的所述目标应用升级完成:
选择任意一个所述目标云平面,选择该目标云平面中部署了所述目标应用的任意一个单元,其中,所选择的该目标云平面作为当前云平面,所选择的该目标云平面内的任意一个单元作为当前单元;
通过应用负载均衡器控制负载流量停止导入部署于所述当前单元内的所述目标应用,其中,所述应用负载均衡器用于控制流入所述目标应用的负载流量;
对所述当前单元内的所述目标应用进行升级;
通过应用负载均衡器控制负载流量恢复导入部署于所述当前单元内的所述目标应用;
确定所述当前单元内的升级后所述目标应用的运行状态;
若升级后所述目标应用的运行状态正常,则选择所述当前云平面中除所述当前单元之外、且部署了所述目标应用的任意一个单元,执行所述目标应用的升级任务,直至所述当前云平面内的部署了所述目标应用的全部单元都执行完升级任务,则选择除已经升级过的目标云平面之外的任意一个目标云平面作为新的当前云平面执行所述目标应用的升级任务。
2.根据权利要求1所述的方法,其特征在于,在所述目标云平面的至少一个候选单元中部署所述目标应用之后,所述方法还包括:
对于每个所述目标云平面,获取该目标云平面中部署了所述目标应用的各单元内所述目标应用的运行状态;
基于所述目标应用的运行状态,向应用控制器发送提示信息,其中,所述应用控制器用于管理所述目标应用。
3.根据权利要求2所述的方法,其特征在于,在所述基于所述目标应用的运行状态,向应用控制器发送提示信息之后,所述方法还包括:
在所述应用控制器接收到所述提示信息后,所述应用控制器根据所述提示信息向应用负载均衡器发送指示信息,以使所述应用负载均衡器根据所述指示信息控制流入所述目标应用的负载流量。
4.根据权利要求3所述的方法,其特征在于,在所述应用控制器接收到所述提示信息后,所述应用控制器根据所述提示信息向应用负载均衡器发送指示信息,以使所述应用负载均衡器根据所述指示信息控制流入所述目标应用的负载流量,包括:
若所述提示信息指示所述目标应用的运行状态正常,则所述应用控制器根据所述提示信息向所述应用负载均衡器发送所述目标应用运行正常的第一指示信息,所述应用负载均衡器响应于所述第一指示信息控制负载流量正常导入该目标应用;
若所述提示信息指示所述目标应用的运行状态异常,则所述应用控制器根据所述提示信息向所述应用负载均衡器发送所述目标应用运行异常的第二指示信息,所述应用负载均衡器响应于所述第二指示信息控制负载流量停止导入该目标应用。
5.一种基于云平台的应用管理装置,其特征在于,所述装置包括:
第一获取模块,用于获取待部署的目标应用;
第一确定模块,用于确定满足所述目标应用的部署条件的至少一个候选云平面;
第二确定模块,用于对于每个所述候选云平面,若该候选云平面中存在满足部署所述目标应用的至少一个单元,则将该候选云平面确定为目标云平面;
第一处理模块,用于对于确定出的每个所述目标云平面,在所述目标云平面满足部署所述目标应用的至少一个单元中部署所述目标应用;
第二处理模块,用于通过重复执行以下操作,对部署于各所述目标云平面各自对应的单元内的所述目标应用进行灰度升级,直至全部的单元内的所述目标应用升级完成:
选择任意一个所述目标云平面,选择该目标云平面中部署了所述目标应用的任意一个单元,其中,所选择的该目标云平面作为当前云平面,所选择的该目标云平面内的任意一个单元作为当前单元;
通过应用负载均衡器控制负载流量停止导入部署于所述当前单元内的所述目标应用,其中,所述应用负载均衡器用于控制流入所述目标应用的负载流量;
对所述当前单元内的所述目标应用进行升级;
通过应用负载均衡器控制负载流量恢复导入部署于所述当前单元内的所述目标应用;
确定所述当前单元内的升级后所述目标应用的运行状态;
若升级后所述目标应用的运行状态正常,则选择所述当前云平面中除所述当前单元之外、且部署了所述目标应用的任意一个单元,执行所述目标应用的升级任务,直至所述当前云平面内的部署了所述目标应用的全部单元都执行完升级任务,则选择除已经升级过的目标云平面之外的任意一个目标云平面作为新的当前云平面执行所述目标应用的升级任务。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于对于每个所述目标云平面,获取该目标云平面中部署了所述目标应用的各单元内所述目标应用的运行状态;
第一发送模块,用于基于所述目标应用的运行状态,向应用控制器发送提示信息,其中,所述应用控制器用于管理所述目标应用。
7.一种电子设备,其特征在于,包括处理器和存储器,所述处理器和存储器相互连接;
所述存储器用于存储计算机程序;
所述处理器被配置用于在调用所述计算机程序时,执行如权利要求1至4任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1至4任一项所述的方法。
CN202210594442.8A 2022-05-27 2022-05-27 基于云平台的应用管理方法、装置、电子设备及存储介质 Active CN115022317B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210594442.8A CN115022317B (zh) 2022-05-27 2022-05-27 基于云平台的应用管理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210594442.8A CN115022317B (zh) 2022-05-27 2022-05-27 基于云平台的应用管理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN115022317A CN115022317A (zh) 2022-09-06
CN115022317B true CN115022317B (zh) 2024-03-08

Family

ID=83070104

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210594442.8A Active CN115022317B (zh) 2022-05-27 2022-05-27 基于云平台的应用管理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115022317B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3128418A1 (en) * 2015-08-03 2017-02-08 Wipro Limited System and method for provisioning and deployment of application environment on hybrid cloud platform
CN109032760A (zh) * 2018-08-01 2018-12-18 北京百度网讯科技有限公司 用于部署应用的方法和装置
CN109343963A (zh) * 2018-10-30 2019-02-15 杭州数梦工场科技有限公司 一种容器集群的应用访问方法、装置及相关设备
CN110830546A (zh) * 2019-09-20 2020-02-21 平安科技(深圳)有限公司 基于容器云平台的可用域建设方法、装置、设备
CN112130880A (zh) * 2020-09-27 2020-12-25 平安医疗健康管理股份有限公司 微服务的发布方法、装置、计算机设备及存储介质
CN113296798A (zh) * 2021-05-31 2021-08-24 腾讯科技(深圳)有限公司 一种服务部署方法、装置及可读存储介质
CN113301078A (zh) * 2020-05-22 2021-08-24 阿里巴巴集团控股有限公司 网络***、服务部署与网络划分方法、设备及存储介质
CN113778491A (zh) * 2021-09-16 2021-12-10 山东亿云信息技术有限公司 一种容器化应用灰度升级方法、***、存储介质及设备
CN114185558A (zh) * 2021-12-16 2022-03-15 华云数据控股集团有限公司 基于K8s的原生应用选主方法、装置及存储介质
CN114281376A (zh) * 2021-12-09 2022-04-05 上海卓悠网络科技有限公司 一种基于服务的热升级方法及设备

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3128418A1 (en) * 2015-08-03 2017-02-08 Wipro Limited System and method for provisioning and deployment of application environment on hybrid cloud platform
CN109032760A (zh) * 2018-08-01 2018-12-18 北京百度网讯科技有限公司 用于部署应用的方法和装置
CN109343963A (zh) * 2018-10-30 2019-02-15 杭州数梦工场科技有限公司 一种容器集群的应用访问方法、装置及相关设备
CN110830546A (zh) * 2019-09-20 2020-02-21 平安科技(深圳)有限公司 基于容器云平台的可用域建设方法、装置、设备
CN113301078A (zh) * 2020-05-22 2021-08-24 阿里巴巴集团控股有限公司 网络***、服务部署与网络划分方法、设备及存储介质
CN112130880A (zh) * 2020-09-27 2020-12-25 平安医疗健康管理股份有限公司 微服务的发布方法、装置、计算机设备及存储介质
CN113296798A (zh) * 2021-05-31 2021-08-24 腾讯科技(深圳)有限公司 一种服务部署方法、装置及可读存储介质
CN113778491A (zh) * 2021-09-16 2021-12-10 山东亿云信息技术有限公司 一种容器化应用灰度升级方法、***、存储介质及设备
CN114281376A (zh) * 2021-12-09 2022-04-05 上海卓悠网络科技有限公司 一种基于服务的热升级方法及设备
CN114185558A (zh) * 2021-12-16 2022-03-15 华云数据控股集团有限公司 基于K8s的原生应用选主方法、装置及存储介质

Also Published As

Publication number Publication date
CN115022317A (zh) 2022-09-06

Similar Documents

Publication Publication Date Title
CN112585919B (zh) 利用基于云的应用管理技术来管理应用配置状态的方法
US10805407B2 (en) Supporting high availability for orchestrated services
US9753713B2 (en) Coordinated upgrades in distributed systems
EP2893443B1 (en) Re-configuration in cloud computing environments
CN105593817B (zh) 本地或分布式计算机***上的柔性节点组成的方法和***
US10373072B2 (en) Cognitive-based dynamic tuning
US9912760B2 (en) Dynamically generating solution stacks
US20180157472A1 (en) Customized application state transition
CN110647332A (zh) 基于容器云的软件部署方法和装置
US20210240587A1 (en) Cloud simulation and validation system
CN112994945A (zh) 一种信创云平台的自动化部署方法与装置
US10331876B2 (en) Automated secure disposal of hardware components
Saha et al. Integrating apache airavata with docker, marathon, and mesos
US20190340061A1 (en) Automatic correcting of computing cluster execution failure
US11119754B1 (en) Upgrading system components with forward and backward compatibility
CN115812298A (zh) 供应故障的区块链管理
CN114527996A (zh) 一种多服务的部署方法、装置、电子设备及存储介质
US10838712B1 (en) Lifecycle management for software-defined datacenters
CN117859309A (zh) 自动选择在其上执行任务的节点
CN109828830B (zh) 用于管理容器的方法和装置
US10599544B2 (en) Determining reboot times of computing nodes
WO2019228632A1 (en) Serverless lifecycle management dispatcher
CN115022317B (zh) 基于云平台的应用管理方法、装置、电子设备及存储介质
US11847611B2 (en) Orchestrating and automating product deployment flow and lifecycle management
US20200409691A1 (en) Super bundles for software-defined datacenter upgrades

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