CN117724803A - Cloud service deployment method, device and platform - Google Patents

Cloud service deployment method, device and platform Download PDF

Info

Publication number
CN117724803A
CN117724803A CN202311744629.2A CN202311744629A CN117724803A CN 117724803 A CN117724803 A CN 117724803A CN 202311744629 A CN202311744629 A CN 202311744629A CN 117724803 A CN117724803 A CN 117724803A
Authority
CN
China
Prior art keywords
deployment
resource management
container
management information
business process
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
CN202311744629.2A
Other languages
Chinese (zh)
Other versions
CN117724803B (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202311744629.2A priority Critical patent/CN117724803B/en
Publication of CN117724803A publication Critical patent/CN117724803A/en
Application granted granted Critical
Publication of CN117724803B publication Critical patent/CN117724803B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

The disclosure provides a cloud service deployment method, device and platform, relates to the field of cloud computing, in particular to the field of hybrid cloud deployment, and is suitable for network storage application scenes. The specific implementation scheme is as follows: obtaining a request to deploy a service of a target application program, wherein the request comprises: the deployment package and the resource management information of the target application program; constructing a mirror image of a container based on the deployment package, and pushing the mirror image into a mirror image warehouse; selecting a Pod based on the resource management information and deploying a service in the selected Pod; the business process of the container is started by the proxy process. The implementation mode can be used and operated in different environments only by maintaining one set of codes, so that the maintenance cost of research and development personnel is saved. The product can be supported to be rapidly deployed and landed in different environments.

Description

Cloud service deployment method, device and platform
Technical Field
The disclosure relates to the field of cloud computing, in particular to the field of hybrid cloud deployment, and specifically relates to a cloud service deployment method, device and platform.
Background
Kubernetes is an open-source container orchestration engine and is also an application for managing the containerization on multiple hosts in a cloud platform. Kubernetes supports automated deployment, large scale scalability, and application containerization management.
The dynamic management is carried out through Labels of Kubernetes, so that the dynamic management can be conveniently used in small groups, but in larger resource management, the dynamic management is too loose, and in the current scheme, the management of a Kubernets single cluster is mostly used, so that unified management is not easy to carry out.
In the popular technical scheme of the community, the ideops-based thought is operated by embedding or adding plug-ins in a code hosting warehouse based on the Git workflow. After the user triggers code submission or compiling, the code deployment is completed by reading the description file written in advance in the code warehouse. To implement the development and deployment workflow of the DevOps, a whole set of code management and binary construction platform is required to be matched. The process is long, the components are more, and when the original research and development environment is used and embedded, the input transformation cost and the access cost are higher. DevOps requires everyone of the development team to understand all flows, configuration and usage of the environment. Learning costs are high for high quality research and development, high efficiency delivery teams pursuing shortness.
In the mainstream scheme at present, the starting of the service process and the management of the life cycle are performed by a process foreground operation mode. The process mode needs to be modified to be operated in the foreground, and the compatible transformation cost is high.
Disclosure of Invention
The present disclosure provides a cloud service deployment method, apparatus, platform, device, storage medium, and computer program product.
According to a first aspect of the present disclosure, there is provided a cloud service deployment method, including: obtaining a request to deploy a service of a target application program, wherein the request comprises: the deployment package and the resource management information of the target application program; constructing a mirror image of a container based on the deployment package, and pushing the mirror image into a mirror image warehouse; selecting a Pod based on the resource management information and deploying a service in the selected Pod; the business process of the container is started by the proxy process.
According to a second aspect of the present disclosure, there is provided a cloud service deployment apparatus, comprising: an acquisition unit configured to acquire a request to deploy a service of a target application program, wherein the request includes: the deployment package and the resource management information of the target application program; the mirror image unit is configured to construct a mirror image of the container based on the deployment package and push the mirror image into a mirror image warehouse; a deployment unit configured to select a Pod based on the resource management information and deploy a service in the selected Pod; and the running unit is configured to start the business process of the container through the proxy process.
According to a third aspect of the present disclosure, there is provided a cloud service deployment platform, comprising: the front-end resource management module is configured to display resource management information and provide a page operation entry for a developer to fill in the resource management information; a back end deployment execution module configured to perform the method of any of the first aspects.
According to a fourth aspect of the present disclosure, there is provided an electronic device comprising: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of the first aspects.
According to a fifth aspect of the present disclosure, there is provided a non-transitory computer-readable storage medium storing computer instructions for causing the computer to perform the method of any one of the first aspects.
According to a sixth aspect of the present disclosure, there is provided a computer program product comprising a computer program which, when executed by a processor, implements the method of any one of the first aspects.
The cloud service deployment method, the cloud service deployment device and the cloud service deployment platform solve the problem that the Kubernetes resource management scheme is loose in resource management under the large-scale application scene of a multi-cloud manufacturer, and further solve the problem that service migration and use between different deployment architectures are high in compatible cost.
It should be understood that the description in this section is not intended to identify key or critical features of the embodiments of the disclosure, nor is it intended to be used to limit the scope of the disclosure. Other features of the present disclosure will become apparent from the following specification.
Drawings
The drawings are for a better understanding of the present solution and are not to be construed as limiting the present disclosure. Wherein:
FIG. 1 is an exemplary system architecture diagram in which an embodiment of the present disclosure may be applied;
FIG. 2 is a flow chart of one embodiment of a cloud service deployment method according to the present disclosure;
3a-3d are schematic diagrams of one application scenario of a cloud service deployment method according to the present disclosure;
FIG. 4 is a flow chart of yet another embodiment of a cloud service deployment method according to the present disclosure;
FIG. 5 is a schematic structural diagram of one embodiment of a cloud service deployment apparatus according to the present disclosure;
fig. 6 is a schematic diagram of a computer system suitable for use in implementing embodiments of the present disclosure.
Detailed Description
Exemplary embodiments of the present disclosure are described below in conjunction with the accompanying drawings, which include various details of the embodiments of the present disclosure to facilitate understanding, and should be considered as merely exemplary. Accordingly, one of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the present disclosure. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
Fig. 1 illustrates an exemplary system architecture 100 in which embodiments of a cloud service deployment method or cloud service deployment apparatus of the present disclosure may be applied.
As shown in fig. 1, the system architecture 100 may include terminal devices 101, 102, 103, a server 104, a Kubernetes system 105. Between the terminal devices 101, 102, 103 and the server 104, communication is performed between the server 104 and the Kubernetes system 105 via a network. The network may include various connection types, such as wired, wireless communication links, or fiber optic cables, among others.
A user may interact with the server 104 via the network 104 using the terminal devices 101, 102, 103 to receive or send messages or the like. Various communication client applications, such as a code development class application, a web browser application, a shopping class application, a search class application, an instant messaging tool, a mailbox client, social platform software, and the like, may be installed on the terminal devices 101, 102, 103.
The terminal devices 101, 102, 103 may be hardware or software. When the terminal devices 101, 102, 103 are hardware, they may be various electronic devices having a display screen and supporting web browsing, including but not limited to smartphones, tablet computers, electronic book readers, MP3 players (Moving Picture Experts Group Audio Layer III, dynamic video expert compression standard audio plane 3), MP4 (Moving Picture Experts Group Audio Layer IV, dynamic video expert compression standard audio plane 4) players, laptop and desktop computers, and the like. When the terminal devices 101, 102, 103 are software, they can be installed in the above-listed electronic devices. Which may be implemented as multiple software or software modules (e.g., to provide distributed services), or as a single software or software module. The present invention is not particularly limited herein.
The server 104 may be a server that provides various services, on which a cloud service deployment platform is running, where the cloud service deployment platform includes two parts: the front-end resource management module and the back-end execution module. The front-end resource management module presents the resource management information and provides a page operation portal for the developer to fill in the resource management information, as shown in FIG. 3 a. The developer sets resource management information in a resource management information interface displayed by the front-end resource management module through the terminal equipment and submits a deployment package (which can be a compiled code compression package or a download address of the code compression package) of the target application program. The back-end terminal operation module automatically performs service deployment and operation according to the resource management information and codes, a developer is not required to learn a related operation method, and the learning cost is low.
The server deploys the deployment package and the resource management information of the target application program received from the terminal device into the Kubernetes system 105, and starts a business process in each Pod to provide unified external service.
The server may be hardware or software. When the server is hardware, the server may be implemented as a distributed server cluster formed by a plurality of servers, or may be implemented as a single server. When the server is software, it may be implemented as a plurality of software or software modules (e.g., a plurality of software or software modules for providing distributed services), or as a single software or software module. The present invention is not particularly limited herein. The server may also be a server of a distributed system or a server that incorporates a blockchain. The server can also be a cloud server, or an intelligent cloud computing server or an intelligent cloud host with artificial intelligence technology.
It should be noted that, the cloud service deployment method provided by the embodiments of the present disclosure is generally executed by the server 104, and accordingly, the cloud service deployment device is generally disposed in the server 104.
It should be understood that the number of end devices, networks, servers, nodes and Pod of the Kubernetes system in fig. 1 are merely illustrative. There may be any number of terminal devices, networks, servers, nodes of the Kubernetes system, and Pod, as desired for implementation.
With continued reference to fig. 2, a flow 200 of one embodiment of a cloud service deployment method according to the present disclosure is shown. The cloud service deployment method comprises the following steps:
step 201, a request to deploy a service of a target application is obtained.
In this embodiment, the execution body of the cloud service deployment method (for example, the server shown in fig. 1) may receive a request for deploying a service of the target application from the terminal device used by the developer through a wired connection manner or a wireless connection manner. Wherein the request includes: deployment package and resource management information for the target application. The developer may fill in the request through the graphical interface provided in the present application as shown in fig. 3a, or may submit the request through the command line.
The deployment package may be a compiled code compression package, or may be a download address of the code compression package.
The resource management information may include information on the type, number, etc. of nodes and Pod to be scheduled in the Kubernetes system.
In the application, an App is taken as a main operation view of a user, all resources which are concerned by the user for maintaining an App are uniformly displayed and an operation inlet is provided, as shown in fig. 3 a.
The hierarchy of resource management includes the following:
1. product (Workspace): a workspace that allows a user to switch and isolate between different product lines in order to clearly distinguish between different products. For the user to select by himself.
2. Namespaces (namespaces): namespaces are abstractions of service isolation that originally belong to resources within a Kubernetes cluster. The present application promotes its importance here for determining the namespace to which an application belongs when it is created. For the user to select by himself.
3. Application (App): an application consists of resources in multiple Kubernetes clusters. In the resource management process of the application, multiple kinds of Kubernetes resources exist under App. Including Deployment, statefulSet, log collection, service, monitoring alarms, etc. The present application promotes the concept of application to above the hierarchy of clusters for more convenient resource management. For the user to select by himself.
4. Cluster (Cluster): kubernetes cluster includes an Online environment for receiving traffic Online and an optional Sandbox environment for testing purposes. For the user to select by himself.
5. Service (Service): the service combines different deployments (deployments) running the same code to collectively provide a response to the API request out. This helps to simplify traffic access. Services are automatically created by the platform.
6. Deployment (depoyment): the deployment contains descriptive information about how to configure the application's minimal unit, enabling the user to flexibly manage the deployment of the application. The user is given the option to select the description information (e.g., number of pod) of the minimum unit of the application program by himself, and then the service is deployed automatically by the platform.
7. ReplicaSet (RS): the ReplicaSet is used for managing resources in the deployment, is usually managed automatically by the deployment, and reduces the requirement of manual maintenance. The maintenance process is not visible to the user, as managed by the platform.
8. Pod: pod is a set of processes running user code, distributed across a set of machines. The number of Pod is selected by the user.
Step 202, constructing a mirror image of the container based on the deployment package, and pushing the mirror image to a mirror image warehouse.
In this embodiment, the Image (Image) carries binary data that encapsulates the application and all of its software dependencies. The image is an executable software package and can be independently operated; the assumption that the software package has a good definition (Well Defined) of the runtime environment in which you will typically create an image of the application and push it to some image repository (Registry) and then reference it in Pod. The mirror repository is bound to a cluster (cluster). The image of the container can be built based on the deployment package by common software of the prior art and pushed into the image repository.
Step 203, selecting a Pod based on the resource management information, and deploying a service in the selected Pod.
In this embodiment, the deployment object is used to manage release of the new version. Deployment is the rendering of a deployed application beyond a specific version. Further, deployments may migrate from one version of code to another. This release process is specific and careful. The user may wait for a period of time while upgrading those Pod. Health checks are also used to ensure that new versions of applications run correctly, and deployment is stopped when excessive failures occur.
With deployment, a new software version can be released simply and reliably without interruption and errors. The software release mechanism actually performed by the deployment is controlled by the deployment controller that the Kubernetes cluster is running. That is, the deployment unattended operation can still be performed correctly and safely. This allows the deployment to simply integrate a large number of continually published tools and services. And running on the server side becomes secure for publishing applications from weak or unstable network connections.
The Pod may be selected based on the resource management information by general software of the related art and a service may be deployed in the selected Pod.
In the service deployment link, the Kubernetes is used for completely hosting the construction and pushing of the mirror image with the highest learning cost for the user and the deployment and starting of the process, so that the user can only provide a deployment package for running the program without any learning and perception. The rest of the image construction, image pushing, and the writing and execution of the deployment script are all automatically completed by the platform. The user can directly use and complete deployment without performing related script learning at all.
In step 204, the business process of the container is started by the proxy process.
In this embodiment, in the start command of the container, the service process is not directly started, but an initial process of the K8S starts a proxy process (abbreviated as THC Agent herein), and after the THC Agent starts, the THC performs the start of the service process. Therefore, the THC can be used for compatibly realizing the process starting requirements and processes under different environments, and the transformation cost of the user service migration to the new environment can be reduced and lowered.
Meanwhile, the Agent is deployed in the form of Init content, so that the Agent can be completely isolated from a user process, and the user can feel no sense in the deployment. As shown in fig. 3d, init Container and Container share a directory structure.
According to the method provided by the embodiment of the disclosure, the App is taken as a main operation view of a user, all resources which are needed to be concerned by the user for maintaining one App are displayed uniformly, and an operation inlet is provided. The compressed package is deployed by the process of the user as the delivery condition of deployment, and the package is a package which is used uniformly, can be used in all deployment environments, does not need any perception and intervention of the service, and is automatically executed by the management platform side. Through the starting process of the proxy Kubernetes container, different starting processes and modes of a user can be directly used on the platform without any code and script transformation.
In some optional implementations of this embodiment, the initiating, by the proxy process, the business process of the container includes: in response to detecting the creation of the container, starting a proxy process; injecting environment variable data into the proxy process; the proxy process performs the start of the business process. After the environment variable data is injected into the proxy process, the proxy process can simulate the current running environment, shield the environment influence, and enable the migration and the use of the service among different deployment architectures to be compatible with low cost. For example, the development environment is a system developed by software companies, not Kubernetes. The use of proxy processes enables migration of services between different deployment architectures without requiring developers to modify code.
In some optional implementations of this embodiment, the method further includes: and collecting logs in the cloud service deployment process, and storing the logs into a target path. The platform automatically collects the logs in the cloud service deployment process and stores the logs into the target path, so that manual configuration of developers is not needed, and the learning cost is reduced.
In some alternative implementations of this embodiment, the deployment of the proxy process is in the form of an initial container that is completely isolated from the business process. The interference of the business process to the proxy process can be avoided, and the user can feel no sense in deployment.
In some optional implementations of this embodiment, the resource management information includes: the product and namespace to which the target application belongs, the type of cluster used by the target application, the type of machine, the service, the deployment, the set of replicas, and the number of Pod. The method and the device plan the hierarchical structure of the resource management information, are convenient to manage and use, and solve the problem of loose resource management of the Kubernetes resource management scheme in a large-scale application scene of a multi-cloud manufacturer. The clusters (clusters) in Kubernetes are originally the largest hierarchy, and the application program hierarchy is lifted to be above the hierarchy of the clusters in the application, so that resource management is facilitated.
In some optional implementations of this embodiment, the resource management information is filled in by the developer in a page manner. The visual mode is convenient for developer to operate, improves work efficiency, and reduces learning cost.
In some optional implementations of this embodiment, the method further includes: and acquiring the deployment package according to the download address of the deployment package filled by the developer in a page mode. The flow pressure of the deployment packet uploaded by the terminal equipment can be relieved, and network congestion is prevented.
In some optional implementations of this embodiment, the method further includes: and automatically matching products and namespaces according to a development team to which the target application program belongs. The developer does not need to fill in the product and the name space manually, after logging in, the developer can determine the development team to which the developer belongs according to the identity of the developer, and the product and the name space developed by the development team are set and can be matched automatically. Therefore, the workload of developers is reduced, the working efficiency is improved, and wrong writing products and namespaces are avoided.
With continued reference to fig. 3a-3d, fig. 3a-3d are a schematic diagram of an application scenario of the cloud service deployment method according to the present embodiment. In the application scenario of figures 3a-3d,
step 301, resource management: the developer fills in the resource management information through the resource management page shown in fig. 3a and submits the deployment package of the target application program.
Step 302, creating a mirror image and pushing the mirror image: the server automatically creates a mirror image and pushes the mirror image by using the Kubernetes system according to the deployment package obtained in the step 301.
Step 303, deployment service: the server automatically deploys the service using the Kubernetes system according to the resource management information obtained in step 301.
Step 304, starting a business process: the server initiates the business process using the proxy process.
The process management procedure is shown in fig. 3c, step S1 creates a container, S2 creates and waits for a proxy process, S3 injects environment data, S4 performs service deployment, S5 health check, and S6 calls the proxy process to monitor process survival.
With further reference to fig. 4, a flow 400 of yet another embodiment of a cloud service deployment method is shown. The cloud service deployment method flow 400 includes the following steps:
step 401, a request to deploy a service of a target application is obtained.
Step 402, constructing a mirror image of the container based on the deployment package, and pushing the mirror image to a mirror image warehouse.
Step 403, selecting Pod based on the resource management information and deploying service in the selected Pod.
Step 404, the business process of the container is started by the proxy process.
Steps 401 to 404 are substantially the same as steps 201 to 204, and thus are not described in detail.
In response to receiving the health detection request, the survival of the business process is monitored by the proxy process, step 405.
In this embodiment, the health detection request may be triggered at regular time, or the health detection request sent by the terminal device or the K8S system may be received. The health check is not directly performed by the business process, but the survival of the business process is monitored by the proxy process. For example, heartbeat packets are sent over inter-process communications to monitor whether a business process is alive. And the migration is convenient under different environments.
In response to detecting that the business process is not alive, the business process of the container is restarted by the proxy process, step 406.
In this embodiment, if the service process does not survive, the service process needs to be restarted, and the service process is not restarted directly, but the service process of the container is restarted through the proxy process by the same process as that when the service process is created, so that migration under different environments is facilitated. .
Step 407, feeding back the survival detection result of the business process to Kubernetes.
In this embodiment, after receiving the survival detection result, the proxy process may feed back the survival detection result to the server, or may feed back the survival detection result to Kubernetes. And the Kubernetes are convenient for resource scheduling, and load balancing is realized.
With further reference to fig. 5, as an implementation of the method shown in the foregoing figures, the present disclosure provides an embodiment of a cloud service deployment apparatus, where an embodiment of the apparatus corresponds to the embodiment of the method shown in fig. 2, and the apparatus may be specifically applied in various electronic devices.
As shown in fig. 5, the cloud service deployment apparatus 500 of the present embodiment includes: an acquisition unit 501, a mirroring unit 502, a deployment unit 503, and a running unit 504. Wherein the obtaining unit 501 is configured to obtain a request for deploying a service of a target application program, where the request includes: the deployment package and the resource management information of the target application program; a mirror unit 502 configured to construct a mirror of the container based on the deployment package and push the mirror into a mirror repository; a deployment unit 503 configured to select a Pod based on the resource management information and deploy a service in the selected Pod; an execution unit 504 is configured to start a business process of the container by the proxy process.
In the present embodiment, the cloud service deployment apparatus 500: specific processing of the acquisition unit 501, the mirroring unit 502, the deployment unit 503, and the operation unit 504 may refer to steps 201, 202, 203, and 204 in the corresponding embodiment of fig. 2.
In some optional implementations of the present embodiment, the operation unit 504 is further configured to: in response to detecting the creation of the container, starting a proxy process; injecting environment variable data into the proxy process; the proxy process performs the start of the business process.
In some optional implementations of the present embodiment, the apparatus further comprises a monitoring unit (not shown in the drawings) configured to: in response to receiving the health detection request, survival of the business process is monitored by the proxy process.
In some optional implementations of the present embodiment, the apparatus further includes a restart unit (not shown in the drawings) configured to: responsive to detecting that the business process is not viable, restarting the business process of the container by the proxy process.
In some optional implementations of the present embodiment, the apparatus further includes a feedback unit (not shown in the drawings) configured to: and feeding back the survival detection result of the business process to the Kubernetes.
In some optional implementations of the present embodiment, the apparatus further includes a log unit (not shown in the drawings) configured to: and collecting logs in the cloud service deployment process, and storing the logs into a target path.
In some alternative implementations of this embodiment, the deployment of the proxy process is in the form of an initial container that is completely isolated from the business process.
In some optional implementations of this embodiment, the resource management information includes: the product and namespace to which the target application belongs, the type of cluster used by the target application, the type of machine, the service, the deployment, the set of replicas, and the number of Pod.
In some optional implementations of this embodiment, the resource management information is filled in by the developer in a page manner.
In some optional implementations of the present embodiment, the obtaining unit 501 is further configured to: and acquiring the deployment package according to the download address of the deployment package filled by the developer in a page mode.
In some optional implementations of the present embodiment, the obtaining unit 501 is further configured to: and automatically matching products and namespaces according to a development team to which the target application program belongs.
In the technical scheme of the disclosure, the related processes of collecting, storing, using, processing, transmitting, providing, disclosing and the like of the personal information of the user accord with the regulations of related laws and regulations, and the public order colloquial is not violated.
According to embodiments of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium and a computer program product.
An electronic device, comprising: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the methods of flows 200 and 400.
A non-transitory computer-readable storage medium storing computer instructions for causing a computer to perform the methods of flows 200 and 400.
A computer program product comprising a computer program that when executed by a processor implements the methods of flows 200 and 400.
Fig. 6 illustrates a schematic block diagram of an example electronic device 600 that may be used to implement embodiments of the present disclosure. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular telephones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the disclosure described and/or claimed herein.
As shown in fig. 6, the apparatus 600 includes a computing unit 601 that can perform various appropriate actions and processes according to a computer program stored in a Read Only Memory (ROM) 602 or a computer program loaded from a storage unit 608 into a Random Access Memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the device 600 may also be stored. The computing unit 601, ROM 602, and RAM 603 are connected to each other by a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
Various components in the device 600 are connected to the I/O interface 605, including: an input unit 606 such as a keyboard, mouse, etc.; an output unit 607 such as various types of displays, speakers, and the like; a storage unit 608, such as a magnetic disk, optical disk, or the like; and a communication unit 609 such as a network card, modem, wireless communication transceiver, etc. The communication unit 609 allows the device 600 to exchange information/data with other devices via a computer network, such as the internet, and/or various telecommunication networks.
The computing unit 601 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of computing unit 601 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various specialized Artificial Intelligence (AI) computing chips, various computing units running machine learning model algorithms, a Digital Signal Processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 601 performs the various methods and processes described above, such as a cloud service deployment method. For example, in some embodiments, the cloud service deployment method may be implemented as a computer software program tangibly embodied on a machine-readable medium, such as storage unit 608. In some embodiments, part or all of the computer program may be loaded and/or installed onto the device 600 via the ROM 602 and/or the communication unit 609. When the computer program is loaded into RAM 603 and executed by computing unit 601, one or more steps of the cloud service deployment method described above may be performed. Alternatively, in other embodiments, the computing unit 601 may be configured to perform the cloud service deployment method by any other suitable means (e.g., by means of firmware).
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuit systems, field Programmable Gate Arrays (FPGAs), application Specific Integrated Circuits (ASICs), application Specific Standard Products (ASSPs), systems On Chip (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs, the one or more computer programs may be executed and/or interpreted on a programmable system including at least one programmable processor, which may be a special purpose or general-purpose programmable processor, that may receive data and instructions from, and transmit data and instructions to, a storage system, at least one input device, and at least one output device.
Program code for carrying out methods of the present disclosure may be written in any combination of one or more programming languages. These program code may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus such that the program code, when executed by the processor or controller, causes the functions/operations specified in the flowchart and/or block diagram to be implemented. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and pointing device (e.g., a mouse or trackball) by which a user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic input, speech input, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a background component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such background, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), wide Area Networks (WANs), and the internet.
The computer system may include a client and a server. The client and server are typically remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server may be a cloud server, a server of a distributed system, or a server incorporating a blockchain.
It should be appreciated that various forms of the flows shown above may be used to reorder, add, or delete steps. For example, the steps recited in the present disclosure may be performed in parallel or sequentially or in a different order, provided that the desired results of the technical solutions of the present disclosure are achieved, and are not limited herein.
The above detailed description should not be taken as limiting the scope of the present disclosure. It will be apparent to those skilled in the art that various modifications, combinations, sub-combinations and alternatives are possible, depending on design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present disclosure are intended to be included within the scope of the present disclosure.

Claims (26)

1. A cloud service deployment method, comprising:
obtaining a request to deploy a service of a target application program, wherein the request comprises: the deployment package and the resource management information of the target application program;
constructing a mirror image of a container based on the deployment package, and pushing the mirror image into a mirror image warehouse;
selecting a Pod based on the resource management information and deploying a service in the selected Pod;
the business process of the container is started by the proxy process.
2. The method of claim 1, wherein the launching the business process of the container by the proxy process comprises:
in response to detecting the creation of the container, starting a proxy process;
injecting environment variable data into the proxy process;
the proxy process performs the start of the business process.
3. The method of claim 1, wherein the method further comprises:
in response to receiving the health detection request, survival of the business process is monitored by the proxy process.
4. A method according to claim 3, wherein the method further comprises:
responsive to detecting that the business process is not viable, restarting the business process of the container by the proxy process.
5. A method according to claim 3, wherein the method further comprises:
and feeding back the survival detection result of the business process to the Kubernetes.
6. The method of claim 1, wherein the method further comprises:
and collecting logs in the cloud service deployment process, and storing the logs into a target path.
7. The method of claim 1, wherein the deployment of the proxy process is in the form of an initial container that is completely isolated from the business process.
8. The method of claim 1, wherein the resource management information comprises: the product and namespace to which the target application belongs, the type of cluster used by the target application, the type of machine, the service, the deployment, the set of replicas, and the number of Pod.
9. The method of claim 1, wherein the resource management information is filled in by a developer in a page manner.
10. The method of claim 1, wherein the method further comprises:
and acquiring the deployment package according to the download address of the deployment package filled by the developer in a page mode.
11. The method of claim 8, wherein the method further comprises:
and automatically matching products and namespaces according to a development team to which the target application program belongs.
12. A cloud service deployment apparatus, comprising:
an acquisition unit configured to acquire a request to deploy a service of a target application program, wherein the request includes: the deployment package and the resource management information of the target application program;
the mirror image unit is configured to construct a mirror image of the container based on the deployment package and push the mirror image into a mirror image warehouse;
a deployment unit configured to select a Pod based on the resource management information and deploy a service in the selected Pod;
and the running unit is configured to start the business process of the container through the proxy process.
13. The apparatus of claim 1, wherein the execution unit is further configured to:
in response to detecting the creation of the container, starting a proxy process;
injecting environment variable data into the proxy process;
the proxy process performs the start of the business process.
14. The apparatus of claim 12, wherein the apparatus further comprises a monitoring unit configured to:
in response to receiving the health detection request, survival of the business process is monitored by the proxy process.
15. The apparatus of claim 14, wherein the apparatus further comprises a restart unit configured to:
responsive to detecting that the business process is not viable, restarting the business process of the container by the proxy process.
16. The apparatus of claim 14, wherein the apparatus further comprises a feedback unit configured to:
and feeding back the survival detection result of the business process to the Kubernetes.
17. The apparatus of claim 12, wherein the apparatus further comprises a log unit configured to:
and collecting logs in the cloud service deployment process, and storing the logs into a target path.
18. The apparatus of claim 12, wherein the deployment of the proxy process is in the form of an initial container that is completely isolated from the business process.
19. The apparatus of claim 12, wherein the resource management information comprises: the product and namespace to which the target application belongs, the type of cluster used by the target application, the type of machine, the service, the deployment, the set of replicas, and the number of Pod.
20. The apparatus of claim 12, wherein the resource management information is filled out by a developer in a page manner.
21. The apparatus of claim 12, wherein the acquisition unit is further configured to:
and acquiring the deployment package according to the download address of the deployment package filled by the developer in a page mode.
22. The apparatus of claim 19, wherein the acquisition unit is further configured to:
and automatically matching products and namespaces according to a development team to which the target application program belongs.
23. A cloud service deployment platform, comprising:
the front-end resource management module is configured to display resource management information and provide a page operation entry for a developer to fill in the resource management information;
a back end deployment execution module configured to perform the method of any of claims 1-11.
24. An electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-11.
25. A non-transitory computer readable storage medium storing computer instructions for causing the computer to perform the method of any one of claims 1-11.
26. A computer program product comprising a computer program which, when executed by a processor, implements the method according to any of claims 1-11.
CN202311744629.2A 2023-12-18 2023-12-18 Cloud service deployment methods, devices and platforms Active CN117724803B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311744629.2A CN117724803B (en) 2023-12-18 2023-12-18 Cloud service deployment methods, devices and platforms

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311744629.2A CN117724803B (en) 2023-12-18 2023-12-18 Cloud service deployment methods, devices and platforms

Publications (2)

Publication Number Publication Date
CN117724803A true CN117724803A (en) 2024-03-19
CN117724803B CN117724803B (en) 2026-02-10

Family

ID=90203043

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311744629.2A Active CN117724803B (en) 2023-12-18 2023-12-18 Cloud service deployment methods, devices and platforms

Country Status (1)

Country Link
CN (1) CN117724803B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118353887A (en) * 2024-04-25 2024-07-16 上海中汇亿达金融信息技术有限公司 Application development and deployment method based on cloud platform and cloud platform system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113364727A (en) * 2020-03-05 2021-09-07 北京金山云网络技术有限公司 Container cluster system, container console and server
WO2022062304A1 (en) * 2020-09-25 2022-03-31 亮风台(上海)信息科技有限公司 Method and device for deploying image recognition service on container cloud
CN115309500A (en) * 2022-07-26 2022-11-08 浪潮云信息技术股份公司 Method and system for deploying application and managing operation and maintenance of micro service architecture on cloud
CN115708061A (en) * 2021-08-20 2023-02-21 腾讯科技(深圳)有限公司 Method for deploying model by server, model processing method and device
CN116431277A (en) * 2023-03-13 2023-07-14 浙江海规技术有限公司 Multi-place operation and maintenance containerization method and device, computer equipment and storage medium
WO2023169272A1 (en) * 2022-03-07 2023-09-14 阿里巴巴(中国)有限公司 Cloud application-based processing method, electronic device, and storage medium
CN117093319A (en) * 2022-05-13 2023-11-21 北京字节跳动网络技术有限公司 Virtual machine deployment method, device, storage medium and product

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113364727A (en) * 2020-03-05 2021-09-07 北京金山云网络技术有限公司 Container cluster system, container console and server
WO2022062304A1 (en) * 2020-09-25 2022-03-31 亮风台(上海)信息科技有限公司 Method and device for deploying image recognition service on container cloud
CN115708061A (en) * 2021-08-20 2023-02-21 腾讯科技(深圳)有限公司 Method for deploying model by server, model processing method and device
WO2023169272A1 (en) * 2022-03-07 2023-09-14 阿里巴巴(中国)有限公司 Cloud application-based processing method, electronic device, and storage medium
CN117093319A (en) * 2022-05-13 2023-11-21 北京字节跳动网络技术有限公司 Virtual machine deployment method, device, storage medium and product
CN115309500A (en) * 2022-07-26 2022-11-08 浪潮云信息技术股份公司 Method and system for deploying application and managing operation and maintenance of micro service architecture on cloud
CN116431277A (en) * 2023-03-13 2023-07-14 浙江海规技术有限公司 Multi-place operation and maintenance containerization method and device, computer equipment and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
(波)米科拉吉·帕利科夫斯基著;王相译: "《混沌工程 通过可控故障实验提升软件系统可靠性》", 31 January 2023, 机械工业出版社, pages: 295 - 296 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118353887A (en) * 2024-04-25 2024-07-16 上海中汇亿达金融信息技术有限公司 Application development and deployment method based on cloud platform and cloud platform system

Also Published As

Publication number Publication date
CN117724803B (en) 2026-02-10

Similar Documents

Publication Publication Date Title
CN115292026B (en) Management method, device and equipment of container cluster and computer readable storage medium
CN111930521A (en) Method and device for deploying application, electronic equipment and readable storage medium
Yang et al. A profile-based approach to just-in-time scalability for cloud applications
CN110083455B (en) Graph calculation processing method, graph calculation processing device, graph calculation processing medium and electronic equipment
CN111090423B (en) Webhook framework system and method for realizing active calling and event triggering
CN105095059A (en) Method and device for automated testing
CN112114939A (en) Distributed system deployment equipment and method
CN103077034A (en) JAVA application migration method and system for hybrid virtualization platform
CN111414154A (en) Method and device for front-end development, electronic equipment and storage medium
CN112311605A (en) Cloud platform and method for providing machine learning service
CN110532182A (en) An automated testing method and device for a virtualization platform
CN117724803B (en) Cloud service deployment methods, devices and platforms
US11392433B1 (en) Generation of asynchronous application programming interface specifications for messaging topics
CN113805858A (en) Method and device for continuously deploying software developed by scripting language
CN110908644A (en) Configuration method and device of state node, computer equipment and storage medium
CN115617420A (en) Application program generation method, device, device and storage medium
CN115168840A (en) A fault injection method, device and computer-readable storage medium
CN115134228A (en) Environment link supply and detection method, device, equipment, medium and program product
CN119621183A (en) Application startup method, device, equipment, storage medium and product
CN114721740B (en) Message triggering method, device, equipment and storage medium
US10176062B2 (en) Cloud servers and methods for handling dysfunctional cloud services
CN117633382A (en) Page loading method and device, electronic equipment and computer readable medium
CN119938033A (en) Methods for page rendering, execution engines, and page building methods
US11487606B2 (en) Automated alert augmentation for deployments of software-defined storage
CN110599112A (en) Method and device for developing and maintaining network page

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