Cloud service deployment method, apparatus, and platform

By building container images, selecting Pods, and using agent processes to start business processes in cloud service deployment, this approach solves the problems of loose resource management and compatibility in Kubernetes in multi-cloud scenarios, reduces learning and transformation costs, and improves deployment efficiency.

CN117724803BActive Publication Date: 2026-02-10BEIJING BAIDU NETCOM SCI & TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311744629.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-12-18
Publication Date
2026-02-10
Estimated Expiration
2043-12-18

AI Technical Summary

Technical Problem

Kubernetes has loose resource management in large-scale multi-cloud scenarios, and the compatibility costs of migrating and using services across different deployment architectures are high, as are the learning and transformation costs of existing solutions.

Method used

This paper provides a cloud service deployment method that obtains a request to deploy the target application, builds a container image and pushes it to an image repository, selects a Pod based on resource management information and deploys the service in the Pod, and starts the container business process using an agent process. This simplifies the image building and deployment process and reduces the learning and modification costs for users.

Benefits of technology

It enables unified resource management across multiple cloud vendors, reducing the compatibility costs of business migration and deployment, and improving deployment efficiency and user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117724803B_ABST
    Figure CN117724803B_ABST
Patent Text Reader

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 scenarios.A specific implementation scheme is as follows: a request for deploying a service of a target application program is acquired, wherein the request comprises a deployment package and resource management information of the target application program; an image of a container is constructed based on the deployment package, and the image is pushed into an image warehouse; a Pod is selected based on the resource management information, and the service is deployed in the selected Pod; and a business process of the container is started through an agent process.This implementation only needs to maintain a set of codes, and can be used and run in different environments, thereby saving the maintenance cost of R&D personnel.The product can be quickly deployed and landed in different environments.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of cloud computing, and more particularly to the field of hybrid cloud deployment, specifically to a cloud service deployment method, apparatus, and platform. Background Technology

[0002] Kubernetes is an open-source container orchestration engine and a tool for managing containerized applications across multiple hosts in a cloud platform. Kubernetes supports automated deployment, massive scalability, and application containerization management.

[0003] Dynamic management using Kubernetes Labels is convenient for small teams, but it is too loose for managing larger resources. Moreover, current solutions mostly use Kubernetes single-cluster management, which is not easy to unify.

[0004] Popular community-driven technical solutions, primarily based on DevOps, utilize Git workflows and operate by embedding or adding plugins to code hosting repositories. After a user triggers a code commit or compilation, the code is deployed by reading pre-written description files from the repository. Implementing a DevOps development and deployment workflow requires a complete code management and binary build platform. The process is lengthy, with numerous components, and the modification and integration costs when using and embedding into existing development environments are high. DevOps requires every member of the development team to understand all processes, environment configurations, and usage. For teams pursuing high-quality development and efficient delivery, the learning curve is steep.

[0005] Currently, mainstream solutions involve starting and managing the lifecycle of service processes by running them in the foreground. However, this requires modifying the process mode to run in the foreground, resulting in high compatibility costs. Summary of the Invention

[0006] This disclosure provides a cloud service deployment method, apparatus, platform, device, storage medium, and computer program product.

[0007] According to a first aspect of this disclosure, a cloud service deployment method is provided, comprising: obtaining a request to deploy a service of a target application, wherein the request includes: a deployment package and resource management information of the target application; building a container image based on the deployment package and pushing the image to an image repository; selecting a Pod based on the resource management information and deploying the service in the selected Pod; and starting the business process of the container through an agent process.

[0008] According to a second aspect of this disclosure, a cloud service deployment apparatus is provided, comprising: an acquisition unit configured to acquire a request for a service of a target application, wherein the request includes: a deployment package and resource management information of the target application; an image unit configured to build a container image based on the deployment package and push the image to an image repository; a deployment unit configured to select a Pod based on the resource management information and deploy the service in the selected Pod; and a running unit configured to start the business process of the container through an agent process.

[0009] According to a third aspect of this disclosure, a cloud service deployment platform is provided, comprising: a front-end resource management module configured to display resource management information and provide a page operation entry for developers to fill in resource management information; and a back-end deployment and operation module configured to execute the method described in any one of the first aspects.

[0010] According to a fourth aspect of this disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected 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 described in any one of the first aspects.

[0011] According to a fifth aspect of this disclosure, a non-transitory computer-readable storage medium is provided storing computer instructions, wherein the computer instructions are used to cause the computer to perform the method described in any one of the first aspects.

[0012] According to a sixth aspect of this disclosure, a computer program product is provided, comprising a computer program that, when executed by a processor, implements the method described in any one of the first aspects.

[0013] The cloud service deployment method, apparatus, and platform provided in the embodiments of this disclosure solve the problem of loose resource management in large-scale application scenarios of Kubernetes resource management solutions in multiple cloud vendors, and also solve the problem of high compatibility costs in migrating and using services between different deployment architectures.

[0014] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0015] The accompanying drawings are provided to better understand this solution and do not constitute a limitation of this disclosure. Wherein:

[0016] Figure 1This is an exemplary system architecture diagram to which one embodiment of this disclosure can be applied;

[0017] Figure 2 This is a flowchart of one embodiment of the cloud service deployment method according to this disclosure;

[0018] Figures 3a-3d This is a schematic diagram of an application scenario based on the cloud service deployment method disclosed herein;

[0019] Figure 4 This is a flowchart of yet another embodiment of the cloud service deployment method according to this disclosure;

[0020] Figure 5 This is a schematic diagram of a structure of an embodiment of a cloud service deployment apparatus according to the present disclosure;

[0021] Figure 6 This is a schematic diagram of the structure of a computer system suitable for implementing embodiments of the present disclosure. Detailed Implementation

[0022] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.

[0023] Figure 1 An exemplary system architecture 100 is shown, to which embodiments of the cloud service deployment method or cloud service deployment apparatus of this disclosure may be applied.

[0024] like Figure 1 As shown, system architecture 100 may include terminal devices 101, 102, and 103, server 104, and Kubernetes system 105. Terminal devices 101, 102, and 103 communicate with server 104, and server 104 communicates with Kubernetes system 105 via a network. The network may include various connection types, such as wired or wireless communication links, or fiber optic cables, etc.

[0025] Users can use terminal devices 101, 102, and 103 to interact with server 104 via network 104 to receive or send messages, etc. Various communication client applications can be installed on terminal devices 101, 102, and 103, such as code development applications, web browser applications, shopping applications, search applications, instant messaging tools, email clients, social media platform software, etc.

[0026] Terminal devices 101, 102, and 103 can be either hardware or software. When terminal devices 101, 102, and 103 are hardware, they can be various electronic devices with a display screen and support web browsing, including but not limited to smartphones, tablets, e-book readers, MP3 players (Moving Picture Experts Group Audio Layer III), MP4 players (Moving Picture Experts Group Audio Layer IV), laptops, and desktop computers, etc. When terminal devices 101, 102, and 103 are software, they can be installed in the aforementioned electronic devices. They can be implemented as multiple software programs or software modules (e.g., to provide distributed services) or as a single software program or software module. No specific limitations are imposed here.

[0027] Server 104 can be a server providing various services. This server runs a cloud service deployment platform, which consists of two parts: a front-end resource management module and a back-end deployment and execution module. The front-end resource management module displays resource management information and provides a page entry point for developers to fill in resource management information, such as... Figure 3a As shown, developers set resource management information and submit the deployment package of the target application (which can be a pre-compiled code archive or a download link for that archive) through the resource management information interface displayed in the front-end resource management module on their terminal devices. The back-end deployment and execution module automatically deploys and runs the service based on the resource management information and the code, eliminating the need for developers to learn related operation methods and minimizing learning costs.

[0028] The server will deploy the target application deployment package and resource management information received from the terminal device to the Kubernetes system 105, and start the business process in each Pod to provide unified external services.

[0029] It's important to note that a server can be either hardware or software. When a server is hardware, it can be implemented as a distributed server cluster consisting of multiple servers, or as a single server. When a server is software, it can be implemented as multiple software programs or software modules (e.g., multiple software programs or software modules used to provide distributed services), or as a single software program or software module. No specific limitations are made here. A server can also be a server for a distributed system, or a server integrated with blockchain technology. A server can also be a cloud server, or an intelligent cloud computing server or intelligent cloud host with artificial intelligence technology.

[0030] It should be noted that the cloud service deployment method provided in the embodiments of this disclosure is generally executed by server 104, and correspondingly, the cloud service deployment device is generally set in server 104.

[0031] It should be understood that Figure 1 The number of terminal devices, networks, servers, Kubernetes system nodes, and Pods shown is merely illustrative. Depending on implementation needs, there can be any number of terminal devices, networks, servers, Kubernetes system nodes, and Pods.

[0032] Continue to refer to Figure 2 The diagram illustrates a flow 200 of an embodiment of a cloud service deployment method according to the present disclosure. This cloud service deployment method includes the following steps:

[0033] Step 201: Obtain a request for the service to deploy the target application.

[0034] In this embodiment, the execution entity of the cloud service deployment method (e.g. Figure 1 The server shown can receive requests for deploying the target application from the developer's terminal device via a wired or wireless connection. These requests include the target application's deployment package and resource management information. Developers can utilize the services provided in this application, such as... Figure 3a The request can be filled out via the graphical interface shown, or it can be submitted via the command line.

[0035] The deployment package can be a pre-compiled code archive or a download link for that archive.

[0036] Resource management information may include information such as the type and number of nodes and Pods to be scheduled in the Kubernetes system.

[0037] This application takes the App as the user's primary operational perspective, uniformly displaying and providing operational access points for all resources that a user needs to maintain an App, such as... Figure 3a As shown.

[0038] The hierarchical structure of resource management includes the following:

[0039] 1. Workspace: A workspace allows users to switch between and isolate different product lines to clearly distinguish between them. Users can choose their preferred option.

[0040] 2. Namespace: A namespace is an abstract concept for service isolation and originally belonged to resources within the Kubernetes cluster. This application elevates its importance here, using it to determine the namespace an application belongs to when it is created. Users can choose their own namespace.

[0041] 3. Application (App): An application consists of resources across multiple Kubernetes clusters. During the resource management process of this application, various Kubernetes resources exist under the App, including Deployments, StatefulSets, log collection, Services, monitoring and alerting resources, etc. Therefore, to facilitate resource management, this application elevates the concept of the application to the cluster level, allowing users to choose as needed.

[0042] 4. Cluster: A Kubernetes cluster, consisting of an Online environment for receiving traffic and an optional Sandbox environment for testing purposes. Users can choose whichever they prefer.

[0043] 5. Service: A service combines different deployments running the same code to collectively provide responses to API requests. This helps simplify traffic access. Services are created automatically by the platform.

[0044] 6. Deployment: Deployment contains descriptive information about how to configure the smallest unit of the application, enabling users to flexibly manage application deployment. Users can select the descriptive information for the smallest unit of the application (e.g., the number of pods), and the platform automatically deploys the service.

[0045] 7. ReplicaSet (RS): ReplicaSets are used to manage resources within a deployment. They are typically managed automatically by the deployment, reducing the need for manual maintenance. Managed by the platform, the maintenance process is invisible to the user.

[0046] 8. Pod: A Pod is a group of processes running user code, distributed across a set of machines. The number of Pods is selected by the user.

[0047] Step 202: Build a container image based on the deployment package and push the image to the image repository.

[0048] In this embodiment, an image carries binary data that encapsulates the application and all its software dependencies. An image is an executable software package that can run independently; this package has well-defined assumptions about its runtime environment. You typically create an application image and push it to an image registry, then reference it in a Pod. Image registries are tied to clusters. Container images can be built based on deployment packages using common software available in the prior art, and then pushed to the image registry.

[0049] Step 203: Select a Pod based on resource management information and deploy the service in the selected Pod.

[0050] In this embodiment, deployment objects are used to manage the release of new versions. A deployment represents a version of the deployed application that surpasses a specific version. Furthermore, deployments can migrate from one version of the code to another. This release process is specific and cautious. Upgrading Pods will be subject to a waiting period, which is configurable by the user. Health checks are also used to ensure the new version of the application runs correctly, and deployment will be stopped if too many failures occur.

[0051] Using deployments, new software versions can be released simply and reliably without interruption or errors. The actual software release mechanism executed by the deployment is controlled by the deployment controller running within the Kubernetes cluster. This means that deployments can still execute correctly and securely even when unattended. This allows deployments to easily integrate a large number of continuous release tools and services. Furthermore, running on the server side makes it safe to deploy applications from locations with weak or unstable network connections.

[0052] Pods can be selected based on resource management information using commonly used software with existing technologies, and services can be deployed in the selected Pods.

[0053] In the service deployment phase, Kubernetes fully manages the building and pushing of images, as well as the deployment and startup of processes, which involve the highest learning curve for users. This allows users to operate without any learning or familiarity, simply by providing a deployment package to run the application. The platform automatically handles the remaining tasks, including image building, image pushing, and the writing and execution of deployment scripts. Users do not need to learn any related scripts and can directly use and complete the deployment.

[0054] Step 204: Start the container's business process through the agent process.

[0055] In this embodiment, the business process is not started directly in the container startup command. Instead, the Kubernetes initial process starts the agent process (hereinafter referred to as the THC Agent). After the THC Agent starts, the THC then executes the startup of the business process. Thus, THC can be used to compatiblely implement the process startup requirements and processes in different environments, thereby reducing the transformation costs of migrating user services to new environments.

[0056] Meanwhile, the Agent is deployed using an Init Container, ensuring complete isolation from user processes and making the deployment seamless for the user. For example... Figure 3d As shown, the Init Container and the Container share a directory structure.

[0057] The method provided in the above embodiments of this disclosure takes the App as the user's primary operational perspective, uniformly displaying and providing an operational entry point for all resources that a user needs to maintain an App. The deployment delivery condition is a user-deployed compressed package, which is a uniformly used package that can be used in all deployment environments without any business awareness or intervention; it is all automatically executed by the management platform. By proxying the startup process of Kubernetes containers, different user startup processes and methods can be directly used on the platform without any code or script modifications.

[0058] In some optional implementations of this embodiment, starting the container's business process via the proxy process includes: starting the proxy process in response to detecting container creation; injecting environment variable data into the proxy process; and the proxy process executing the startup of the business process. After the environment variable data is injected into the proxy process, the proxy process can simulate the current operating environment, shielding it from environmental influences and reducing the compatibility costs of migrating and using the business across different deployment architectures. For example, if the development environment is a system developed by the software company itself, and not Kubernetes, using the proxy process allows for business migration across different deployment architectures without requiring developers to modify the code.

[0059] In some optional implementations of this embodiment, the method further includes: collecting logs during the cloud service deployment process and storing the logs in a target path. The platform automatically collects the logs during the cloud service deployment process and stores them in the target path, eliminating the need for manual configuration by developers and reducing learning costs.

[0060] In some optional implementations of this embodiment, the proxy process is deployed in the form of an initial container, completely isolated from the business process. This avoids interference from the business process to the proxy process and ensures a seamless deployment process for the user.

[0061] 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, services, deployments, replica sets, and the number of Pods. This application has planned a hierarchical structure for resource management information, which facilitates management and use, and overcomes the problem of loose resource management in Kubernetes resource management solutions in large-scale multi-cloud application scenarios. Originally, the cluster is the highest level in Kubernetes, but in this application, the application level is elevated above the cluster level, which facilitates resource management.

[0062] In some optional implementations of this embodiment, the resource management information is filled in by developers via a webpage. This visual approach facilitates developer operation, improves work efficiency, and reduces learning costs.

[0063] In some optional implementations of this embodiment, the method further includes: obtaining the deployment package based on the deployment package download address filled in by the developer via a page. This can reduce the traffic pressure on terminal devices uploading the deployment package and prevent network congestion.

[0064] In some optional implementations of this embodiment, the method further includes: automatically matching the product and namespace based on the development team to which the target application belongs. Developers do not need to manually fill in the product and namespace; after logging in, their development team can be determined based on their identity. The products and namespaces developed by that team are already set and can be automatically matched. This reduces the workload of developers, improves work efficiency, and avoids errors in product and namespace selection.

[0065] See also Figures 3a-3d , Figures 3a-3d This is a schematic diagram illustrating an application scenario of the cloud service deployment method according to this embodiment. Figures 3a-3d In application scenarios,

[0066] Step 301, Resource Management: Developers through... Figure 3a On the resource management page shown, fill in the resource management information and submit the deployment package for the target application.

[0067] Step 302, Create and push images: The server automatically creates and pushes images using the Kubernetes system based on the deployment package obtained in step 301.

[0068] Step 303, Deploy Service: The server automatically deploys the service using the Kubernetes system based on the resource management information obtained in step 301.

[0069] Step 304, Start the business process: The server starts the business process using the agent process.

[0070] Process management process such as Figure 3c As shown, steps S1 create a container, S2 create and wait for the agent process, S3 inject environment data, S4 execute service deployment, S5 perform health checks, and S6 call the agent process to monitor process survival.

[0071] Further reference Figure 4 This illustrates a flow 400 of yet another embodiment of a cloud service deployment method. Flow 400 of this cloud service deployment method includes the following steps:

[0072] Step 401: Obtain a request for the service to deploy the target application.

[0073] Step 402: Build a container image based on the deployment package and push the image to the image repository.

[0074] Step 403: Select a Pod based on resource management information and deploy the service in the selected Pod.

[0075] Step 404: Start the container's business process through the agent process.

[0076] Steps 401-404 are basically the same as steps 201-204, so they will not be described again.

[0077] Step 405: In response to receiving a health check request, monitor the survival of the business process through the agent process.

[0078] In this embodiment, health check requests can be triggered periodically, or health check requests sent by terminal devices or the Kubernetes system can be received. Instead of direct health checks by the business process, a proxy process monitors the business process's liveness. For example, heartbeat packets are sent via inter-process communication to monitor the business process's liveness. This facilitates migration in different environments.

[0079] Step 406: In response to the detection that the business process is not alive, restart the business process of the container through the proxy process.

[0080] In this embodiment, if the business process becomes unusable and needs to be restarted, it is not restarted directly. Instead, the process is handled the same as when the business process was created: the container's business process is restarted through a proxy process, facilitating migration in different environments.

[0081] Step 407: Feedback the liveness detection results of the business process to Kubernetes.

[0082] In this embodiment, after receiving the liveness detection result, the agent process can send the result back to the server and also to Kubernetes. This facilitates resource scheduling by Kubernetes and enables load balancing.

[0083] Further reference Figure 5 As an implementation of the methods shown in the above figures, this disclosure provides an embodiment of a cloud service deployment device, which is similar to... Figure 2 Corresponding to the method embodiments shown, this device can be specifically applied to various electronic devices.

[0084] like Figure 5As shown, the cloud service deployment device 500 of this embodiment includes: an acquisition unit 501, an image unit 502, a deployment unit 503, and a running unit 504. The acquisition unit 501 is configured to acquire a request for the service of a target application, wherein the request includes: the deployment package and resource management information of the target application; the image unit 502 is configured to build a container image based on the deployment package and push the image to an image repository; the deployment unit 503 is configured to select a Pod based on the resource management information and deploy the service in the selected Pod; and the running unit 504 is configured to start the container's business process through a proxy process.

[0085] In this embodiment, the specific processing of the cloud service deployment device 500—namely, the acquisition unit 501, the image unit 502, the deployment unit 503, and the running unit 504—can be referred to [reference needed]. Figure 2 The corresponding steps are 201, 202, 203, and 204 in the embodiment.

[0086] In some optional implementations of this embodiment, the running unit 504 is further configured to: start an agent process in response to detecting the creation of a container; inject environment variable data into the agent process; and start the business process in the agent process.

[0087] In some optional implementations of this embodiment, the device further includes a monitoring unit (not shown in the figures), configured to: monitor the survival of the business process through the agent process in response to receiving a health check request.

[0088] In some optional implementations of this embodiment, the apparatus further includes a restart unit (not shown in the figures), configured to: restart the container's business process via a proxy process in response to detecting that the business process is not alive.

[0089] In some optional implementations of this embodiment, the apparatus further includes a feedback unit (not shown in the figures), configured to feed back the liveness detection result of the business process to Kubernetes.

[0090] In some optional implementations of this embodiment, the device further includes a log unit (not shown in the figures), configured to: collect logs during the cloud service deployment process and store the logs in a target path.

[0091] In some optional implementations of this embodiment, the agent process is deployed in the form of an initial container, which is completely isolated from the business process.

[0092] 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, services, deployments, replica sets, and the number of Pods.

[0093] In some optional implementations of this embodiment, the resource management information is filled in by the developer via a webpage.

[0094] In some optional implementations of this embodiment, the acquisition unit 501 is further configured to: acquire the deployment package based on the deployment package download address filled in by the developer via a page.

[0095] In some optional implementations of this embodiment, the acquisition unit 501 is further configured to automatically match the product and namespace according to the development team to which the target application belongs.

[0096] The collection, storage, use, processing, transmission, provision, and disclosure of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0097] According to embodiments of this disclosure, this disclosure also provides an electronic device, a readable storage medium, and a computer program product.

[0098] An electronic device includes: at least one processor; and a memory communicatively connected 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 described in processes 200 and 400.

[0099] A non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause the computer to perform the methods described in processes 200 and 400.

[0100] A computer program product includes a computer program that, when executed by a processor, implements the methods described in processes 200 and 400.

[0101] Figure 6A schematic block diagram of an example electronic device 600 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0102] like Figure 6 As shown, device 600 includes a computing unit 601, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 602 or a computer program loaded from storage unit 608 into random access memory (RAM) 603. RAM 603 may also store various programs and data required for the operation of device 600. The computing unit 601, ROM 602, and RAM 603 are interconnected via bus 604. Input / output (I / O) interface 605 is also connected to bus 604.

[0103] Multiple components in device 600 are connected to I / O interface 605, including: input unit 606, such as keyboard, mouse, etc.; output unit 607, such as various types of monitors, speakers, etc.; storage unit 608, such as disk, optical disk, etc.; and communication unit 609, such as network card, modem, wireless transceiver, etc. Communication unit 609 allows device 600 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0104] The computing unit 601 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose 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 cloud service deployment methods. For example, in some embodiments, the cloud service deployment method may be implemented as a computer software program tangibly contained in 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 on device 600 via ROM 602 and / or communication unit 609. When the computer program is loaded into RAM 603 and executed by the 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 cloud service deployment methods by any other suitable means (e.g., by means of firmware).

[0105] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0106] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This 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 when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0107] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0108] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0109] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.

[0110] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.

[0111] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.

[0112] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.

Claims

1. A cloud service deployment method, comprising: A request to obtain the service for deploying the target application, wherein the request includes: the deployment package and resource management information of the target application, wherein 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, deployment, replica set, and the number of Pods; Build a container image based on the deployment package and push the image to the image repository; Based on the resource management information, a Pod is selected, and the service is deployed in the selected Pod; Starting a container's business process via a proxy process includes: starting a proxy process in response to detecting the creation of a container; injecting environment variable data into the proxy process so that the proxy process simulates the current running environment and shields the environment from influence; and the proxy process executing the startup of the business process, wherein the proxy process is deployed in the form of an initial container and is completely isolated from the business process.

2. The method according to claim 1, wherein, The method further includes: Upon receiving a health check request, the agent process monitors the survival of the business process.

3. The method according to claim 2, wherein, The method further includes: In response to the detection that the business process is not alive, the business process of the container is restarted through the agent process.

4. The method according to claim 2, wherein, The method further includes: The liveness detection results of the business process are fed back to Kubernetes.

5. The method according to claim 1, wherein, The method further includes: Collect logs during the cloud service deployment process and store the logs in the target path.

6. The method according to claim 1, wherein, The resource management information is filled in by the developers via a webpage.

7. The method according to claim 1, wherein, The method further includes: Obtain the deployment package based on the download address provided by the developer via the page.

8. The method according to claim 1, wherein, The method further includes: The product and namespace are automatically matched based on the development team to which the target application belongs.

9. A cloud service deployment device, comprising: The acquisition unit is configured to acquire a request for the service to deploy the target application, wherein the request includes: the deployment package and resource management information of the target application, and 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 replica set, and the number of Pods; An image unit is configured to build a container image based on the deployment package and push the image to an image repository; The deployment unit is configured to select a Pod based on the resource management information and deploy the service in the selected Pod; The running unit is configured to start the business process of the container through the agent process, including: starting the agent process in response to detecting the creation of the container; injecting environment variable data into the agent process so that the agent process simulates the current running environment and shields the environment from the influence; the agent process executes the start of the business process, wherein the agent process is deployed in the form of an initial container and is completely isolated from the business process.

10. The apparatus according to claim 9, wherein, The device also includes a monitoring unit configured to: Upon receiving a health check request, the agent process monitors the survival of the business process.

11. The apparatus according to claim 10, wherein, The device also includes a restart unit configured to: In response to the detection that the business process is not alive, the business process of the container is restarted through the agent process.

12. The apparatus according to claim 10, wherein, The device further includes a feedback unit configured to: The liveness detection results of the business process are fed back to Kubernetes.

13. The apparatus according to claim 9, wherein, The device also includes a log unit, configured to: Collect logs during the cloud service deployment process and store the logs in the target path.

14. The apparatus according to claim 9, wherein, The resource management information is filled in by the developers via a webpage.

15. The apparatus according to claim 9, wherein, The acquisition unit is further configured to: Obtain the deployment package based on the download address provided by the developer via the page.

16. The apparatus according to claim 9, wherein, The acquisition unit is further configured to: The product and namespace are automatically matched based on the development team to which the target application belongs.

17. A cloud service deployment platform, comprising: The front-end resource management module is configured to display resource management information and provide a page entry point for developers to fill in resource management information; The backend deployment and operation module is configured to perform the method described in any one of claims 1-8.

18. An electronic device comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-8.

19. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-8.

20. A computer program product comprising a computer program that, when executed by a processor, implements the method according to any one of claims 1-8.

Citation Information

Patent Citations

  • Multi-place operation and maintenance containerization method and device, computer equipment and storage medium

    CN116431277A

  • Cloud application-based processing method, electronic device, and storage medium

    WO2023169272A1