A service management method, device, equipment, program product and storage medium

By updating only the required component images in the cloud platform, the problem of low service update efficiency is solved, smaller update packages and higher efficiency are achieved, reducing cloud costs and improving scalability.

CN119356722BActive Publication Date: 2025-04-18SHENZHEN HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411939412.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-26
Publication Date
2025-04-18
Estimated Expiration
2044-12-26

AI Technical Summary

Technical Problem

In the cloud platform, there is a dependency between multiple components of a service, which causes the images of other components that depend on the component to be updated, thus reducing the efficiency of service updates.

Method used

By acquiring the deployment file of the first service on the first node, it is determined whether the image of the first component has been updated, and only the updated image of the first component is obtained to update the first service, avoiding updating the image of other components that have dependencies with the first component.

Benefits of technology

Reduces the update package size during service updates, improves the efficiency of service updates, reduces cloud costs, and improves the scalability of services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119356722B_ABST
    Figure CN119356722B_ABST
Patent Text Reader

Abstract

Disclosed are a service management method, apparatus, device, program product and storage medium, which relate to the field of cloud technology. When a first node determines that the image of a first component has been updated, since components other than the first component among multiple components do not rely on the first component to be updated, the first node only obtains the updated image of the first component to update the first service. In this way, the images of components in the first service that have a dependency relationship with the first component do not need to be updated, and the first node only obtains the updated image of the first component as an update package, which reduces the size of the update package when the service is updated, thereby improving the service update efficiency when the first service is updated based on a smaller update package.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of cloud technology, and in particular to a service management method, device, equipment, program product and storage medium. Background Art

[0002] At present, there are multiple containers running in the cloud platform, and services are running on the containers. The services include multiple components such as application components, operating system components that support application components, and public components. The images of each component in the application components, operating system components, and public components of the service are built. The application components of multiple services share the images of public components and operating system components, which reduces the cloud cost consumed by the service running in the container. However, there are dependencies between the multiple components of the service, and there are also dependencies between the images of the components. If the image of a component among the multiple components of the service is updated, the images of the components that have a dependency relationship with the component also need to be updated, resulting in low efficiency of service updates. Summary of the invention

[0003] The present application provides a service management method, apparatus, device, program product and storage medium, which can improve the efficiency of service updating.

[0004] In a first aspect, a service management method is provided, wherein a cloud system includes at least two nodes, a container is running on the node, and the container runs multiple services, each service includes multiple components, and the multiple components include an operating system component, a common component, and an application component. The application components of different services are different, and the container shares the image of the operating system component and the image of the common component to run multiple services, and the multiple services include a first service. The method is applied to the first node of the at least two nodes, and the method includes: the first node obtains the deployment file of the first service, and the deployment file includes the image information of multiple components. When the first node determines that the image of the first component has been updated according to the image information of the first component, the first node obtains the updated image of the first component according to the image information of the first component, and the first component is any one of the multiple components. The first node updates the first service according to the updated image of the first component, and the components other than the first component among the multiple components do not rely on the first component to be updated.

[0005] Based on the above service management method, when the first node determines that the image of the first component has been updated, since the components except the first component among the multiple components do not rely on the update of the first component, the first node only obtains the updated image of the first component to update the first service. In this way, the images of the components in the first service that have a dependency relationship with the first component do not need to be updated. The first node only obtains the updated image of the first component as an update package, which reduces the size of the update package when the service is updated, thereby improving the service update efficiency when the first service is updated based on a smaller update package.

[0006] As a possible implementation, the parent image of at least one second component that depends on the first component among the multiple components is a blank image, and the blank image is used to update the image of at least one second component without depending on the image update of the first component. In this way, when the image of the first component is updated, the first node does not need to update the image of at least one second component that depends on the first component, thereby improving the service update efficiency.

[0007] Optionally, the parent image of each component in the multiple components is a blank image, and the blank image is used to update the image of each component in the multiple components without relying on the image update of any component. In this way, when the image of at least one component in the multiple components is updated, the first node does not need to update the image of the remaining other components in the multiple components, thereby improving the service update efficiency.

[0008] As a possible implementation, the image information is an image link; the deployment file includes a first image link of the first component, and the deployment file before updating includes a second image link of the first component; when the first image link and the second image link are different, it is determined that the image of the first component has been updated; and the updated image of the first component is obtained according to the first image link. By comparing the two image links of the first component in the deployment file before updating and the deployment file after updating, the first node determines whether the image of the first component has been updated, thereby realizing service update when the image of the first component has been updated.

[0009] As a possible implementation, the image information includes an image update identifier and an image link; when the image update identifier of the first component determines that the image of the first component has been updated, the updated image of the first component is obtained according to the image link of the first component. The first node determines whether the image of the first component has been updated through the image update identifier of the first component, thereby realizing service update when the image of the first component has been updated.

[0010] As a possible implementation, the deployment file also includes the first running command and the first startup sequence of the images of the multiple components, and the first startup sequence is the arrangement order of the first running command; according to the first startup sequence, the first running command is executed to run the multiple components, and the images of the multiple components include the updated image of the first component. In this way, when the multiple components other than the first component do not depend on the first component, the first node implements the update and restart of the first service through the first running command of the images of the multiple components sorted according to the first startup sequence.

[0011] As a possible implementation, the container is a physical container, and the image link includes the address information of the image of each component in the multiple components mounted in the physical container. In this way, the image of each component is mounted in the physical container, so that the images of the public components and the components of the operating system can be shared, reducing the cloud cost of the service.

[0012] As a possible implementation, the deployment file includes a container storage interface (CSI) field of the image of at least one component in each component, and the container storage interface field contains a read-only flag, which indicates that the image of at least one component is mounted read-only on the physical container. In this way, the read-only mounting of the image is implemented through the CSI mounting protocol, thereby expanding the storage capacity of the image and ensuring the security of the image in the read-only scenario.

[0013] As a possible implementation, the container includes a first container and a second container, the first container runs the first service; when the updated image of the first component runs in the second container, the updated image of the first component is obtained from the second container; when the updated image of the first component is not running in the second container, the updated image of the first component is obtained from the image library. In this way, the first node reduces the size of the package obtained during the update and improves the service update efficiency by sharing the image of the component running in the second container.

[0014] As a possible implementation, the container does not run the second service; the deployment file of the second service is obtained; the deployment file also includes the second run command and the second startup sequence of the image of each component in the second service, and the second startup sequence is the arrangement order of the second run command; according to the image link of the application component in the second service, the image of the application component in the second service is loaded; the parent image of the image of the application component in the second service is a blank image; according to the second startup sequence, the second run command is executed to run each component of the second service in the container. In this way, in the scenario where a new service needs to be expanded, the first node only obtains the image of the application component of the new service, and executes the second run command in the deployment file to achieve the expansion of the new service, thereby having high scalability of the service.

[0015] In a second aspect, a service management method is provided, wherein a cloud system includes at least two nodes, a container is running on the node, the container runs multiple services, each service includes multiple components, the multiple components include an operating system component, a common component, and an application component, and the application components of different services are different. The container shares the image of the operating system component and the image of the common component to run multiple services, and the multiple services include a first service. The method is applied to the second node of the at least two nodes, and the method includes: packaging the first component that is updated in the first service to obtain an updated image of the first component; obtaining a deployment file of the first service based on the image information of the images of the multiple components; the images of the multiple components include the updated image of the first component, and the components of the multiple components other than the first component do not rely on the first component to be updated.

[0016] Based on the above service management method, when the image of the first component is updated, the second node only packages the first component without packaging components other than the first component among multiple components, thereby reducing the size of the update package when the service is updated, thereby improving the service update efficiency when the first service is updated based on a smaller update package.

[0017] As a possible implementation, the parent image of at least one second component that depends on the first component among the multiple components is a blank image, and the blank image is used to update the image of at least one second component without relying on the image update of the first component. In this way, the second node sets the parent image of at least one second component that depends on the first component among the multiple components to a blank image. When the image of the first component is updated, the first node does not need to update the image of at least one second component that depends on the first component, thereby improving the service update efficiency.

[0018] Optionally, the second node packages at least one second component that depends on the first component among the multiple components from scratch to obtain an image of the at least one second component. Since the from scratch method adopted by the second node does not use any image as a parent image, and the first layer of the image is the instructions written by the user, it is ensured that the parent image of the at least one second component is a blank image. When the image of the first component is updated, the first node does not need to update the image of the at least one second component that depends on the first component, thereby improving the service update efficiency.

[0019] Optionally, the second node packages each of the multiple components in a from scratch manner to obtain an image of each component. In this way, when the image of at least one component among the multiple components is updated, the first node does not need to update the images of the remaining components among the multiple components, thereby improving the service update efficiency.

[0020] As a possible implementation, the image information is an image link, or the image information includes an image update identifier and an image link. In this way, the first node can determine whether the image of the first component has been updated through the image update identifier or image link of the first component set by the second node, thereby implementing service update when the image of the first component has been updated.

[0021] As a possible implementation, the deployment file also includes the first running command and the first startup sequence of the images of the multiple components. In this way, when the components other than the first component of the multiple components do not depend on the first component, the first node implements the update and restart of the first service through the first running command of the images of the multiple components sorted in the first startup sequence.

[0022] Optionally, the first running command is configured in a command field in a startup probe field of the deployment file. In this way, the first node automatically loads, deploys, and runs the images of multiple components by executing the execution command in the command field to obtain the updated running first service.

[0023] As a possible implementation, the container is a physical container, and the image link includes the address information of the image of each component in the multiple components mounted in the physical container. In this way, the image of each component is mounted in the physical container, so that the images of the public components and the components of the operating system can be shared, reducing the cloud cost of the service.

[0024] As a possible implementation, the deployment file includes the CSI field of the image of at least one component in the components, and the container storage interface field includes a read-only flag, which indicates that the image of at least one component is mounted read-only on the physical container. In this way, the read-only mounting of the image is implemented through the CSI mounting protocol, thereby expanding the storage capacity of the image and ensuring the security of the image in the read-only scenario.

[0025] As a possible implementation method, the application components in the second service are packaged to obtain the image of the application components in the second service; the parent image of the image of the application components in the second service is a blank image; according to the image link of the image of the application components in the second service, the image link of the images of the common components and the operating system components, the second running command of the image of each component of the second service, and the second startup sequence, the deployment file of the second service is generated, and the second startup sequence is the arrangement order of the second running command. In this way, in the scenario where a new service needs to be expanded, the second node only packages the image of the application components of the new service and makes the deployment file of the second service to achieve the expansion of the new service, thereby having high scalability of the service.

[0026] According to a third aspect, a service management device is provided, wherein the service management device includes modules for executing the service management method according to the first aspect or any possible implementation manner of the first aspect.

[0027] The service management device described in the third aspect can be a computing device, or a chip (system), a network card or other parts or components that can be set in a computing device, or a device that includes a computing device, which is not limited in this application.

[0028] In addition, the technical effects of the service management device described in the third aspect can refer to the technical effects of the service management method described in the first aspect, and will not be repeated here.

[0029] According to a fourth aspect, a service management device is provided, wherein the service management device includes modules for executing the service management method according to the second aspect or any possible implementation manner of the second aspect.

[0030] The service management device described in the fourth aspect can be a computing device, or a chip (system), a network card or other parts or components that can be set in a computing device, or a device that includes a computing device, which is not limited in this application.

[0031] In addition, the technical effects of the service management device described in the fourth aspect can refer to the technical effects of the service management method described in the second aspect, and will not be repeated here.

[0032] In a fifth aspect, a cloud system is provided, comprising a first node and a second node, wherein the first node executes the operating steps of the method described in any possible implementation manner in the first aspect; and the second node executes the operating steps of the method described in any possible implementation manner in the second aspect.

[0033] In a sixth aspect, a computing device cluster is provided, comprising at least one computing device, each computing device comprising a processor and a memory;

[0034] The processor of the at least one computing device is used to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster performs the operating steps of the method described in any possible implementation of the first aspect; or performs the operating steps of the method described in any possible implementation of the second aspect.

[0035] In the seventh aspect, a computer-readable storage medium is provided, comprising computer program instructions. When the computer program instructions are executed by a computing device cluster, the computing device cluster executes the operating steps of the method described in the first aspect or any possible implementation of the first aspect; or executes the operating steps of the method described in the second aspect or any possible implementation of the second aspect.

[0036] In an eighth aspect, a chip system is provided. The chip system includes a memory and at least one processor. The memory is used to store a set of computer instructions, and when the processor executes the set of computer instructions, the operation steps of the method described in any possible implementation of the first aspect are executed; or the operation steps of the method described in any possible implementation of the second aspect are executed.

[0037] In a ninth aspect, a computer program product comprising instructions is provided. When the instructions are executed by a computing device cluster, the computing device cluster executes the operating steps of the method described in any possible implementation of the first aspect; or executes the operating steps of the method described in any possible implementation of the second aspect.

[0038] Based on the implementations provided in the above aspects, this application can also be further combined to provide more implementations. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] Figure 1 is a schematic diagram of a cloud platform;

[0040] Figure 2 A schematic diagram of a container after a node packages a containerized service image into a container;

[0041] Figure 3 A schematic diagram of a container scheduling process;

[0042] Figure 4 A timing diagram of a solution for packaging and deploying a service image to a computing node;

[0043] Figure 5 A schematic diagram of a container after a node packages containerized services in layers into containers;

[0044] Figure 6 A schematic diagram of the architecture of a cloud platform provided in an embodiment of the present application;

[0045] Figure 7 A schematic diagram of a layered structure of a cloud platform provided in an embodiment of the present application;

[0046] Figure 8 An architecture diagram of a cloud platform 800 provided in an embodiment of the present application;

[0047] Fig. 9 A flowchart of a service management method provided in an embodiment of the present application;

[0048] Fig.10 A schematic diagram of mounting an image of each component in a physical container provided in an embodiment of the present application;

[0049] Fig.11 A schematic diagram of a service installation process provided in an embodiment of the present application;

[0050] Fig.12 A timing diagram of a service installation process provided in an embodiment of the present application;

[0051] Fig.13 A schematic diagram of a service installation scenario provided in an embodiment of the present application;

[0052] Fig.14 A schematic diagram of a service management device 1400 provided in an embodiment of the present application;

[0053] Fig.15 A schematic diagram of a service management device 1500 provided in an embodiment of the present application;

[0054] Fig.16 A schematic diagram of a cloud system 1600 provided in an embodiment of the present application;

[0055] Fig.17 A schematic diagram of the structure of a computing device provided in an embodiment of the present application;

[0056] Fig.18 A schematic diagram of the structure of a computing device cluster provided in an embodiment of the present application;

[0057] Fig.19 A schematic diagram of a structure in which computing devices are connected via a network according to an embodiment of the present application. DETAILED DESCRIPTION

[0058] This application can be applied not only to existing cloud service technologies and containerized service scenarios, but also to future cloud service technologies and containerized service scenarios, etc. The cloud service in this application is, for example, a public cloud, a private cloud, a hybrid cloud, etc.

[0059] To facilitate understanding, the relevant terms involved in the embodiments of the present application are first introduced below.

[0060] (1) Cloud computing platform

[0061] Cloud platform, also known as cloud computing platform, refers to services based on hardware resources and software resources, providing computing, network and storage capabilities. That is, the platform provider combines cloud (remote hardware resources) and computing (remote software resources) to form a platform to provide various services to users.

[0062] The services provided by the cloud platform include software as a service (SaaS), platform as a service (PaaS) and infrastructure as a service (IaaS). SaaS is a service provider that deploys application software on the cloud platform's servers, and users order application software services from the service provider through the Internet based on their needs. PaaS is a service that provides the development environment as a service, that is, the service provider provides services such as development environment, server platform and hardware resources to users, and users develop applications in the development environment provided by the cloud platform and share them with other users through the cloud platform and the Internet. IaaS is a service provider that provides a cloud infrastructure consisting of multiple servers to users as a service, that is, it integrates memory, input / output devices, storage and computing resources into a virtual resource pool to provide users with storage resources and virtualized servers.

[0063] (2) Container

[0064] Containers are a lightweight and portable virtualization technology.

[0065] Containers package an application and its associated dependencies into a self-contained unit.

[0066] The container contains the necessary elements for the successful execution of the application, such as code, environment variables, processes and execution environment, and software dependencies.

[0067] (3) Layered packaging

[0068] A containerized service runs in each container of the pod. The service includes upper-level application components, underlying operating system components that support the application components, and common components.

[0069] Layered packaging is a way to package each component in a service separately to generate an image.

[0070] (4) Mirror

[0071] An image is an independent file system used to package services and their dependencies. An image contains the components required to run a service. An image is based on multiple layers, each layer represents a snapshot of a file system, and these layers are stacked together to form a complete file system.

[0072] In order to facilitate understanding of the technical problem of low service update efficiency in the background technology, a containerized service management method is described below.

[0073] Many containers will run simultaneously in the cloud platform, and containerized services will run in each container. Figure 1 is a schematic diagram of a cloud platform. Figure 1 As shown, the cloud platform includes a control node, at least one computing node ( Figure 1 Only two computing nodes are shown in Figure 1 The two computing nodes in FIG. 1 are only an example and are not limiting).

[0074] The control node includes the replication controller and the application programming interface server (API Server).

[0075] API Server is the front-end interface of the Kubernetes cluster. It is used to manage cluster resources and handle operations such as authentication, authorization, and resource version control. It is the core hub for interaction between users and components in the cluster.

[0076] The process manager is used to manage multiple container units (pods) in a computing node. Among them, pod is the smallest scheduling unit in the container cluster management system (kubernetes, K8s). A pod encapsulates at least one container, and the containers in the pod share the pod's network, storage and other resources. Since dozens, hundreds or thousands of temporary containers can be run in hardware devices, the need for container management arises. K8s is used to automatically manage and schedule applications defined by a single container.

[0077] Each of the at least one computing node includes a node agent (kubelet), a network agent (kube-proxy), an application container engine (docker), and at least one pod.

[0078] Kubelet is used to process the tasks sent by the control node to the current computing node and manage pods and containers in pods.

[0079] kube-proxy is responsible for creating a proxy service for the pod, obtaining all service information from the interface processing, and creating a proxy service based on the service information.

[0080] Docker is used to create containers. Docker allows developers to encapsulate various services and service dependency files required by the enterprise in Docker image files, and then install and run them on any physical device to achieve virtualization, allowing applications to be completely separated from the underlying devices, such as flexible migration and deployment between physical machines.

[0081] exist Figure 1In the cloud platform shown, multiple containers are running in the pod of each computing node, and each container contains a complete image of the service that is fully packaged. For example, the complete image of the service obtained by the computing node after fully packaging the service is shown below.

[0082] -name:OSS_LANG

[0083] value:zh_CN

[0084] image:registry.caas.local / default / appcontroller-x86_64:24.12.40

[0085] imagePullPolicy:IfNotpresent

[0086] In order for the pod of each computing node to run a container containing the complete image of the service, the node first runs the complete image after packaging the service image in the container. Figure 2 The following is a diagram of a container after a node packages a containerized service image into a container. Figure 2 As shown, the image of the application component of service A, the image of the common component and the image of the operating system component of service A are run in the container of service A, and the container of service A provides service A to the user based on the running image.

[0087] In getting Figure 2 After the container is created, the cloud platform's scheduling engine schedules the container to the computing node. The scheduling process is as follows: Figure 3 As shown, Figure 3 The following is a schematic diagram of a container scheduling process. The user controls N containers in the container layer through the control engine. The scheduling engine schedules the N containers to multiple computing nodes and stores them on multiple storage devices connected to the multiple computing nodes. N is a positive integer value and is not less than 3.

[0088] The above describes a schematic diagram of the scheduling process in which the scheduling engine schedules the container to the computing node after the node packages the image into the container. Next, a complete timing diagram is used to describe the process in which the node packages the service image and deploys it to the computing node.

[0089] Figure 4 A timing diagram of a solution for packaging and deploying service images to computing nodes, such as Figure 4 As shown, the solution includes a research and development phase and a service operation phase.

[0090] In the R&D stage, the second computing node of the developer will package the service into images, which include application components, operating system components and common components, and locally package the images of each component into an image package, and upload the image package to the image library. The image library returns the image link of the image package to the second computing node. The image link is the image package address or image package name in the form of a link.

[0091] During the service operation phase, the client provides the image link to the first computing node running the service, and the first computing node obtains the image package from the image library according to the image link. The image library returns the image package to the first computing node. The first computing node loads the image package locally and returns the process link of the service process to the client.

[0092] The image packaging method of the above containerized service includes the following problems.

[0093] (1) High cost

[0094] Each service has its own container, and the same common components and operating system components that each service depends on need to be packaged repeatedly, occupying the memory of the computing node, resulting in high costs.

[0095] (2) Poor scalability

[0096] When expanding new services, it is necessary to repeatedly package the public components and operating system components of the new services into the container. The existing public components and operating system components in the container cannot be used, resulting in poor expansion capabilities.

[0097] In order to solve the problems of high cost and poor scalability when packaging images, the node uses a layered packaging method to package services. That is, the node packages each component in the service separately to obtain the image of each component, and the service container runs the image of each component of the service, such as Figure 5 As shown, Figure 5 A diagram of a container after a node packages containerized services in layers. Figure 5 As shown, the container of service A includes images of common public components and images of operating system components, as well as images of application components of service A; the container of service B includes images of common public components and images of operating system components, as well as images of application components of service B; the container of service C includes images of common public components and images of operating system components, as well as images of application components of service C.

[0098] Since each component in the service can be packaged separately, the same common components and operating system components in each service do not need to be packaged repeatedly in the container. Instead, the images of the common components and the images of the operating system components can be reused, thereby reducing the cost of service operation. By reusing the images of the common components and the images of the operating system components to expand new services, the scalability of expanding new services in the container is improved.

[0099] However, since the images of each component obtained by the node for layered packaging of the service are interdependent, if the image of a component among multiple components of the service is updated, the images of the components that have dependencies on the component also need to be updated. The node needs to obtain all updated images of the component and the components that have dependencies on the component as an update package and update the service, which results in low efficiency of service updates.

[0100] In order to solve the problem of low service update efficiency, an embodiment of the present application provides a service management method. When the first node determines that the image of the first component has been updated, since the components other than the first component among the multiple components do not rely on the first component to update, the first node only obtains the updated image of the first component to update the first service. In this way, the images of the components in the first service that have a dependency relationship with the first component do not need to be updated, and the first node only obtains the updated image of the first component as an update package, which reduces the size of the update package when the service is updated, thereby improving the service update efficiency when the first service is updated based on a smaller update package.

[0101] The implementation of the embodiments of the present application will be described in detail below with reference to the accompanying drawings.

[0102] Figure 6 This is a schematic diagram of the architecture of a cloud platform provided in an embodiment of the present application. Figure 6 As shown, the cloud platform 600 includes a computing server cluster 610, a storage server cluster 620, a management server cluster 630, a network device cluster 640 and a user terminal 650. The computing server cluster 610, the storage server cluster 620 and the management server cluster 630 communicate with the user terminal 650 through the network device cluster 640 respectively.

[0103] The computing server cluster 610 includes one or more computing servers ( Figure 6 Two computing servers, namely computing server 611 and computing server 612, are shown in FIG. 1 , but are not limited to two computing servers).

[0104] Computing servers are computing resources in the cloud platform 600, such as servers and desktop computers, and are used to generate and allocate computing resources based on virtualization technology according to user needs. At the hardware level, the computing server is equipped with a processor and memory ( Figure 6The computing function of the computing server is realized by the processor running the program in the memory. The computing server can also read / write data in each storage server in the storage server cluster 620 according to user needs.

[0105] The storage server cluster 620 includes one or more storage servers ( Figure 6 Two storage servers, storage server 621 and storage server 622, are shown in the figure, but are not limited to two storage servers).

[0106] The storage server is a storage resource in the cloud platform 600, such as a server, a desktop computer or a controller of a storage array, a hard disk frame, etc., and is used to provide logical disk storage, unstructured data storage, and integrated backup services for cloud virtual machines in the cloud platform 600. In terms of hardware, a network card, a processor, and a memory are provided in the storage server. The processor in the storage server is used to process data from outside the storage server. The network card is used to control the access process of the memory, such as the control of address signals, data signals, and various command signals, so that the storage server can provide the memory as a storage resource to the user. The memory is used to store data, for example, including memory and / or hard disk. Memory refers to an internal memory that directly exchanges data with the processor. The memory can read and write data quickly at any time, and serves as a temporary data storage for the operating system or other running programs. Unlike memory, the hard disk reads and writes data slower than memory, and is usually used to store data persistently.

[0107] The management server cluster 630 includes one or more management servers ( Figure 6 Two management servers, namely management server 631 and management server 632, are shown in the figure, but are not limited to two management servers).

[0108] The management server is used to manage all computing services, shared storage, and networks of the entire cloud platform 600, and provide users or administrators with an API for managing the entire node.

[0109] The network device cluster 640 includes one or more switches and routers, such as Figure 6As shown, in this embodiment, the network device cluster 640 includes a router 641, a switch 642, a switch 643, a switch 644, and a switch 645. Among them, the user terminal 650 is connected to the router 641 through the Internet, and the router 641 is connected to the switch 643 through the switch 642, and the switch 643 is connected to each computing server in the computing server cluster 610. The switch 644 is respectively connected to each computing server in the computing server cluster 610 and each storage server in the storage server cluster 620. The switch 645 is respectively connected to each computing server in the computing server cluster 610, each storage server in the storage server cluster 620, and each management server in the management server cluster 630.

[0110] Optionally, the number and type of switches included in the network device cluster 640 can be adjusted according to the needs of the cloud platform 600. Switch 642, switch 643, switch 644, and switch 645 are switches with different functions, for example, switch 642 is a core switch, and switch 643, switch 644, and switch 645 are switches for managing specific network segments. By way of example, switch 642 is, for example, a core switch, switch 643 is, for example, an internal and external switching network segment switch, switch 644 is, for example, a storage network segment switch, and switch 645 is, for example, a management network segment switch.

[0111] The user terminal 650 includes one or more user terminals ( Figure 6 Two user terminals, namely user terminal 651 and user terminal 652, are shown in FIG. 6 , but are not limited to two user terminals). The user terminal includes an interface and application required for accessing the cloud platform 600.

[0112] It is worth noting that Figure 6 This is just a schematic diagram and should not be construed as limiting the present application. The cloud platform 600 may also include other devices. Figure 6 Not drawn in.

[0113] In such Figure 6 Based on the equipment of the cloud platform 600 shown, the cloud platform 600 implements the function of the service node based on IaaS, PssS and SaaS, and provides services (e.g., computing services, storage services and network services) to users through the service node. The service node is, for example, a cloud node (e.g., a control node, a working node, etc.) virtualized using the resources (e.g., computing resources and storage resources) of the cloud platform 600.

[0114] Next, combine Figure 7 The layered structure of the cloud platform 600 is described.

[0115] Figure 7A schematic diagram of a layered structure of a cloud platform provided in an embodiment of the present application. Figure 7 As shown, the infrastructure as a service platform 710 is used to virtualize all infrastructure resources in the cloud platform 600, and provide virtual resources (such as computing resources, network resources and storage resources) to users in a software-defined manner. Among them, the infrastructure resources refer to the resources provided by the computing server cluster 610, storage server cluster 620, management server cluster 630 and / or network device cluster 640 in the cloud platform 600.

[0116] The platform as a service platform 720 is used to implement the runtime environment and application support functions of the cloud platform 600, so that users can apply for computing units within the quota instead of virtual resources to run their own services. Optionally, the computing unit is, for example, a container, and the cloud platform 600 deploys and runs the user's code by scheduling the container. It should be noted that the number of containers in the platform as a service platform 720 is, for example, one or more. Figure 7 Only two containers are used as examples.

[0117] As a possible implementation, the cloud platform 600 can inject one or more components into the container to implement code deployment and operation. Optionally, the resources (computing resources or storage resources) used by multiple components in the same container belong to the same hardware device (such as a computing server, a storage server, or a management server) in the cloud platform 600, or to different hardware devices.

[0118] Among them, components include, for example, database components, message queue components, orchestration components, log components, virtualization components, business database components, configuration database components, rights management components, etc.

[0119] The SaaS application 730 is used to provide services to users by composing user-deployed applications in the form of API responses based on the IaaS platform 710 and the PaaS platform 720. The application of the SaaS application 730 communicates with the container, for example, through a web server.

[0120] It is worth noting that Figure 7 This is only a schematic diagram and should not be construed as limiting the present application. The hierarchical structure of the cloud platform 600 may also include other modules. Figure 7 Not drawn in.

[0121] The steps of the service management method provided in the embodiment of the present application are performed by a service node (e.g., a computing node) provided by the cloud platform 600. Figure 8 The service management method provided in the embodiment of the present application is described.

[0122] The service management method provided in the embodiment of the present application is applied to a cloud platform, for example, a cloud platform using a K8s system, which is composed of multiple physical nodes or virtual nodes, for example Figure 8 As shown, Figure 8 An architectural diagram of a cloud platform 800 provided in accordance with an embodiment of the present application.

[0123] The cloud platform 800 includes a control node 810, a first node 820, a second node 830, a storage node 840, and a user terminal 850. The control node 810 is, for example, a node with management functions. Figure 7 The service node shown, the control node 810 is for example Figure 6 The management server in the management server cluster 630 shown in FIG. 820 and the second node 830 are, for example, Figure 7 The service nodes shown, the first node 820 and the second node 830 are for example Figure 6 The computing servers in the computing server cluster 610 are shown. The storage node 840 is, for example, a computing server with storage function. Figure 7 The service node shown, the storage node 840 is for example Figure 6 The storage server in the storage server cluster 620 is shown. The user terminal 850 is, for example, Figure 6 A user terminal 650 is shown.

[0124] The control node 810 is respectively connected to the first node 820, the second node 830, the storage node 840 and the user terminal 850. For example, the control node 810 is respectively connected to the first node 820, the second node 830, the storage node 840 and the user terminal 850 through a wireless network or a wired network, the wireless network is, for example, a local area network, a wide area network, a metropolitan area network, a wireless network communication technology (WIFI) and Bluetooth, etc., and the wired network is, for example, a network connected by an optical cable, an optical fiber, an electric cable, a twisted pair, etc., which is not limited in the embodiment of the present application.

[0125] A container runs on the first node 820 and the second node 830. The container runs multiple services. Each service includes multiple components. The multiple components include operating system components, common components, and application components. The application components of different services are different. The container shares the images of operating system components and common components to run multiple services, including the first service.

[0126] The first node 820 obtains the deployment file of the first service. When the first node 820 determines that the image of the first component has been updated according to the image information of the first component, the first node 820 obtains the updated image of the first component according to the image information of the first component, where the first component is any one of the multiple components. The first node 820 updates the first service according to the updated image of the first component, and the components other than the first component among the multiple components do not depend on the first component to be updated.

[0127] The deployment file is used to build and run the image of the service in the container, and the deployment file includes the image information of multiple components. For example, the deployment file is a Dockerfile file.

[0128] As a possible implementation manner, the first node 820 , for example, receives a deployment file sent by the user terminal 850 , or for example, obtains a deployment file stored in the control node 810 .

[0129] As a possible implementation, the first service is run in the container, and after the first node 820 obtains the updated image of the first component, it replaces the image of the first component of the first service running in the container, and replaces the pre-update image of the first component with the updated image and runs it. The components other than the first component among the multiple components do not depend on the update of the first component, which means that whether other components are updated is determined by the first node 820 based on the image information of other components, and there is no relationship between the update of the first component and the update of other components, and the update of the first component does not cause the synchronous update of other components.

[0130] The second node 830 is a node for layered packaging of services in the cloud platform 800. When the developer updates the service, for the updated component in the first service, the second computing node packages the updated first component in the first service to obtain an updated image of the first component.

[0131] The second node 830 uploads the updated image to the image library in the form of an image package, and obtains the image information of the updated image of the first component returned by the image library. The second node 830 generates a deployment file for the first service according to the image information.

[0132] The second node 830 uploads the image package of the updated image to the image library in the storage node 840. The storage node 840 returns the image information of the updated image of the first component to the second node 830. The second node 830 receives the image information of the updated image of the first component returned by the storage node 840.

[0133] The second node 830 uploads the generated deployment file of the first service to the control node 810. When receiving the service update request of the first service sent by the user terminal 850, the control node 810 returns the deployment file of the first service to the user terminal 850.

[0134] Below Figure 8 The first node 820 and the second node 830 in the example of executing the service management method are used for explanation. Fig. 9 A flow chart of a service management method provided in an embodiment of the present application. Fig. 9 For the first node 820 and the second node 830, please refer to the aforementioned Figure 8 The relevant description is not repeated here. Fig. 9 As shown, the service management method includes steps 901 to 905.

[0135] Step 901: The second node 830 packages the updated first component in the first service to obtain an updated image of the first component.

[0136] When the first service is updated, the second node 830 packages the first component of the first service for the updated first component in the first service, and generates an updated image of the first component.

[0137] As a possible implementation manner, the second node 830 packages the updated first component in the first service in a from scratch manner to obtain an updated image of the first component.

[0138] As a possible implementation manner, the second node 830 uploads the image package of the updated image to the image library in the storage node 840 .

[0139] Step 902: The second node 830 obtains a deployment file of the first service according to the image information of the images of the multiple components.

[0140] The multiple components include a first component, the images of the multiple components include an updated image of the first component, and the components except the first component among the multiple components do not rely on the first component to be updated.

[0141] The second node 830 can obtain the image information of the updated image of the first component returned by the image library, and the image information of the other components of the deployment file before the update except the first component. The second node 830 obtains the deployment file of the first service according to the image information of the images of the multiple components.

[0142] As a possible implementation, the parent image of at least one second component among the multiple components that depends on the first component is a blank image, and the blank image is used to update the image of the at least one second component without depending on the image update of the first component.

[0143] The at least one second component includes: a component that can only run after the image of the first component runs in the running order of multiple components of the first service, that is, a second component that is functionally dependent on the first component among the multiple components.

[0144] The parent image of at least one second component is a blank image. The parent image is used to indicate an image that serves as the basis for building a new image. For example, when indicating that the parent image of a second component is the image of a first component, the image of at least one second component is built based on the image of the first component. A blank image is a virtual concept that does not exist. The parent image of at least one second component is a blank image, which means that the image of at least one second component is not based on any image, and the first layer of the image of at least one second component is the instructions written by the user, rather than any existing image.

[0145] As a possible implementation manner, the second node 830 uploads the deployment file to the control node 810 .

[0146] Step 903: The first node 820 obtains a deployment file of the first service.

[0147] The deployment file includes image information of multiple components.

[0148] As a possible implementation manner, the first node 820, for example, obtains the deployment file of the first service from the second node 830;

[0149] As a possible implementation manner, the first node 820 obtains the deployment file of the first service uploaded by the second node 830 from the control node 810, for example;

[0150] As a possible implementation, the first node 820, for example, receives a deployment file of the first service sent by the user terminal 850. The deployment file of the first service sent by the user terminal 850 is a deployment file of the first service returned by the control node 810 in response to the service update request by sending a service update request of the first service to the control node 810. The embodiment of the present application is not limited by comparison.

[0151] Step 904: When the first node 820 determines that the image of the first component has been updated according to the image information of the first component, the first node 820 obtains the updated image of the first component according to the image information of the first component.

[0152] The first component is, for example, any one of the multiple components, and the first component includes, for example, any one of the operating system component, the common component or the application component.

[0153] The first component is, for example, at least one component among multiple components, and the first component includes, for example, at least one component among an operating system component, a common component, or an application component.

[0154] As a possible implementation, the mirror information is a mirror connection. The mirror link includes identification information of the mirror of the component in the form of a link, and the identification information is, for example, the address and name of the mirror of the component.

[0155] As a possible implementation, the mirror information is a mirror connection. The container in the first node 810 is a physical container, and the mirror connection includes address information of the mirror of each component in the multiple components mounted in the physical container.

[0156] Fig.10 A schematic diagram of mounting the image of each component in a physical container provided in an embodiment of the present application. Fig.10 As shown, the user sends the physical container mounted by the image of each component included in services 1 to N in the container layer to the scheduling engine for scheduling through the control engine.

[0157] The scheduling engine schedules the physical container mounted with the image of the application component of service 1 in the container layer, the physical container mounted with the image of the application component of service 2, the physical container mounted with the image of the application component of service N, the physical container mounted with the image of the common component shared by services 1 to N, and the physical container mounted with the image of the operating system component shared by services 1 to N to different computing nodes, and stores them on multiple storage devices connected to the multiple computing nodes.

[0158] Optionally, the image of at least one of the multiple components is mounted in a physical container using a container storage interface (CSI) mounting protocol, or the image of at least one of the multiple components is also mounted in a physical container using other protocols.

[0159] When the image of at least one component among the multiple components is mounted in a physical container using the CSI mounting protocol, the deployment file includes the CSI field of the image of at least one component among the multiple components. The CSI field of the image of at least one component includes multiple sub fields. The sub field includes at least one field of a driver field, a volume attribute field, and a name field.

[0160] For example, the specific content of the above CSI field is as follows Fig.11 The relevant description of the embodiments of the present application will not be repeated here.

[0161] The CSI mount protocol is used to expand the storage capacity of files on computing nodes.

[0162] For example, the CSI mount protocol for mounting for storage capacity expansion is as follows.

[0163] -csi:

[0164] driver: nasplugin.csi.alibabacloud.com

[0165] volumeHandle: pv-nas

[0166] volumeAttributes:

[0167] server: "2564f4****-ysu87.cn-shenzhen.nas.aliyuncs.com"

[0168] path: " / csi"

[0169] The CSI field of the image of at least one component also includes, for example, a read-only flag, which indicates that the image of at least one component is mounted read-only on the physical container. For example, the read-only flag in the CSI field of the image of at least one component is a read-only (readOnly) field.

[0170] The identification information of the image of the operating system component is operating system image y, and operating system image y is the name of the image of the operating system component. The identification information of the image of the public component includes package.image.x1 and package.image.x2, where package.image.x1 and package.image.x2 are the addresses of the images of different public components. The identification information of the image of the application component is service A image, and service A image is the name of the image of the application component.

[0171] For example, the image link for the operating system component is registry.caas.local / default / sop_base_image-x86_64:24.12.6.

[0172] Image links of public components include, for example, cloudsop.infra.dataagent, npkg.etcd3_connector_python: 0.12.1, npkg.python: 24.12.18, and npkg.zenith_connector_python:24.12.6.

[0173] The mirror link of the application component is, for example, a data agent.

[0174] The deployment file includes a first image link of the first component, and the deployment file before the update includes a second image link of the first component. When the first image link and the second image link are different, the first node 820 determines that the image of the first component has been updated, and the first node 820 obtains the updated image of the first component according to the first image link.

[0175] As another possible implementation, the image information includes an image update identifier and an image link, and the image update identifier is used to indicate whether the image of the component is updated. When the image update identifier of the first component determines that the image of the first component has been updated, the first node 820 obtains the updated image of the first component according to the image link of the first component.

[0176] Optionally, the container running on the first node 820 includes a first container and a second container, and the first container runs a first service. When the updated image of the first component runs in the second container, the first node 820 obtains the updated image of the first component from the second container. When the updated image of the first component is not running in the second container, the first node 820 obtains the updated image of the first component from the image library.

[0177] Step 905: The first node 820 updates the first service according to the updated image of the first component.

[0178] As a possible implementation, the deployment file includes a first running command and a first startup sequence of the images of the multiple components, and the first startup sequence is the arrangement order of the first running commands. The first node 820 executes the first running command to run the multiple components according to the first startup sequence, and the images of the multiple components include the updated image of the first component.

[0179] The deployment file includes a first running command composed of running commands of the images of multiple components of the first service, and the startup order of the images of the multiple components is the arrangement order of the running commands of the multiple components. The first node 820 executes the first running command to restart the first service, loads, deploys, and runs the images of the multiple components according to the first startup order, and obtains the first service that is running after the update.

[0180] Optionally, the first running command is configured in the command field in the startupProbe field of the deployment file. After receiving the deployment file, the first node 820 executes the commands in the command field one by one, and automatically loads, deploys, and runs the images of the multiple components according to the image links of the images of the multiple components in the configuration file to obtain the first service that is running after the update.

[0181] As a possible implementation, after step 905, the first node 820, for example, extends the second service in the container. When the second service is not running in the container, the first node 820 obtains a deployment file of the second service, the deployment file including a second running command and a second startup sequence of the image of each component in the second service, and the second startup sequence is the arrangement order of the second running commands.

[0182] The first node 820 loads the acquired image of the application component in the second service according to the image link of the application component in the second service, where the parent image of the image of the application component in the second service is a blank image; and executes the second run command to run each component of the second service in the container according to the second startup sequence.

[0183] In this way, in the scenario of expanding and releasing a new service, the first node 820 only needs to obtain the image of the application component corresponding to the service to implement service expansion, thereby improving the scalability of the service.

[0184] Based on the above Fig. 9 As described in steps 901 to 905, when the first node 820 determines that the image of the first component has been updated based on the image information of the first component in the deployment file generated by the second node 830, since the components other than the first component among the multiple components do not depend on the update of the first component, the first node 820 only obtains the updated image obtained by packaging the first component that has been updated in the first service by the second node 830 to update the first service. In this way, the image of the component in the first service that has a dependency relationship with the first component does not need to be updated. The first node 820 only obtains the updated image of the first component as the update package, which reduces the size of the update package when the service is updated, thereby improving the service update efficiency when the first service is updated based on a smaller update package.

[0185] The above describes the complete process of service update. Before the service update, you need to install the service first. The following describes the service installation process. Figure 8 The control node 810, the first node 820, the second node 830, the storage node 840 and the user terminal 850 in the example of performing service installation are described. Fig.11 A schematic diagram of a service installation process provided in an embodiment of the present application, regarding Fig.11Please refer to the control node 810, the first node 820, the second node 830, the storage node 840 and the user terminal 850 in the above Figure 8 The relevant description is not repeated here. Fig.11 As shown, the service installation process includes steps 1101 to 1112.

[0186] Step 1101: The second node 830 packages the first service in layers to obtain an image of each component.

[0187] The second node 830 performs layered packaging on the first service, that is, packages each component in the first service separately, generates an image of each component, and generates an image package of each component according to the image of each component.

[0188] Step 1102 : The second node 830 uploads the image of each component to the image library of the storage node 840 .

[0189] Step 1103 : The storage node 840 returns the mirror link of each component's mirror to the second node 830 .

[0190] As a possible implementation manner, the storage node 840 generates a mirror link of the mirror of each component according to the address and name of the mirror of each component, and returns the mirror link of the mirror of each component to the second node 830 .

[0191] Step 1104 : The second node 830 obtains the image link of the image of each component returned by the image library of the storage node 840 .

[0192] Step 1105: The second node 830 generates a deployment file according to the image link and the startup sequence of the images of the pre-configured multiple components.

[0193] The startup sequence of the images of the multiple components is pre-configured by the R&D personnel. The second node 830 generates the running command in the deployment file according to the startup sequence of the images of the multiple components, and configures the identification information of the image of each component, thereby generating the deployment file.

[0194] As a possible implementation manner, a CSI field of an image of at least one component of multiple components is configured in the deployment file. The CSI field of the image of at least one component includes, for example, a read-only flag.

[0195] Optionally, the second node 830 configures an image link of the image of the operating system component in the image field of the deployment file.

[0196] For example, the image field configures the image link of the image of the operating system component as shown below.

[0197] image:registry.cass.local / default / sop_base_image-x86_64:24.12.6.

[0198] Optionally, the second node 830 creates multiple csi fields in the deployment file. Specifically, the second node 830 creates a csi field for each image according to the number of images of the common components and application components.

[0199] The csi field is created based on the CSI standard. The csi field contains at least one of the driver field, volumeAttributes field, readOnly field, and name field. The driver field configures a specific service loading engine. The volumeAttributes field configures the image address, version, name, path, size, and other operation-related information of the public component. The readOnly field is an optional field, which indicates that the item is mounted as read-only. The name field is the public name of the public component, which is used to identify the name of the public component.

[0200] For example, the csi field corresponding to the image of the public component is as follows.

[0201] -csi:

[0202] driver: sop-csi-driver

[0203] volumeAttributes:

[0204] bootstrap:dataagent

[0205] identity:cloudsop.infra.dataagent

[0206] Size: 50 Mi

[0207] textLogPath:textlog

[0208] type: log

[0209] name: mylog

[0210] -csi:

[0211] driver: sop-csi-driver

[0212] readOnly: type

[0213] volumeAttributes:

[0214] bootstrap:dataagent

[0215] npkg.etcd3_connector_python: 0.12.1

[0216] npkg.python:24.12.18

[0217] npkg.zenith_ connector_python: 24.12.6

[0218] type: pkg

[0219] upkg.dataagent: 24.12.6

[0220] name: mylog

[0221] -csi:

[0222] driver: sop-csi-driver

[0223] volumeAttributes:

[0224] bootstrap:dataagent

[0225] identity:cloudsop.infra.dataagent

[0226] type: sidecar

[0227] name: my sidecar

[0228] -csi:

[0229] driver: sop-csi-driver

[0230] volumeAttributes:

[0231] bootstrap:dataagent

[0232] type:db-provider

[0233] name:agent-uds

[0234] For example, the csi field corresponding to the image of the application component is as follows.

[0235] -csi:

[0236] driver: sop-csi-driver

[0237] volumeAttributes:

[0238] bootstrap:dataagent

[0239] type: data

[0240] name: mydata

[0241] -csi:

[0242] driver: sop-csi-driver

[0243] volumeAttributes:

[0244] bootstrap:dataagent

[0245] type:cr

[0246] name:cr

[0247] Step 1106 : The second node 830 sends a deployment file to the control node 810 .

[0248] Step 1107 : The user terminal 850 sends a service installation request to the control node 810 .

[0249] The service installation request includes identity document (ID) information of the first service to be installed.

[0250] Step 1108 : The control node 810 returns the deployment file to the user terminal 850 .

[0251] Step 1109 : The first node 820 receives the deployment file of the first service sent by the user terminal 850 .

[0252] Step 1110: The first node 820 obtains the image of each component according to the image link of the image of each component in the deployment file.

[0253] The container includes a first container and a second container, and the first container runs a first service.

[0254] As a possible implementation, the first node 820 obtains the image of the application component from the image library of the storage node 840 according to the image link of the image of the application component. When the image of the operating system component and the image of the common component are running in the second container, the first node 820 obtains the image of the operating system component and the image of the common component from the second container according to the image link of the image of the operating system component and the image of the common component.

[0255] Step 1111: The first node 820 loads and deploys the image of each component according to the startup order of each component in the deployment file.

[0256] As a possible implementation, the deployment file includes the running command of the image of each component in the service, and the startup order of the image of each component in the service is the arrangement order of the running command of the image of each component. The first node 820 splices and deploys the image of each component according to the running command of the image of each component in the deployment file.

[0257] Optionally, the command to run is configured in the command field of the startupProbe field of the deployment file.

[0258] For example, the command field in the startupProbe field of the deployment file that configures the run command is as follows.

[0259] startupProbe

[0260] exec:

[0261] command:

[0262] - / bin / sh

[0263] --c

[0264] ps -efww | grep 'main_action'|grep -v grep

[0265] Step 1112: The first node 820 starts the image of each component in sequence and runs the installed services.

[0266] As a possible implementation manner, the first node 820 runs the image of each component in sequence according to the running command in the deployment file, completes the installation and operation of the service.

[0267] Based on the above Fig.11As described from step 1101 to step 1112, the image of each component after the service is layered and packaged by the second node 830 does not depend on the images of other components in the service, and the startup order of the image of each component is configured in the deployment file. When there is no dependency between the images of each component, when the first node 820 installs the service, since the images of the common components and the operating system components are shared, only the image of the application component on the upper layer of the service is obtained as the release, thereby reducing the size of the release.

[0268] The above describes the service installation process. Next, the layered packaging and installation process of the service is described through a specific example. Fig.12 A timing diagram of a service installation process provided in an embodiment of the present application, such as Fig.12 As shown, the process includes a research and development phase and a service installation phase.

[0269] In the development stage, the second node 830 packages the application components, operating system components and common components in the service in layers, and uploads the generated image of each component to the image library in the form of an image package. The image library returns the image link of each component image to the second node 830.

[0270] In the service installation phase, the user terminal 850 provides the deployment file to the first node 820. The first node 820 reads the deployment file to obtain the image link of the image of each component, and obtains the image of each component according to the image link. The image library returns the image to the first node 820. The first node 820 loads the image of each component locally and returns the process link of the service process to the user terminal 850.

[0271] The above describes the process of updating and installing the service. Next, the process of installing the network operation service by the operator user is described.

[0272] In order to use network operation services, operator users will purchase computing servers and storage servers in the cloud platform to deploy network operation services.

[0273] R&D personnel will publish network operation services for network devices on the cloud platform, and publish deployment files for network operation services based on existing containerization technology.

[0274] After the user terminal of the operator user obtains the deployment file, it will send the deployment file to the cloud platform. The cloud platform deploys the network operation service software on the container based on the deployment file, schedules the container to the pod through the scheduling engine, and then mounts it to the computing server. In the customer interface at the top level of the cloud platform, the operator user controls and uses the network operation service at the container layer through the control engine.

[0275] As a possible implementation method, when the network operation service is installed for the first time, the user terminal of the operator user will obtain the deployment file and the images of the operating system components, public components and application components. The cloud platform deploys the images of the operating system components, public components and application components in the physical layer of the container based on the deployment file, and realizes the independent deployment of each service on the logical layer through CSI mounting.

[0276] As a possible implementation, when the network operation service is upgraded, the user terminal of the operator user will obtain the deployment file and the image of the application component. The cloud platform updates the network operation service based on the deployment file and the image of the application component.

[0277] Fig.13 A schematic diagram of a service installation scenario provided in an embodiment of the present application. Fig.13 As shown, the container layer of the cloud platform includes physical containers mounted with images of application components of service 1, service 2, and even service N, and also includes physical containers mounted with images of common components and operating system components shared by services 1 to N. N is a positive integer value, and N is not less than 3.

[0278] In the container layer of the cloud platform, deployment files corresponding to services 1 to N are loaded into N containers. The scheduling engine of the cloud platform schedules N containers to multiple computing nodes and saves them on multiple storage devices connected to multiple computing nodes. When multiple computing nodes load and run services, they load the image of each component and run the service through the image link of the image of each component in the configuration file.

[0279] The above describes in detail the service management method provided by this embodiment. Fig.14 , describing the service management device provided by this embodiment.

[0280] Fig.14 A schematic diagram of a service management device 1400 provided in an embodiment of the present application. A cloud system includes at least two nodes, containers are running on the nodes, the containers are running multiple services, each service includes multiple components, the multiple components include operating system components, common components and application components, different services have different application components, the containers share the images of operating system components and common components to run multiple services, the multiple services include a first service; the service management device 1400 is applied to the first node of the at least two nodes, such as Fig.14 As shown, the service management device 1400 includes:

[0281] The acquisition module 1401 is used to acquire a deployment file of the first service, where the deployment file includes the image information of the multiple components; when it is determined that the image of the first component has been updated according to the image information of the first component, acquire the updated image of the first component according to the image information of the first component, where the first component is any one of the multiple components;

[0282] The management module 1402 is configured to update the first service according to the updated image of the first component, wherein components other than the first component among the plurality of components do not depend on the first component for updating.

[0283] As a possible implementation, the parent image of at least one second component among the multiple components that depends on the first component is a blank image, and the blank image is used to update the image of the at least one second component without depending on the image update of the first component.

[0284] As a possible implementation method, the image information is an image link; the deployment file includes a first image link of the first component, and the deployment file before updating includes a second image link of the first component; the acquisition module 1401 is specifically used to determine that the image of the first component has been updated when the first image link and the second image link are different; and obtain the updated image of the first component according to the first image link.

[0285] As a possible implementation method, the image information includes an image update identifier and an image link; the acquisition module 1401 is specifically used to obtain the updated image of the first component according to the image link of the first component when the image update identifier of the first component determines that the image of the first component has been updated.

[0286] As a possible implementation method, the deployment file also includes a first running command and a first startup sequence of images of multiple components, and the first startup sequence is the arrangement order of the first running command; the management module 1402 is specifically used to execute the first running command to run multiple components according to the first startup sequence, and the images of the multiple components include the updated image of the first component.

[0287] As a possible implementation manner, the container is a physical container, and the image link includes address information of an image of each component in the multiple components mounted in the physical container.

[0288] As a possible implementation, the deployment file includes a container storage interface field of an image of at least one component among multiple components, and the container storage interface field includes a read-only flag, which indicates that the image of at least one component is mounted read-only on a physical container.

[0289] As a possible implementation, the container includes a first container and a second container, and the first container runs the first service. The acquisition module 1401 is specifically used to acquire the updated image of the first component from the second container when the updated image of the first component runs in the second container; and to acquire the updated image of the first component from the image library when the updated image of the first component does not run in the second container.

[0290] As a possible implementation, the container does not run the second service. The acquisition module 1401 is also used to acquire the deployment file of the second service; the deployment file also includes the second run command and the second startup sequence of the image of each component in the second service, and the second startup sequence is the arrangement order of the second run command; the management module 1402 is also used to load the image of the application component in the second service according to the image link of the application component in the second service; the parent image of the image of the application component in the second service is a blank image; according to the second startup sequence, the second run command is executed to run each component of the second service in the container.

[0291] The acquisition module 1401 and the management module 1402 can be implemented by software or hardware. For example, the implementation of the acquisition module 1401 is described below by taking the acquisition module 1401 as an example. Similarly, the implementation of the management module 1402 can refer to the implementation of the acquisition module 1401.

[0292] As an example of a software functional unit, the acquisition module 1401 may include code running on a computing instance. The computing instance may include at least one of a physical host (computing device), a virtual machine, and a container. Furthermore, the computing instance may be one or more. For example, the acquisition module 1401 may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code may be distributed in the same region or in different regions. Furthermore, the multiple hosts / virtual machines / containers used to run the code may be distributed in the same availability zone (AZ) or in different AZs, each AZ including one data center or multiple data centers with close geographical locations. Generally, a region may include multiple AZs.

[0293] Similarly, multiple hosts / virtual machines / containers used to run the code can be distributed in the same virtual private cloud (VPC) or in multiple VPCs. Usually, a VPC is set up in a region. For cross-region communication between two VPCs in the same region and between VPCs in different regions, a communication gateway needs to be set up in each VPC to achieve interconnection between VPCs through the communication gateway.

[0294] As an example of a hardware functional unit, the acquisition module 1401 may include at least one computing device, such as a server, etc. Alternatively, the acquisition module 1401 may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD may be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.

[0295] The multiple computing devices included in the acquisition module 1401 can be distributed in the same region or in different regions. The multiple computing devices included in the acquisition module 1401 can be distributed in the same AZ or in different AZs. Similarly, the multiple computing devices included in the acquisition module 1401 can be distributed in the same VPC or in multiple VPCs. The multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.

[0296] It should be noted that, in other embodiments, the acquisition module 1401 can be used to execute any step in the service management method, and the management module 1402 can be used to execute any step in the service management method. The steps that the acquisition module 1401 and the management module 1402 are responsible for implementing can be specified as needed. The full functions of the service management device 1400 can be realized by respectively implementing different steps in the service management method through the acquisition module 1401 and the management module 1402.

[0297] Fig.15A schematic diagram of a service management device 1500 provided in an embodiment of the present application. The cloud system includes at least two nodes, containers are running on the nodes, the containers are running multiple services, each service includes multiple components, the multiple components include operating system components, public components and application components, different services have different application components, the containers share the images of operating system components and public components to run multiple services, the multiple services include a first service; the service management device 1500 is applied to a second node of the at least two nodes, such as Fig.15 As shown, including:

[0298] The packaging module 1501 is used to package the updated first component in the first service to obtain an updated image of the first component;

[0299] The processing module 1502 is used to obtain the deployment file of the first service according to the image information of the images of multiple components; the images of the multiple components include the updated image of the first component, and the components other than the first component among the multiple components do not depend on the update of the first component.

[0300] Among them, the packaging module 1501 and the processing module 1502 can be implemented by software or hardware. Exemplarily, the implementation of the packaging module 1501 is introduced below by taking the packaging module 1501 as an example. Similarly, the implementation of the processing module 1502 can refer to the implementation of the packaging module 1501.

[0301] As an example of a software functional unit, the packaging module 1501 may include code running on a computing instance. Among them, the computing instance may include at least one of a physical host (computing device), a virtual machine, and a container. Further, the above-mentioned computing instance may be one or more. For example, the packaging module 1501 may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code may be distributed in the same region (region) or in different regions. Furthermore, the multiple hosts / virtual machines / containers used to run the code may be distributed in the same availability zone (AZ) or in different AZs, each AZ including one data center or multiple data centers with close geographical locations. Among them, usually a region may include multiple AZs.

[0302] Similarly, multiple hosts / virtual machines / containers used to run the code can be distributed in the same virtual private cloud (VPC) or in multiple VPCs. Usually, a VPC is set up in a region. For cross-region communication between two VPCs in the same region and between VPCs in different regions, a communication gateway needs to be set up in each VPC to achieve interconnection between VPCs through the communication gateway.

[0303] As an example of a hardware functional unit, the packaging module 1501 may include at least one computing device, such as a server, etc. Alternatively, the packaging module 1501 may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD may be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.

[0304] The multiple computing devices included in the packaging module 1501 can be distributed in the same region or in different regions. The multiple computing devices included in the packaging module 1501 can be distributed in the same AZ or in different AZs. Similarly, the multiple computing devices included in the packaging module 1501 can be distributed in the same VPC or in multiple VPCs. The multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.

[0305] It should be noted that, in other embodiments, the packaging module 1501 can be used to execute any step in the service management method, and the processing module 1502 can be used to execute any step in the service management method. The steps that the packaging module 1501 and the processing module 1502 are responsible for implementing can be specified as needed. The packaging module 1501 and the processing module 1502 respectively implement different steps in the service management method to achieve all the functions of the service management device 1400.

[0306] The present application also provides a cloud system, such as Fig.16 As shown, Fig.16 A schematic diagram of a cloud system 1600 provided in an embodiment of the present application. The cloud system 1600 includes:

[0307] The service management device 1400 is used to execute the steps performed by the first node in the above method embodiment.

[0308] The service management device 1500 is used to execute the steps performed by the second node in the above method embodiment.

[0309] The service management device 1400 and the service management device 1500 can be implemented by software or hardware. As an example, the implementation of the service management device 1400 is described below. Similarly, the implementation of the service management device 1500 can refer to the implementation of the service management device 1400.

[0310] As an example of a software functional unit, the service management device 1400 may include code running on a computing instance. The computing instance may be at least one of a physical host (computing device), a virtual machine, a container, and other computing devices. Furthermore, the computing device may be one or more. For example, the service management device 1400 may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the application may be distributed in the same region or in different regions. The multiple hosts / virtual machines / containers used to run the code may be distributed in the same AZ or in different AZs, each AZ including one data center or multiple data centers with similar geographical locations. Typically, a region may include multiple AZs.

[0311] Similarly, multiple hosts / virtual machines / containers used to run the code can be distributed in the same VPC or in multiple VPCs. Usually, a VPC is set in a region. For cross-region communication between two VPCs in the same region and between VPCs in different regions, a communication gateway needs to be set up in each VPC to achieve interconnection between VPCs through the communication gateway.

[0312] As an example of a hardware functional unit, the service management device 1400 may include at least one computing device, such as a server, etc. Alternatively, the service management device 1400 may also be a device implemented using ASIC or PLD, etc. The PLD may be implemented using CPLD, FPGA, GAL or any combination thereof.

[0313] The multiple computing devices included in the service management apparatus 1400 can be distributed in the same region or in different regions. The multiple computing devices included in the service management apparatus 1400 can be distributed in the same AZ or in different AZs. Similarly, the multiple computing devices included in the service management apparatus 1400 can be distributed in the same VPC or in multiple VPCs. The multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.

[0314] The present application also provides a computing device 1700 . Fig.17 A schematic diagram of a computing device provided in an embodiment of the present application is shown in FIG. Fig.17 As shown, computing device 1700 includes: bus 1702, processor 1704, memory 1706 and communication interface 1708. Processor 1704, memory 1706 and communication interface 1708 communicate through bus 1702. Computing device 1700 can be a server or a terminal device. It should be understood that the present application does not limit the number of processors and memories in computing device 1700.

[0315] The bus 1702 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Fig.17 The bus 1702 may include a path for transmitting information between various components of the computing device 1700 (eg, the memory 1706, the processor 1704, and the communication interface 1708).

[0316] The processor 1704 may include any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).

[0317] The memory 1706 may include a volatile memory, such as a random access memory (RAM). The processor 1704 may also include a non-volatile memory, such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD), or a solid state drive (SSD).

[0318] The memory 1706 stores executable program codes, and the processor 1704 executes the executable program codes to respectively implement the functions of the acquisition module 1401 and the management module 1402, thereby implementing the service management method. That is, the memory 1706 stores instructions for executing the service management method.

[0319] Alternatively, the memory 1706 stores executable program codes, and the processor 1704 executes the executable program codes to respectively implement the functions of the aforementioned packaging module 1501 and processing module 1502, thereby implementing the service management method. That is, the memory 1706 stores instructions for executing the service management method.

[0320] Alternatively, the memory 1706 stores executable codes, and the processor 1704 executes the executable codes to respectively implement the functions of the aforementioned service management device 1400 and the service management device 1500, thereby implementing the service management method. That is, the memory 1706 stores instructions for executing the service management method.

[0321] The communication interface 1708 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 1700 and other devices or communication networks.

[0322] The embodiment of the present application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.

[0323] Fig.18 A schematic diagram of a computing device cluster provided in an embodiment of the present application is shown in FIG. Fig.18 As shown, the computing device cluster includes at least one computing device 1700. The memory 1706 in one or more computing devices 1700 in the computing device cluster may store the same instructions for executing the service management method.

[0324] In some possible implementations, the memory 1706 of one or more computing devices 1700 in the computing device cluster may also store partial instructions for executing the service management method. In other words, the combination of one or more computing devices 1700 may jointly execute instructions for executing the service management method.

[0325] It should be noted that the memory 1706 in different computing devices 1700 in the computing device cluster may store different instructions, which are respectively used to execute part of the functions of the service management apparatus 1400. That is, the instructions stored in the memory 1706 in different computing devices 1700 may implement the functions of one or more modules in the acquisition module 1401 and the management module 1402.

[0326] In some possible implementations, one or more computing devices in the computing device cluster may be connected via a network, which may be a wide area network or a local area network. Fig.19 A possible implementation is shown. Fig.19 A schematic diagram of a structure of a computing device connected via a network provided in an embodiment of the present application, such as Fig.19 As shown, two computing devices 1700A and 1700B are connected via a network. Specifically, the network is connected via a communication interface in each computing device. In this type of possible implementation, the memory 1706 in the computing device 1700A stores instructions for executing the functions of the acquisition module 1401. At the same time, the memory 1706 in the computing device 1700B stores instructions for executing the functions of the management module 1402.

[0327] It should be understood that Fig.19 The functionality of the computing device 1700A shown in FIG. 1700A may also be implemented by multiple computing devices 1700. Similarly, the functionality of the computing device 1700B may also be implemented by multiple computing devices 1700.

[0328] The present application embodiment also provides another computing device cluster. The connection relationship between the computing devices in the computing device cluster can be similar to that of Fig.18 and Fig.19 The connection mode of the computing device cluster is different in that the memory 1706 in one or more computing devices 1700 in the computing device cluster may store the same instructions for executing the service management method.

[0329] In some possible implementations, the memory 1706 of one or more computing devices 1700 in the computing device cluster may also store partial instructions for executing the service management method. In other words, the combination of one or more computing devices 1700 may jointly execute instructions for executing the service management method.

[0330] It should be noted that the memory 1706 in different computing devices 1700 in the computing device cluster may store different instructions for executing part of the functions of the service management system 1600. That is, the instructions stored in the memory 1706 in different computing devices 1700 may implement the functions of one or more of the service management apparatus 1400 and the service management apparatus 1500.

[0331] The embodiment of the present application also provides a computer program product including instructions. The computer program product may be software or a program product including instructions that can be run on a computing device or stored in any available medium. When the computer program product is run on at least one computing device, the at least one computing device executes the service management method.

[0332] The embodiment of the present application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that can be stored by a computing device or a data storage device such as a data center that contains one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk). The computer-readable storage medium includes instructions that instruct the computing device to execute the service management method.

Claims

1. A service management method, characterized in that: The cloud system includes at least two nodes, on which containers are running, and the containers are running multiple services, each service includes multiple components, and the multiple components include operating system components, common components, and application components, and different services have different application components. The containers share images of operating system components and images of common components to run multiple services, and the multiple services include a first service. The method is applied to a first node of the at least two nodes, and the method comprises: Obtaining a deployment file of the first service, wherein the deployment file includes image information of the multiple components; When it is determined according to the image information of the first component that the image of the first component has been updated, obtaining the updated image of the first component according to the image information of the first component, where the first component is the operating system component or the common component; updating the first service according to the updated image of the first component, wherein components other than the first component among the plurality of components do not depend on the update of the first component; The parent image of at least one second component among the multiple components that depends on the first component is a blank image, and the blank image is used to update the image of the at least one second component without depending on the image update of the first component.

2. The method according to claim 1, characterized in that: The image information is an image link; the deployment file includes a first image link of the first component, and the deployment file before updating includes a second image link of the first component; The step of obtaining the updated image of the first component according to the image information of the first component, when it is determined that the image of the first component has been updated, includes: In a case where the first image link and the second image link are different, determining that the image of the first component has been updated; The updated image of the first component is obtained according to the first image link.

3. The method according to claim 1, characterized in that The image information includes an image update identifier and an image link; when it is determined according to the image information of the first component that the image of the first component has been updated, obtaining the updated image of the first component according to the image information of the first component includes: When the image update identifier of the first component determines that the image of the first component has been updated, the updated image of the first component is obtained according to the image link of the first component.

4. The method according to any one of claims 1 to 3, characterized in that The deployment file also includes first running commands and a first startup sequence of the images of the multiple components, where the first startup sequence is an arrangement sequence of the first running commands; The updating of the first service according to the updated image of the first component includes: According to the first startup sequence, the first running command is executed to run the multiple components, and the images of the multiple components include the updated image of the first component.

5. The method according to claim 2 or 3, characterized in that: The container is a physical container, and the image link includes address information of an image of each component in the multiple components mounted in the physical container.

6. The method according to claim 5, characterized in that The deployment file includes a container storage interface field of an image of at least one component among the multiple components, and the container storage interface field includes a read-only identifier, which indicates that the image of the at least one component is read-only mounted on the physical container.

7. The method according to claim 2 or 3, characterized in that: The container includes a first container and a second container, and the first container runs the first service; The step of obtaining the updated image of the first component according to the image link of the first component includes: When the updated image of the first component is running in the second container, obtaining the updated image of the first component from the second container; When the updated image of the first component is not running in the second container, the updated image of the first component is obtained from an image library.

8. The method according to any one of claims 1 to 3, characterized in that The container does not run the second service; the method further includes: Obtaining a deployment file of the second service; the deployment file further includes a second running command and a second startup sequence of the image of each component in the second service, where the second startup sequence is an arrangement sequence of the second running commands; According to the image link of the application component in the second service, the image of the application component in the second service is loaded; the parent image of the image of the application component in the second service is a blank image; According to the second startup sequence, the second run command is executed to run each component of the second service in the container.

9. A service management device, characterized in that: The cloud system includes at least two nodes, on which containers are running, and the containers are running multiple services, each service includes multiple components, and the multiple components include operating system components, common components, and application components, and different services have different application components. The containers share images of operating system components and images of common components to run multiple services, and the multiple services include a first service. The device is applied to a first node among the at least two nodes, and the device includes: an acquisition module, configured to acquire a deployment file of the first service, the deployment file including image information of the multiple components; when it is determined that the image of the first component has been updated according to the image information of the first component, acquire the updated image of the first component according to the image information of the first component, the first component being any one of the multiple components; An update module is used to update the first service according to the updated image of the first component, and the components among the multiple components except the first component do not depend on the update of the first component; wherein the parent image of at least one second component among the multiple components that depends on the first component is a blank image, and the blank image is used to update the image of the at least one second component without relying on the image update of the first component.

10. A computing device cluster, characterized in that: comprising at least one computing device, each computing device comprising a processor and a memory; The processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the method according to any one of claims 1 to 8.

11. A computer program product comprising instructions, characterized in that When the instructions are executed by a computing device cluster, the computing device cluster is caused to perform the method according to any one of claims 1 to 8.

12. A computer-readable storage medium, characterized in that: The method comprises computer program instructions. When the computer program instructions are executed by a computing device cluster, the computing device cluster performs the method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Method for dynamically constructing docker mirror image to reduce offline file volume

    CN114879984A

  • Computing framework management system

    CN117075930A