CN115022317A - Application management method and device based on cloud platform, electronic equipment and storage medium - Google Patents

Application management method and device based on cloud platform, electronic equipment and storage medium Download PDF

Info

Publication number
CN115022317A
CN115022317A CN202210594442.8A CN202210594442A CN115022317A CN 115022317 A CN115022317 A CN 115022317A CN 202210594442 A CN202210594442 A CN 202210594442A CN 115022317 A CN115022317 A CN 115022317A
Authority
CN
China
Prior art keywords
application
target
target application
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.)
Granted
Application number
CN202210594442.8A
Other languages
Chinese (zh)
Other versions
CN115022317B (en
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/en
Publication of CN115022317A publication Critical patent/CN115022317A/en
Application granted granted Critical
Publication of CN115022317B publication Critical patent/CN115022317B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

The embodiment of the application discloses an application management method and device based on a cloud platform, electronic equipment and a storage medium, and the application management method and device based on the cloud platform can be applied to the fields of cloud platforms, cloud applications and the like. The method comprises the following steps: acquiring a target application to be deployed; determining at least one candidate cloud plane which meets the deployment condition of the target application; for each candidate cloud plane, if at least one unit meeting the requirement of deploying the target application exists in the candidate cloud plane, determining the candidate cloud plane as a target cloud plane; for each determined target cloud plane, deploying the target application in at least one unit of the target cloud plane which meets the requirement of deploying the target application. By adopting the embodiment of the application, cross-plane and cross-cluster management of the cloud application is realized.

Description

Application management method and device based on cloud platform, electronic equipment and storage medium
Technical Field
The present application relates to the field of cloud platforms, cloud applications, and the like, and in particular, to a method and an apparatus for application management based on a cloud platform, an electronic device, and a storage medium.
Background
For internet enterprises, cost pressure and exponential business growth pressure have focused on the utilization of physical resources and scalability of applications. With the rise of cloud computing technology, the pressure of internet enterprises is solved to a certain extent, wherein platform as a service (PaaS) is a cloud computing product, and service providers can provide platforms for customers therein, so that they can develop, run and manage business applications without building and maintaining the infrastructure of such software.
The PaaS may be delivered through a public cloud, a private cloud, or a hybrid cloud. Using the public cloud PaaS, customers can control the deployment of software, while cloud providers can provide all the major Internet Technology (IT) components needed to host applications, including servers, storage systems, networks, operating systems, and databases. The PaaS platform is generally based on being able to guarantee high availability of applications deployed thereon.
At present, for applications deployed on a PaaS platform, because the applications are deployed on multiple planes on the PaaS platform, each plane needs to be managed separately, and there is a problem of inconvenient management.
Disclosure of Invention
The embodiment of the application provides an application management method and device based on a cloud platform, electronic equipment and a storage medium.
In a first aspect, an embodiment of the present application provides an application management method based on a cloud platform, where the method includes:
acquiring a target application to be deployed;
determining at least one candidate cloud plane meeting the deployment condition of the target application;
for each candidate cloud plane, if at least one unit meeting the requirement of deploying the target application exists in the candidate cloud plane, determining the candidate cloud plane as a target cloud plane;
and for each determined target cloud plane, deploying the target application in at least one unit of which the target cloud plane meets the requirement of deploying the target application.
In a second aspect, an embodiment of the present application provides an application management apparatus based on a cloud platform, where the application management apparatus based on the cloud platform includes:
the first acquisition module is used for acquiring a target application to be deployed;
the first determination module is used for determining at least one candidate cloud plane meeting the deployment condition of the target application;
a second determining module, configured to, for each candidate cloud plane, determine, as a target cloud plane, the candidate cloud plane if at least one unit that satisfies deployment of the target application exists in the candidate cloud plane;
and for each determined target cloud plane, deploying the target application in at least one unit of which the target cloud plane meets the requirement of deploying the target application.
In some possible embodiments, the apparatus further comprises:
a second obtaining module, configured to obtain, for each target cloud plane, an operation state of the target application in each unit in the target cloud plane in which the target application is deployed;
and the first sending module is used for sending prompt information to an application controller based on the running state of the target application, wherein the application controller is used for managing the target application.
In some possible embodiments, the apparatus further comprises:
and a second sending module, configured to, after the application controller receives the prompt message, send, by the application controller, instruction information to an application load balancer according to the prompt message, so that the application load balancer controls load traffic flowing into the target application according to the instruction information.
In some possible embodiments, the second sending module includes:
a first sending unit, configured to, if the prompt information indicates that the running state of the target application is normal, send, by the application controller, first indication information that the target application runs normally to the application load balancer according to the prompt information, where the application load balancer controls load traffic to be normally led into the target application in response to the first indication information;
and a second sending unit, configured to, if the prompt information indicates that the running state of the target application is abnormal, send, by the application controller, second indication information indicating that the running of the target application is abnormal to the application load balancer according to the prompt information, where the application load balancer controls load traffic to stop importing the target application in response to the second indication information.
In some possible embodiments, the apparatus further comprises:
and the second processing module is used for carrying out gray scale upgrading on the target applications deployed in the units corresponding to the target cloud planes respectively until the target applications in all the units are upgraded.
In some possible embodiments, the second processing module is specifically configured to:
repeatedly executing the following operations until the target application in all the units is upgraded:
selecting any one of the target cloud planes, and selecting any one unit in the target cloud plane, wherein the target plane is used as a current cloud plane, and any one unit in the target cloud plane is used as a current unit;
controlling load traffic to stop importing the target application deployed in the current cell by using an application load balancer, wherein the application load balancer is used for controlling the load traffic flowing into the target application;
upgrading the target application in the current unit;
controlling load traffic through an application load balancer to restore and import the target application deployed in the current unit;
determining the running state of the target application after upgrading in the current unit;
and if the running state of the target application is normal after upgrading, selecting any unit, except the current unit, in the current cloud plane and deployed with the target application, executing the upgrading task of the target application until all units, deployed with the target application, in the current cloud plane execute the upgrading task, and selecting any target cloud plane except the upgraded target cloud plane as a new current cloud plane to execute the upgrading task of the target application.
In a third aspect, an embodiment of the present application provides an electronic device, including a processor and a memory, where the processor and the memory are connected to each other;
the memory is used for storing computer programs;
the processor is configured to perform the method provided by the first aspect when the computer program is called.
In a fourth aspect, the present application provides a computer-readable storage medium, where a computer program is stored, where the computer program is executed by a processor to implement the method provided in the first aspect.
In a fifth aspect, embodiments of the present application provide a computer program product or computer program comprising computer instructions stored in a computer readable storage medium. The processor of the electronic device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions to cause the computer device to perform the method provided by the first aspect.
In the embodiment of the application, in a cloud platform, a target application to be deployed is obtained, at least one candidate cloud plane which meets the deployment of the target application is screened out according to set deployment conditions, for each candidate cloud plane, if at least one unit which meets the deployment of the target application exists in the candidate cloud plane, the candidate cloud plane is determined as the target cloud plane, and for each determined target cloud plane, the target application is deployed in at least one unit which meets the deployment of the target application in the target cloud plane. By adopting the mode, when the target application is deployed on the cloud platform, the target application can be deployed in at least one target cloud plane, cross-plane deployment of the target application is realized, and further cross-plane management of the target application can be realized.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings without creative efforts.
Fig. 1 is a schematic flowchart of an application management method based on a cloud platform according to an embodiment of the present application;
fig. 2 is a system architecture diagram of a cloud platform provided in an embodiment of the present application;
FIG. 3 is a schematic flowchart of deployment and automation operation and maintenance of a target application according to an embodiment of the present disclosure;
FIG. 4 is a schematic flowchart of a grayscale upgrade of a target application according to an embodiment of the present disclosure;
fig. 5 is a schematic structural diagram of an application management apparatus based on a cloud platform according to an embodiment of the present application;
fig. 6 is a schematic structural diagram of an electronic device provided in an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be described clearly and completely with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only some embodiments of the present application, and not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
Referring to fig. 1, fig. 1 is a schematic flowchart of an application management method based on a cloud platform according to an embodiment of the present application. As shown in fig. 1, the application management method based on the cloud platform provided in the embodiment of the present application is mainly applied to the cloud platform, and may include the following steps:
s101, acquiring a target application to be deployed;
step S102, determining at least one candidate cloud plane meeting the deployment condition of the target application;
step S103, for each candidate cloud plane, if at least one unit meeting the requirement of deploying the target application exists in the candidate cloud plane, determining the candidate cloud plane as a target cloud plane;
and step S104, for each determined target cloud plane, deploying the target application in at least one unit of which the target cloud plane meets the requirement of deploying the target application.
Optionally, the cloud platform in the embodiment of the application may be a PaaS platform, and the PaaS can integrate various existing service capabilities, and may be specifically classified into an application server, a service capability access, a service engine, and a service open platform. PaaS mainly has the following three characteristics: (1) platform as a service: the most fundamental difference between the service provided by PaaS and other services is that PaaS provides a basic platform, rather than a certain application, and the basic platform is built and operated by a special platform service provider and provided to an application system operator in a service manner; (2) platform and service: the services that the PaaS operator needs to provide include not only a simple basic platform but also technical support services for the platform and even services such as application system development and optimization for the platform. (3) Platform level services: the PaaS operator provides different services to the outside, and behind such services is a strong and stable basic operation platform and a professional technical support team. The platform-level service can ensure that various application systems of SaaS or other software service providers can be supported to run stably for a long time. The essence of PaaS is to serve the resources of the internet as a programmable interface, and provide commercially valuable resources and service platforms for third-party developers. With the support of the PaaS platform, developers of cloud computing can obtain a large number of programmable elements, and the programmable elements have specific service logic, so that great convenience is brought to development, the development efficiency is improved, and the development cost is saved.
Referring to fig. 2, fig. 2 is a system architecture diagram of a cloud platform provided in an embodiment of the present application, and as shown in fig. 2, the cloud platform includes an application load balancer (for controlling inflow and outflow of load traffic of an application in the platform), an application controller (for managing the application in the cloud platform), and multiple planes (e.g., a plane a and a plane B shown in the figure), where in this embodiment, no limitation is imposed on the planes included in the cloud platform, where each plane may include at least one unit, as shown in fig. 2, the plane a includes a unit a, the plane B includes a unit B and a unit C, the unit B, the unit a, the unit B, and the unit C each correspond to one Kubernetes cluster, and each Kubernetes cluster includes multiple applications Pod.
Kubernets, K8s for short, is an abbreviation formed by replacing 8 characters "ubernet" with 8, is an open source, and is used for managing containerized applications on multiple hosts in a cloud platform, the kubernets aims to make deploying containerized applications simple and efficient, and provides a mechanism for application deployment, planning, updating and maintenance.
The plane of the PaaS platform belongs to an available area (AZ for short) of a PaaS layer, is used for distinguishing fault domains of application deployment, and may be in one-to-one correspondence with the available area AZ, or may be divided into logical "AZ". The usable area AZ refers to a physical area where power and a network are independent of each other in the same area. The available areas and the available areas in the same region are intercommunicated by an intranet, and the available areas can be isolated from each other by faults.
The unit (Cell) in the PaaS platform, such as unit a, unit B, and unit C shown in the figure, belongs to a scope of micro-service container application deployment, and is in network interworking. Multiple units can be constructed in the same plane, and one unit can also be constructed. Briefly, a kubernets cluster is an independent unit.
Pod is the smallest unit of deployment in the k8s system. Pod is made up of one or more containers. Each container is a platform which is isolated from each other and ensures safety. The container is a lightweight virtualization technology, aims to create an isolation environment as a virtual machine, and can be regarded as a running environment of a lightweight operating system. Each container is a platform which is isolated from each other and ensures safety.
Optionally, the target application to be deployed to the cloud platform is obtained, and the target application may be determined based on actual requirements, and may be any type of application, such as a video-type application, an instant messaging-type application, a shopping-type application, a game-type application, and the like.
Then, based on a deployment condition for deploying the target application, screening among a plurality of cloud planes of the cloud platform, and determining at least one candidate cloud plane that meets the deployment condition, where the deployment condition may be whether a cloud plane is available, and the available criterion may be whether there are free resources for deploying the target application in the cloud plane.
Then, for each determined candidate cloud plane, it is further determined whether at least one unit of the candidate cloud plane is available to deploy the target application, and if so, the candidate cloud plane may be used as a target cloud plane, where the criterion for whether an available unit of the candidate cloud plane exists may be whether an available container exists in the unit of the candidate cloud plane.
Through the steps, the target cloud planes which meet the requirement of deploying the target application can be determined, and for each target cloud plane, at least one unit which can deploy the target application can be selected from the target cloud planes to deploy the target application. That is to say, the target application is deployed in the unit corresponding to each target cloud plane, so that high availability of the target application is achieved.
According to the embodiment of the application, when the target application is deployed on the cloud platform, the target application can be deployed in at least one target cloud plane, cross-plane deployment of the target application is achieved, and then cross-plane management of the target application can be achieved.
In an optional embodiment, after deploying the target application in at least one candidate unit of the target cloud plane, the method further includes:
for each target cloud plane, acquiring the running state of the target application in each unit in the target cloud plane, wherein the target application is deployed;
and sending prompt information to an application controller based on the running state of the target application, wherein the application controller is used for managing the target application.
Optionally, after the target application is deployed, the target application may be managed correspondingly, for example, the target application may be operated automatically, where the automatic operation and maintenance refers to handing over the periodic, repetitive, and regular work to a tool to do, and specifically, there are three aspects of application system maintenance automation, routing inspection automation, and fault handling automation.
Optionally, when the target application is automatically operated and maintained, each target cloud plane may be performed one by one, and if 3 target cloud planes are assumed, such as the target cloud plane 1, the target cloud plane 2, and the target cloud plane 3, one target cloud plane may be selected, and if the target cloud plane 1 is selected, the target application deployed on the target cloud plane 1 may be automatically operated and maintained from the target cloud plane 1. Assuming that the target application is deployed in the unit 1 and the unit 2 of the target cloud plane 1, one unit may be selected to start automated operation and maintenance of the target application, assuming that the unit 1 is selected, the operation state of the target application running in the unit 1 may be acquired, whether the operation condition of the target application is healthy or not is determined based on the operation state of the target application, and prompt information is sent to an application controller based on the operation condition of the target application. Then, switching to any other unit except the unit 1, namely the unit 2, of the target cloud plane 1, and similarly, acquiring the running state of the target application in the unit 2 of the target cloud plane 1, judging whether the running condition of the target application is healthy or not based on the running state of the target application, and sending prompt information to the application controller based on the running condition of the target application. At this time, all units in the target cloud plane 1, in which the target application is deployed, have completed the automated operation and maintenance of the target application, and may be switched to any other target cloud plane except the target cloud plane 1 to perform the automated operation and maintenance of the target application. For the automated operation and maintenance of the target application in the target cloud plane 2 and the target cloud plane 3, reference may be made to the automated operation and maintenance mode of the target cloud plane 1, and details of the embodiment of the present application are not described herein.
In an optional embodiment, after sending the prompt message to the application controller based on the running state of the target application, the method further includes:
after the application controller receives the prompt message, the application controller sends an indication message to an application load balancer according to the prompt message, so that the application load balancer controls the load flow flowing into the target application according to the indication message.
Optionally, according to the above steps, after the application controller receives the hint information, the application controller may make a further instruction based on the received hint information, send instruction information to the application load balancer, and after the application load balancer receives the instruction information, control the load traffic flowing into the target application based on the instruction information.
In the embodiment of the present application, what type of load balancer is specifically used is not limited, and an appropriate load balancer may be selected according to actual requirements.
In an optional embodiment, after the application controller receives the prompt message, the application controller sends an indication message to an application load balancer according to the prompt message, so that the application load balancer controls load traffic flowing into the target application according to the indication message, including:
if the prompt information indicates that the running state of the target application is normal, the application controller sends first indication information that the target application runs normally to the application load balancer according to the prompt information, and the application load balancer responds to the first indication information to control load flow to be led into the target application normally;
if the prompt information indicates that the running state of the target application is abnormal, the application controller sends second indication information of the abnormal running of the target application to the application load balancer according to the prompt information, and the application load balancer responds to the second indication information to control load flow to stop importing the target application.
Optionally, taking the unit 1 in the target cloud plane 1 as an example, sending a prompt message to an application controller based on an operating state of a target application in the unit 1, if the prompt message indicates that the target application is in a normal operating state, the application controller may send, based on the prompt message that the operating state is normal, first indication information that the target application is operating normally to an application load balancer, and after the application load balancer receives the first indication information, in response to the first indication information, control load flow to be led into the target application normally, that is, if the target application is operating normally, lead in the target application according to normal load flow.
If the prompt information indicates that the target application is in an abnormal operating state, the application controller may send second indication information indicating that the target application is in the abnormal operating state to the application load balancer based on the prompt information indicating that the operating state is abnormal, and after the application load balancer receives the second indication information, in response to the second indication information, control load traffic to stop importing the target application, that is, if the target application is in the abnormal operating state, the load traffic needs to be stopped from importing the target application.
Through the embodiment of the application, in the whole process of the automatic operation and maintenance of the target application, when one unit of one plane is processed, the next unit of the same plane can be switched to for processing, so that the cross-cluster management of the target application is realized, and when all units of one plane are processed, the next plane can be switched to for processing, so that the cross-plane management of the target application is realized.
In an optional embodiment, after deploying the target application in at least one candidate unit of the target cloud plane, the method further includes:
and carrying out gray scale upgrading on the target applications deployed in the units corresponding to the target cloud planes respectively until the target applications in all the units are upgraded.
Optionally, in practical application, the target application may be updated and upgraded, and when the target application is upgraded, a grayscale upgrading mode may be selected to be performed until the target applications in all the units in which the target application is deployed are upgraded. The gray scale upgrading is local upgrading, the gray scale upgrading is smooth switching during upgrading, when target applications in some units need to be upgraded, only one target application is upgraded and tested, the overall upgrading is carried out after a program is ensured to be correct, and all the units are upgraded asynchronously. For example, the target application in a certain province is updated and upgraded, and then the target applications in other regions are upgraded after the upgrade is completed.
In an optional embodiment, the performing gray scale upgrading on the target applications deployed in the units corresponding to the target cloud planes respectively until the target applications in all the units are upgraded includes:
repeatedly executing the following operations until the target application in all the units is upgraded:
selecting any one of the target cloud planes, and selecting any one unit in the target cloud plane, wherein the target plane is used as a current cloud plane, and any one unit in the target cloud plane is used as a current unit;
controlling load traffic to stop importing the target application deployed in the current cell by using an application load balancer, wherein the application load balancer is used for controlling the load traffic flowing into the target application;
upgrading the target application in the current unit;
controlling load traffic through an application load balancer to restore and import the target application deployed in the current unit;
determining the running state of the target application after upgrading in the current unit;
and if the running state of the target application is normal after upgrading, selecting any unit, except the current unit, in the current cloud plane and deployed with the target application, executing the upgrading task of the target application until all units, deployed with the target application, in the current cloud plane execute the upgrading task, and selecting any target cloud plane except the upgraded target cloud plane as a new current cloud plane to execute the upgrading task of the target application.
Optionally, a cross-plane cross-cluster target application grayscale upgrade is started. And optionally selecting a target cloud plane which is not upgraded, and selecting a unit which is deployed with the target application and is not upgraded in the target cloud plane, wherein for convenience of description, the selected target cloud plane is regarded as a current cloud plane, and the unit which is not upgraded in the selected target cloud plane is regarded as a current unit.
Since the current unit is under upgrade, the load flow needs to be controlled by the application load balancer to stop importing the target application to be upgraded in the current unit.
After the target application in the current unit of the current cloud plane is upgraded, whether the running condition of the target application in the current unit of the current cloud plane is in a healthy state needs to be verified, whether the running condition of the target application in the current unit of the current cloud plane is healthy can be determined by obtaining the running condition of the target application, if the running condition of the target application indicates that the target application runs healthily, the target application can be switched to any unit which is not upgraded and is provided with the target application and is except the current unit of the current cloud plane, and the upgrading task of the target application is carried out. And if the running state of the target application indicates that the target application is in the running abnormal state, the target application needs to be upgraded again.
For the current cloud plane, after the target applications under all the units of the current cloud plane where the target applications are deployed are upgraded, the current cloud plane is switched to any one non-upgraded target cloud plane except the current cloud plane through the application controller to serve as a new target cloud plane, and a new round of upgrading tasks of the target applications are performed.
According to the embodiment of the application, when the target application is subjected to gray scale upgrading, after one cloud plane is upgraded, the next cloud plane can be switched to for upgrading the target application, cross-plane upgrading of the target application is achieved, for any one target cloud plane, after any one unit of the target cloud plane is upgraded, the next unit can be switched to for upgrading the target application, and cross-cluster upgrading of the target application is achieved.
The following describes the deployment and the automated operation and maintenance of the target application in detail with reference to an example.
As shown in fig. 3, fig. 3 is a schematic flowchart of deployment and automation operation and maintenance of a target application provided in the embodiment of the present application, and the detailed steps are as follows:
step1, starting to create a target application across planes and clusters;
step2, inputting the name of the target application;
step3, judging whether an available cloud plane exists, if so, continuing the next Step, and if not, indicating that the target application is failed to be established;
step4, selecting a cloud plane to be deployed by an application, and selecting a plurality of cloud planes (the cloud plane is the candidate cloud plane);
step5, judging whether an available unit exists under the cloud plane, if so, continuing the next Step, and if not, indicating that the target application is failed to be established;
step6, selecting a unit under a cloud plane to be deployed by the target application (the cloud plane is the target cloud plane), wherein the unit can be selected from a plurality of units;
step7, deploying the target application;
step8, starting the automatic operation and maintenance of the target application;
step9, the timing task checks whether the target application in the unit under the target cloud plane is healthy, if yes, the Step8 is skipped, and if not, the next Step is continued;
step10, switching the target application to other units under the same cloud plane, jumping to Step8 if the target application is successful, and continuing the next Step if the target application is failed;
step11, switching the target application to other target cloud planes, jumping to Step8 if the target application is successful, and continuing the next Step if the target application is failed;
step12, target application abnormal end alarm.
The grayscale upgrade of the target application is described in detail below with reference to an example.
As shown in fig. 4, fig. 4 is a schematic flowchart of gray scale upgrading of a target application provided in an embodiment of the present application, and the detailed steps are as follows:
step1, starting the gray scale upgrade of the target application across planes and clusters;
step2, selecting an un-upgraded target cloud plane;
step3, selecting a unit where the target application is not upgraded under the target cloud plane;
step4, stopping leading the load flow into the target application to be upgraded by the unit under the target cloud plane through the application load balancer;
step5, upgrading the target application of the unit under the target cloud plane;
step6, importing the load flow to the target application to be upgraded of the unit under the target cloud plane by applying load balancer recovery;
and Step7, verifying whether the target application of the unit after upgrading under the target cloud plane is healthy, and if the target application of the unit after upgrading under the flat target cloud plane is healthy, jumping to Step 8. And if the target application of the unit under the target cloud plane after the unit is upgraded is unhealthy, re-upgrading the target application of the unit under the target cloud plane.
Step8, judging whether the target applications under all the target cloud planes and the units where the target applications are located are upgraded completely, if not, jumping to Step2, and if so, continuing the next Step;
step9, applying gray scale to the target across the plane and the cluster.
Referring to fig. 5, fig. 5 is a schematic structural diagram of an application management apparatus based on a cloud platform according to an embodiment of the present application. The application management device 1 based on the cloud platform provided by the embodiment of the application comprises:
a first obtaining module 11, configured to obtain a target application to be deployed;
a first determining module 12, configured to determine at least one candidate cloud plane that satisfies a deployment condition of the target application;
a second determining module 13, configured to, for each candidate cloud plane, determine, as a target cloud plane, the candidate cloud plane if at least one unit that satisfies deployment of the target application exists in the candidate cloud plane;
the first processing module 14 is configured to, for each determined target cloud plane, deploy the target application in at least one unit of the target cloud plane that satisfies the requirement of deploying the target application.
In some possible embodiments, the apparatus further comprises:
a second obtaining module, configured to obtain, for each target cloud plane, an operation state of the target application in each unit in the target cloud plane in which the target application is deployed;
and the first sending module is used for sending prompt information to an application controller based on the running state of the target application, wherein the application controller is used for managing the target application.
In some possible embodiments, the apparatus further comprises:
and a second sending module, configured to, after the application controller receives the prompt message, send, by the application controller, instruction information to an application load balancer according to the prompt message, so that the application load balancer controls load traffic flowing into the target application according to the instruction information.
In some possible embodiments, the second sending module includes:
a first sending unit, configured to, if the prompt information indicates that the running state of the target application is normal, send, by the application controller, first indication information that the target application runs normally to the application load balancer according to the prompt information, where the application load balancer controls, in response to the first indication information, load traffic to be normally led into the target application;
and a second sending unit, configured to, if the prompt information indicates that the running state of the target application is abnormal, send, by the application controller, second indication information indicating that the running of the target application is abnormal to the application load balancer according to the prompt information, where the application load balancer controls load traffic to stop importing the target application in response to the second indication information.
In some possible embodiments, the apparatus further comprises:
and the second processing module is used for carrying out gray scale upgrading on the target applications deployed in the units corresponding to the target cloud planes respectively until the target applications in all the units are upgraded.
In some possible embodiments, the second processing module is specifically configured to:
repeatedly executing the following operations until the target application in all the units is upgraded:
selecting any one of the target cloud planes, and selecting any one unit in the target cloud plane, wherein the target plane is used as a current cloud plane, and any one unit in the target cloud plane is used as a current unit;
controlling load traffic to stop importing the target application deployed in the current cell by using an application load balancer, wherein the application load balancer is used for controlling the load traffic flowing into the target application;
upgrading the target application in the current unit;
controlling load traffic through an application load balancer to restore and import the target application deployed in the current unit;
determining the running state of the target application after upgrading in the current unit;
and if the running state of the target application is normal after upgrading, selecting any unit, except the current unit, in the current cloud plane and deployed with the target application, executing the upgrading task of the target application until all units, deployed with the target application, in the current cloud plane execute the upgrading task, and selecting any target cloud plane except the upgraded target cloud plane as a new current cloud plane to execute the upgrading task of the target application.
In the embodiment of the application, in a cloud platform, a target application to be deployed is obtained, at least one candidate cloud plane which meets the deployment of the target application is screened out according to set deployment conditions, for each candidate cloud plane, if at least one unit which meets the deployment of the target application exists in the candidate cloud plane, the candidate cloud plane is determined as the target cloud plane, and for each determined target cloud plane, the target application is deployed in at least one unit which meets the deployment of the target application in the target cloud plane. By adopting the mode, when the target application is deployed on the cloud platform, the target application can be deployed in at least one target cloud plane, cross-plane deployment of the target application is realized, and further cross-plane management of the target application can be realized.
In a specific implementation, the cloud platform-based application management apparatus 1 may execute the implementation manners provided in the above steps in fig. 1 through the built-in functional modules, which may specifically refer to the implementation manners provided in the above steps, and no further details are described here.
Referring to fig. 6, fig. 6 is a schematic structural diagram of an electronic device provided in an embodiment of the present application. As shown in fig. 6, the electronic device 1000 in the present embodiment may include: the processor 1001, the network interface 1004, and the memory 1005, and the electronic device 1000 may further include: a user interface 1003, and at least one communication bus 1002. Wherein a communication bus 1002 is used to enable connective communication between these components. The user interface 1003 may include a Display (Display) and a Keyboard (Keyboard), and the optional user interface 1003 may further include a standard wired interface and a standard wireless interface. The network interface 1004 may optionally include a standard wired interface, a wireless interface (e.g., WI-FI interface). The memory 1004 may be a high-speed RAM memory or a non-volatile memory (e.g., at least one disk memory). The memory 1005 may alternatively be at least one memory device located remotely from the processor 1001. As shown in fig. 6, a memory 1005, which is a kind of computer-readable storage medium, may include therein an operating system, a network communication module, a user interface module, and a device control application program.
In the electronic device 1000 shown in fig. 6, the network interface 1004 may provide a network communication function; the user interface 1003 is an interface for providing a user with input; and the processor 1001 may be used to invoke a device control application stored in the memory 1005.
It should be understood that in some possible embodiments, the processor 1001 may be a Central Processing Unit (CPU), and the processor may be other general purpose processors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), field-programmable gate arrays (FPGAs) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, and the like. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The memory may include both read-only memory and random access memory and provides instructions and data to the processor. The portion of memory may also include non-volatile random access memory. For example, the memory may also store device type information.
In a specific implementation, the electronic device 1000 may execute the implementation manners provided in the steps in fig. 1 through the built-in functional modules, which may specifically refer to the implementation manners provided in the steps, and are not described herein again.
An embodiment of the present application further provides a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, and the computer program is executed by a processor to implement the method provided in each step in fig. 1, which may specifically refer to the implementation manner provided in each step, and is not described herein again.
The computer readable storage medium may be an internal storage unit of the task processing device provided in any of the foregoing embodiments, for example, a hard disk or a memory of an electronic device. The computer readable storage medium may also be an external storage device of the electronic device, such as a plug-in hard disk, a Smart Memory Card (SMC), a Secure Digital (SD) card, a flash card (flash card), and the like, which are provided on the electronic device. The computer readable storage medium may further include a magnetic disk, an optical disk, a read-only memory (ROM), a Random Access Memory (RAM), and the like. Further, the computer readable storage medium may also include both an internal storage unit and an external storage device of the electronic device. The computer-readable storage medium is used for storing the computer program and other programs and data required by the electronic device. The computer readable storage medium may also be used to temporarily store data that has been output or is to be output.
Embodiments of the present application provide a computer program product or computer program comprising computer instructions stored in a computer readable storage medium. The processor of the electronic device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions to cause the computer device to perform the method provided by the steps of fig. 1.
The terms "first", "second", and the like in the claims and in the description and drawings of the present application are used for distinguishing between different objects and not for describing a particular order. Furthermore, the terms "include" and "have," as well as any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, article, or electronic device that comprises a list of steps or elements is not limited to only those steps or elements listed, but may alternatively include other steps or elements not listed, or inherent to such process, method, article, or electronic device. Reference herein to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the application. The appearances of the phrase in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. It is explicitly and implicitly understood by one skilled in the art that the embodiments described herein can be combined with other embodiments. The term "and/or" as used in this specification and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.
Those of ordinary skill in the art will appreciate that the elements and algorithm steps of the examples described in connection with the embodiments disclosed herein may be embodied in electronic hardware, computer software, or combinations of both, and that the components and steps of the examples have been described in a functional general in the foregoing description for the purpose of illustrating clearly the interchangeability of hardware and software. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
The above disclosure is only for the purpose of illustrating the preferred embodiments of the present application and is not intended to limit the scope of the present application, which is defined by the appended claims.

Claims (10)

1. The application management method based on the cloud platform is applied to the cloud platform, and comprises the following steps:
acquiring a target application to be deployed;
determining at least one candidate cloud plane that satisfies a deployment condition of the target application;
for each candidate cloud plane, if at least one unit meeting the requirement of deploying the target application exists in the candidate cloud plane, determining the candidate cloud plane as a target cloud plane;
for each determined target cloud plane, deploying the target application in at least one unit of the target cloud plane which meets the condition of deploying the target application.
2. The method of claim 1, wherein after deploying the target application in the at least one candidate cell of the target cloud plane, the method further comprises:
for each target cloud plane, acquiring the running state of the target application in each unit in the target cloud plane, wherein the target application is deployed;
and sending prompt information to an application controller based on the running state of the target application, wherein the application controller is used for managing the target application.
3. The method of claim 2, wherein after sending a prompt message to an application controller based on the running state of the target application, the method further comprises:
after the application controller receives the prompt message, the application controller sends an indication message to an application load balancer according to the prompt message, so that the application load balancer controls the load flow flowing into the target application according to the indication message.
4. The method according to claim 3, wherein after the application controller receives the hint information, the application controller sends indication information to an application load balancer according to the hint information, so that the application load balancer controls load traffic flowing into the target application according to the indication information, including:
if the prompt information indicates that the running state of the target application is normal, the application controller sends first indication information that the target application runs normally to the application load balancer according to the prompt information, and the application load balancer responds to the first indication information to control load flow to be led into the target application normally;
and if the prompt information indicates that the running state of the target application is abnormal, the application controller sends second indication information of the abnormal running of the target application to the application load balancer according to the prompt information, and the application load balancer responds to the second indication information to control load flow to stop importing the target application.
5. The method of claim 1, wherein after deploying the target application in at least one candidate cell of the target cloud plane, the method further comprises:
and carrying out gray scale upgrading on the target applications deployed in the units corresponding to the target cloud planes respectively until the target applications in all the units are upgraded.
6. The method according to claim 1, wherein the performing gray scale upgrading on the target application deployed in the cell corresponding to each target cloud plane until the target application in all the cells is upgraded comprises:
repeatedly executing the following operations until the target application upgrade in all the units is completed:
selecting any one of the target cloud planes, and selecting any one unit in the target cloud plane, wherein the target plane is used as a current cloud plane, and any one unit in the target cloud plane is used as a current unit;
controlling load traffic to stop importing the target application deployed in the current cell by an application load balancer, wherein the application load balancer is configured to control load traffic flowing into the target application;
upgrading the target application in the current unit;
controlling load traffic through an application load balancer to restore and import the target application deployed in the current cell;
determining the running state of the upgraded target application in the current unit;
and if the running state of the target application is normal after upgrading, selecting any unit, except the current unit, in the current cloud plane and deployed with the target application, executing the upgrading task of the target application until all units, deployed with the target application, in the current cloud plane execute the upgrading task, and selecting any target cloud plane except the upgraded target cloud plane as a new current cloud plane to execute the upgrading task of the target application.
7. An apparatus for application management based on a cloud platform, the apparatus comprising:
the first acquisition module is used for acquiring a target application to be deployed;
a first determination module for determining at least one candidate cloud plane that satisfies a deployment condition of the target application;
a second determining module, configured to, for each candidate cloud plane, determine, as a target cloud plane, the candidate cloud plane if at least one unit that satisfies deployment of the target application exists in the candidate cloud plane;
the first processing module is used for deploying the target application in at least one unit of which the target cloud plane meets the requirement of deploying the target application, and the determined target cloud plane is used for each target cloud plane.
8. The apparatus of claim 7, further comprising:
a second obtaining module, configured to obtain, for each target cloud plane, an operation state of the target application in each unit in the target cloud plane in which the target application is deployed;
the first sending module is used for sending prompt information to an application controller based on the running state of the target application, wherein the application controller is used for managing the target application.
9. An electronic device comprising a processor and a memory, the processor and the memory being interconnected;
the memory is used for storing a computer program;
the processor is configured for performing the method of any of claims 1 to 6 when the computer program is invoked.
10. A computer-readable storage medium, characterized in that the computer-readable storage medium stores a computer program which is executed by a processor to implement the method of any one of claims 1 to 6.
CN202210594442.8A 2022-05-27 2022-05-27 Cloud platform-based application management method and device, electronic equipment and storage medium Active CN115022317B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210594442.8A CN115022317B (en) 2022-05-27 2022-05-27 Cloud platform-based application management method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210594442.8A CN115022317B (en) 2022-05-27 2022-05-27 Cloud platform-based application management method and device, electronic equipment and storage medium

Publications (2)

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

Family

ID=83070104

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210594442.8A Active CN115022317B (en) 2022-05-27 2022-05-27 Cloud platform-based application management method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN115022317B (en)

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 (en) * 2018-08-01 2018-12-18 北京百度网讯科技有限公司 Method and apparatus for application deployment
CN109343963A (en) * 2018-10-30 2019-02-15 杭州数梦工场科技有限公司 A kind of the application access method, apparatus and relevant device of container cluster
CN110830546A (en) * 2019-09-20 2020-02-21 平安科技(深圳)有限公司 Available domain construction method, device and equipment based on container cloud platform
CN112130880A (en) * 2020-09-27 2020-12-25 平安医疗健康管理股份有限公司 Micro-service publishing method and device, computer equipment and storage medium
CN113301078A (en) * 2020-05-22 2021-08-24 阿里巴巴集团控股有限公司 Network system, service deployment and network division method, device and storage medium
CN113296798A (en) * 2021-05-31 2021-08-24 腾讯科技(深圳)有限公司 Service deployment method, device and readable storage medium
CN113778491A (en) * 2021-09-16 2021-12-10 山东亿云信息技术有限公司 Containerized application gray scale upgrading method, system, storage medium and equipment
CN114185558A (en) * 2021-12-16 2022-03-15 华云数据控股集团有限公司 Native application master selection method and device based on K8s and storage medium
CN114281376A (en) * 2021-12-09 2022-04-05 上海卓悠网络科技有限公司 Service-based hot upgrading method and equipment

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 (en) * 2018-08-01 2018-12-18 北京百度网讯科技有限公司 Method and apparatus for application deployment
CN109343963A (en) * 2018-10-30 2019-02-15 杭州数梦工场科技有限公司 A kind of the application access method, apparatus and relevant device of container cluster
CN110830546A (en) * 2019-09-20 2020-02-21 平安科技(深圳)有限公司 Available domain construction method, device and equipment based on container cloud platform
CN113301078A (en) * 2020-05-22 2021-08-24 阿里巴巴集团控股有限公司 Network system, service deployment and network division method, device and storage medium
CN112130880A (en) * 2020-09-27 2020-12-25 平安医疗健康管理股份有限公司 Micro-service publishing method and device, computer equipment and storage medium
CN113296798A (en) * 2021-05-31 2021-08-24 腾讯科技(深圳)有限公司 Service deployment method, device and readable storage medium
CN113778491A (en) * 2021-09-16 2021-12-10 山东亿云信息技术有限公司 Containerized application gray scale upgrading method, system, storage medium and equipment
CN114281376A (en) * 2021-12-09 2022-04-05 上海卓悠网络科技有限公司 Service-based hot upgrading method and equipment
CN114185558A (en) * 2021-12-16 2022-03-15 华云数据控股集团有限公司 Native application master selection method and device based on K8s and storage medium

Also Published As

Publication number Publication date
CN115022317B (en) 2024-03-08

Similar Documents

Publication Publication Date Title
CN103109275B (en) The system of virtual instrument, method and apparatus is used in semiconductor test environment
US9893940B1 (en) Topologically aware network device configuration
US10019255B1 (en) Incremental software deployment in a service environment
US10373072B2 (en) Cognitive-based dynamic tuning
US9912760B2 (en) Dynamically generating solution stacks
CN103608773A (en) Deployment system for multi-node applications
WO2021044296A1 (en) Deploying microservices across a service infrastructure
CN111736872A (en) Gray scale release upgrading method and device, computer system and readable storage medium
CN103885833A (en) Method and system for managing resources
US9753834B1 (en) Certification process for cloud platform
US20190340061A1 (en) Automatic correcting of computing cluster execution failure
CN112994945A (en) Automatic deployment method and device of trusted cloud platform
CN106406980B (en) A kind of dispositions method and device of virtual machine
CN117170803A (en) Method for generating signal-creation operating system pipeline, electronic equipment and storage medium
CN109815003B (en) Cooperative computing method and system between intelligent devices, intelligent device and medium
EP4369183A1 (en) Cloud platform management architecture, method and device, and storage medium
CN115812298A (en) Block chain management of supply failure
CN111858050A (en) Server cluster mixed deployment method, cluster management node and related system
CN117859309A (en) Automatically selecting a node on which to perform a task
US10467124B2 (en) Certification process for cloud platform
US20190155714A1 (en) Determining reboot times of computing nodes
US11893380B2 (en) Super bundles for software-defined datacenter upgrades
CN115022317B (en) Cloud platform-based application management method and device, electronic equipment and storage medium
CN102597957B (en) System deployment determination system, system deployment determination method and program
CN110022220A (en) Routing Activiation method and system in business card recognition

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