Cloud management platform-based container management method and cloud management platform
By managing multiple resource pools and preheating levels in the cloud management platform and selecting the appropriate resource pools and preheating levels to create containers, the problem of increasing operating costs of the cloud management platform is solved and the balance between container creation speed and cost is achieved.
Patent Information
- Application Number
- PCT/CN2024/102422
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-08-23
- Filing Date
- 2024-06-28
- Publication Date
- 2025-01-02
AI Technical Summary
Although the cloud management platform improves the creation speed of containers when creating containers, unused virtual machines lead to increased operating costs, making it difficult to balance user experience and operation costs.
By managing multiple resource pools in the cloud management platform, each resource pool contains cloud instances of different warm-up levels, selecting the appropriate resource pool and warm-up levels according to the needs of the tenant to create containers, ensuring a balance between creation speed and cost.
It realizes rapid creation of containers, while reducing the operating costs of cloud management platforms, improving resource utilization and economic benefits.
Smart Images

Figure CN2024102422_02012025_PF_FP_ABST
Abstract
Description
A container management method based on cloud management platform and cloud management platform
[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office on June 29, 2023, with application number 202310786221.5 and invention name “A resource pool scheduling method based on cloud management platform”, and claims priority to the Chinese patent application filed with the State Intellectual Property Office on August 23, 2023, with application number 202311068509.5 and invention name “A container management method and cloud management platform based on cloud management platform”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The embodiments of the present application relate to the field of cloud technology, and in particular to a container management method based on a cloud management platform and a cloud management platform. Background Art
[0003] Containers, with their rapid provisioning speed and time-based billing, have become a key method for cloud management platforms to provide cloud services to tenants. While providing convenience to tenants, cloud vendors cover the operating costs of cloud management platforms.
[0004] In related technologies, a cloud service system consists of a cloud management platform and multiple physical servers with pre-deployed virtual machines (VMs). When a tenant needs to create a container, the cloud management platform selects a physical server based on the tenant's request and creates the required container within the VM on that server. These containers can then run the tenant's applications or microservices, providing the tenant with cloud services including data storage, data computing, and data download.
[0005] In the above-mentioned cloud service system, since the cloud management platform has created and started a virtual machine on the physical server, it is equivalent to providing a creation environment for the creation of containers. Although this can increase the speed of container creation, when the virtual machine on the physical server is not used, it will increase the operating costs of the cloud management platform.
[0006] Summary of the Invention
[0007] The embodiments of the present application provide a container management method and a cloud management platform based on a cloud management platform, which can save the operating costs of the cloud management platform while ensuring the speed of container creation.
[0008] A first aspect of an embodiment of the present application provides a container management method based on a cloud management platform. The cloud management platform is used to manage an infrastructure that provides cloud services. The infrastructure includes multiple resource pools. Each resource pool includes multiple cloud instances corresponding to at least one of multiple preheating levels. The multiple preheating levels are used to indicate multiple preheating degrees of the cloud instances. The method includes:
[0009] When a tenant needs to create a container, the cloud management platform can provide the tenant with a container configuration interface. The tenant can then send the configuration information of the container to be created to the container configuration interface, so that the cloud management platform can receive the configuration information sent by the tenant through the container configuration interface. This configuration information is used to indicate the tenant's container requirements. Then, based on the container configuration information, the cloud management platform can determine that a container needs to be created for the tenant. Therefore, the cloud management platform can obtain the status information of the multiple resource pools it manages, which is used to indicate the performance of the multiple resource pools.
[0010] After obtaining the configuration information of the container and the status information of multiple resource pools, the cloud management platform can parse the configuration information of the container to determine the tenant's needs for the container, and parse the status information of multiple resource pools to determine the performance of multiple resource pools. Therefore, the cloud management platform can select the first resource pool whose performance can meet the tenant's needs for the container from multiple resource pools.
[0011] After determining the first resource pool, the cloud management platform determines the first preheat level that matches the tenant from among the multiple preheat levels. This is the preheat level available to the tenant. Once the first preheat level is determined, if a first cloud instance corresponding to the first preheat level exists among the multiple cloud instances, the cloud management platform starts the first cloud instance and creates a container within it. At this point, the cloud management platform successfully completes the container creation task for the tenant.
[0012] From the above method, it can be seen that the cloud management platform manages multiple resource pools of different types, and the multiple cloud instances contained in each resource pool have been preheated to at least one degree (that is, the multiple cloud instances contained in each resource pool correspond to at least one preheating level). After determining that the tenant needs to create a container, the cloud management platform can select a suitable resource pool (that is, the first resource pool) for the tenant, and select a cloud instance (that is, the first cloud instance) corresponding to the preheating level (that is, the first preheating level) that the tenant can use from the multiple cloud instances in the resource pool. Since the cloud instance has been preheated to a certain degree but has not been fully started, the cloud instance can be quickly and fully started and the container can be created. This not only ensures the speed of container creation, but also saves the operating costs of the cloud management platform.
[0013] In one possible implementation, the multiple resource pools include at least two of the following: a virtual machine resource pool, a bare metal server resource pool, a physical server resource pool, and a micro virtual machine resource pool. The virtual machine resource pool includes multiple virtual machines, the bare metal server resource pool includes multiple bare metal servers, the physical server resource pool includes multiple physical servers, and the micro virtual machine resource pool includes multiple micro virtual machines. In the aforementioned implementation, the cloud management platform can manage multiple resource pools of different types, including at least two of the virtual machine resource pool, the bare metal server resource pool, the physical server resource pool, and the micro virtual machine resource pool. For the virtual machine resource pool, the multiple virtual machines contained in the virtual machine resource pool can each be considered a container creation environment, and these multiple virtual machines are preheated to at least a certain degree, so the cloud management platform can quickly start these virtual machines and create containers within them. For the bare metal server resource pool, the multiple bare metal servers contained in the bare metal server resource pool can each be considered a container creation environment, and these multiple bare metal servers are preheated to at least a certain degree, so the cloud management platform can quickly start these bare metal servers and create containers within them. For a physical server resource pool, the multiple physical servers contained in the pool can be considered as container creation environments, and these multiple physical servers are preheated to at least a certain degree. Therefore, the cloud management platform can quickly start these physical servers and create containers within them. For a micro-VM resource pool, the multiple micro-VMs contained in the pool can be considered as container creation environments, and these multiple micro-VMs are preheated to at least a certain degree. Therefore, the cloud management platform can quickly start these micro-VMs and create containers within them. This shows that the cloud management platform provides tenants with sufficient resources to meet users' container creation needs.
[0014] In one possible implementation, multiple preheating levels include: directed preheating, service preheating, non-directed preheating, and shutdown preheating, sorted from high to low, wherein the preheating degree of the cloud instance indicated by directed preheating is higher than the preheating degree of the cloud instance indicated by service preheating, the preheating degree of the cloud instance indicated by service preheating is higher than the preheating degree of the cloud instance indicated by non-directed preheating, and the preheating degree of the cloud instance indicated by non-directed preheating is higher than the preheating degree of the cloud instance indicated by shutdown preheating. In the aforementioned implementation, shutdown preheating, non-directed preheating, service preheating, and directed preheating are provided in the cloud management platform, sorted from low to high, wherein shutdown preheating indicates that the cloud instance in the resource pool has been created but is in a shutdown state. At this time, the preheating degree of the cloud instance is the lowest. Non-directed preheating indicates that the cloud instance in the resource pool has been created and is in a powered-on state, but the service components and tenant information required to create the container have not been loaded. At this time, the preheating degree of the cloud instance is low. Service preheating means that a cloud instance in the resource pool has been created and loaded with service components. At this point, the cloud instance is highly preheated. Targeted preheating means that a cloud instance in the resource pool has been created and loaded with service components and the tenant information required to create containers. At this point, the cloud instance is most preheated. A higher preheating level for a cloud instance reduces container creation time (faster container creation), but also increases operating costs. Conversely, a lower preheating level for a cloud instance increases container creation time (slower container creation), but also reduces operating costs. By configuring multiple cloud instances with different preheating levels for the resource pool, the cloud management platform selects the appropriate cloud instance to create containers for tenants. This not only ensures faster container creation but also reduces the cloud management platform's operating costs, ultimately ensuring a balance between user experience and operating costs.
[0015] In one possible implementation, the method further includes: if a first cloud instance corresponding to the first preheat level does not exist among the multiple cloud instances in the first resource pool, and a second cloud instance corresponding to the second preheat level exists, then creating a container in the second cloud instance, where the multiple preheat levels include the second preheat level, and the second preheat level is higher than the first preheat level. In the aforementioned implementation, if a first cloud instance corresponding to the first preheat level does not exist among the multiple cloud instances in the first resource pool, the cloud management platform allows the tenant to be upwardly compatible with the preheat level, that is, determines a second preheat level higher than the first preheat level, and determines whether a second cloud instance corresponding to the second preheat level exists among the multiple cloud instances in the first resource pool. If a second cloud instance corresponding to the second preheat level exists among the multiple cloud instances in the first resource pool, the cloud management platform starts the second cloud instance and creates a container in the second cloud instance. At this point, the cloud management platform successfully completes the tenant's container creation task.
[0016] In one possible implementation, the requirement includes a container startup delay, and determining a first preheat level that matches the tenant from multiple preheat levels includes: determining a first delay range within which the startup delay lies from multiple delay ranges; and determining a first preheat level corresponding to the first delay range from the multiple preheat levels based on a correspondence between the multiple delay ranges and the multiple preheat levels. In the aforementioned implementation, based on the container configuration information, the cloud management platform can determine the container startup delay required by the tenant. Because the cloud management platform has multiple delay ranges pre-set, the cloud management platform can obtain the multiple pre-set delay ranges. Then, from these multiple delay ranges, the cloud management platform can determine the first delay range within which the container startup delay required by the tenant lies. Because the cloud management platform also has multiple correspondences between the delay ranges and the multiple preheat levels pre-set, the cloud management platform can determine the first preheat level corresponding to the first delay range from the multiple preheat levels based on these correspondences.
[0017] In one possible implementation, determining a first preheating level that matches a tenant from a plurality of preheating levels includes: obtaining a first tenant level of the tenant, the first tenant level being used to indicate the importance of the tenant; and determining a first preheating level corresponding to the first tenant level from a plurality of preheating levels based on a correspondence between a plurality of tenant levels and a plurality of preheating levels, the plurality of tenant levels including the first tenant level. In the aforementioned implementation, when it is necessary to determine the preheating levels that a tenant can use, the cloud management platform may first obtain the first tenant level of the tenant. Since the cloud management platform also pre-sets a correspondence between a plurality of tenant levels and a plurality of preheating levels, the cloud management platform may determine a first preheating level corresponding to the first tenant level from a plurality of preheating levels based on the correspondence.
[0018] In one possible implementation, if the tenant is on a whitelist, determining a first preheating level that matches the tenant from among multiple preheating levels includes: determining, from among the multiple preheating levels, a first preheating level that corresponds to the whitelist. In the aforementioned implementation, the cloud management platform may set up a tenant whitelist. If the tenant is on the whitelist, the cloud management platform may determine, from among the multiple preheating levels, the first preheating level that corresponds to the whitelist, i.e., the preheating level available to the tenant.
[0019] In one possible implementation, the tenant's requirements for the container include at least one of the following: container specifications, container startup latency, and the like.
[0020] In a possible implementation, the performance of the multiple resource pools includes at least one of the following: capacity of the multiple resource pools, container creation time of the multiple resource pools, and the like.
[0021] A second aspect of an embodiment of the present application provides a cloud management platform, which is used to manage an infrastructure that provides cloud services. The infrastructure includes multiple resource pools, each resource pool includes multiple cloud instances corresponding to at least one preheating level among multiple preheating levels, and the multiple preheating levels are used to indicate multiple preheating degrees of the cloud instances. The cloud management platform includes: a first acquisition module, which is used to obtain configuration information of a container to be created input by a tenant from a container configuration interface, and the configuration information is used to indicate the tenant's demand for the container; a second acquisition module, which is used to obtain status information of multiple resource pools, and the status information is used to indicate the performance of multiple resource pools; a selection module, which is used to select a first resource pool whose performance meets the demand from multiple resource pools based on the configuration information and status information; a creation module, which is used to determine a first preheating level that matches the tenant from multiple preheating levels, and if a first cloud instance corresponding to the first preheating level exists among the multiple cloud instances of the first resource pool, a container is created in the first cloud instance.
[0022] As can be seen from the above cloud management platform, when a tenant needs to create a container, they can input the configuration information of the container to be created into the container configuration interface provided by the cloud management platform. This configuration information indicates the tenant's container requirements. After receiving the container configuration information, the cloud management platform can obtain status information of multiple resource pools, which indicates the performance of the multiple resource pools. Then, based on the container configuration information and the status information of the multiple resource pools, the cloud management platform selects the first resource pool from the multiple resource pools whose performance meets the tenant's container requirements. The cloud management platform then determines a first preheating level that matches the tenant from multiple preheating levels. If a first cloud instance corresponding to the first preheating level exists among the multiple cloud instances in the first resource pool, the cloud management platform creates the container in the first cloud instance. At this point, the cloud management platform has successfully created the required container for the tenant. In the above process, the cloud management platform manages multiple resource pools of different types, and the multiple cloud instances contained in each resource pool have been preheated to at least one level (i.e., the multiple cloud instances contained in each resource pool correspond to at least one preheating level). After determining that the tenant needs to create a container, the cloud management platform can select a suitable resource pool (i.e., the first resource pool) for the tenant, and select a cloud instance (i.e., the first cloud instance) corresponding to the preheating level (i.e., the first preheating level) that the tenant can use from multiple cloud instances in the resource pool. Since the cloud instance has been preheated to a certain extent but has not been fully started, the cloud instance can be quickly and fully started and the container can be created, which not only ensures the speed of container creation but also saves the operating costs of the cloud management platform.
[0023] In one possible implementation, the multiple resource pools include at least two of the following: a virtual machine resource pool, a bare metal server resource pool, a physical server resource pool, and a micro virtual machine resource pool, wherein the virtual machine resource pool includes multiple virtual machines, the bare metal server resource pool includes multiple bare metal servers, the physical server resource pool includes multiple physical servers, and the micro virtual machine resource pool includes multiple micro virtual machines.
[0024] In one possible implementation, the multiple preheating levels include: directed preheating, service preheating, non-directed preheating, and shutdown preheating, sorted from high to low, wherein the preheating degree of the cloud instance indicated by directed preheating is higher than the preheating degree of the cloud instance indicated by service preheating, the preheating degree of the cloud instance indicated by service preheating is higher than the preheating degree of the cloud instance indicated by non-directed preheating, and the preheating degree of the cloud instance indicated by non-directed preheating is higher than the preheating degree of the cloud instance indicated by shutdown preheating.
[0025] In one possible implementation, the creation module is further used to create a container in the second cloud instance if there is no first cloud instance corresponding to the first preheating level among the multiple cloud instances of the first resource pool, and there is a second cloud instance corresponding to the second preheating level, the multiple preheating levels including the second preheating level, and the second preheating level is higher than the first preheating level.
[0026] In one possible implementation, the requirement includes a startup delay of the container, and the selection module is configured to: determine a first delay range in which the startup delay falls from multiple delay ranges; and determine a first preheating level corresponding to the first delay range from the multiple preheating levels based on a correspondence between the multiple delay ranges and multiple preheating levels.
[0027] In one possible implementation, a selection module is used to: obtain a first tenant level of a tenant, where the first tenant level is used to indicate the importance of the tenant; and determine a first preheating level corresponding to the first tenant level from multiple preheating levels based on a correspondence between multiple tenant levels and multiple preheating levels, where the multiple tenant levels include the first tenant level.
[0028] In a possible implementation, the tenant is a tenant in a whitelist, and the selection module is configured to determine, from a plurality of preheating levels, a first preheating level corresponding to the whitelist.
[0029] In a possible implementation, the requirement includes at least one of the following: container specifications and container startup delay.
[0030] In a possible implementation, the performance includes at least one of the following: capacities of multiple resource pools and container creation times of multiple resource pools.
[0031] A third aspect of an embodiment of the present application provides a cloud service system, which includes a cloud management platform and an infrastructure that provides cloud services. The cloud management platform is used to manage the infrastructure, and the infrastructure includes multiple resource pools. Each resource pool includes multiple cloud instances corresponding to at least one preheating level in multiple preheating levels. The multiple preheating levels are used to indicate multiple preheating degrees of the cloud instances. The cloud management platform is used to: obtain configuration information of the container to be created input by the tenant from the container configuration interface, and the configuration information is used to indicate the tenant's demand for the container; obtain status information of the multiple resource pools, and the status information is used to indicate the performance of the multiple resource pools; based on the configuration information and status information, select a first resource pool whose performance meets the demand from the multiple resource pools; determine a first preheating level that matches the tenant from the multiple preheating levels, and if there is a first cloud instance corresponding to the first preheating level among the multiple cloud instances of the first resource pool, create a container in the first cloud instance.
[0032] As can be seen from the above cloud service system, when a tenant needs to create a container, they can input the configuration information of the container to be created into the container configuration interface provided by the cloud management platform. This configuration information indicates the tenant's container requirements. After receiving the container configuration information, the cloud management platform can obtain status information of multiple resource pools, which indicates the performance of the multiple resource pools. Then, based on the container configuration information and the status information of the multiple resource pools, the cloud management platform selects a first resource pool from the multiple resource pools whose performance meets the tenant's container requirements. Subsequently, the cloud management platform determines a first preheating level that matches the tenant from multiple preheating levels. If a first cloud instance corresponding to the first preheating level exists among the multiple cloud instances in the first resource pool, the cloud management platform creates the container in the first cloud instance. At this point, the cloud management platform successfully creates the required container for the tenant. In the above process, the cloud management platform manages multiple resource pools of different types, and the multiple cloud instances contained in each resource pool have been preheated to at least one level (i.e., the multiple cloud instances contained in each resource pool correspond to at least one preheating level). After determining that the tenant needs to create a container, the cloud management platform can select a suitable resource pool (i.e., the first resource pool) for the tenant, and select a cloud instance (i.e., the first cloud instance) corresponding to the preheating level (i.e., the first preheating level) that the tenant can use from multiple cloud instances in the resource pool. Since the cloud instance has been preheated to a certain extent but has not been fully started, the cloud instance can be quickly and fully started and the container can be created, which not only ensures the speed of container creation but also saves the operating costs of the cloud management platform.
[0033] In one possible implementation, the multiple resource pools include at least two of the following: a virtual machine resource pool, a bare metal server resource pool, a physical server resource pool, and a micro virtual machine resource pool, wherein the virtual machine resource pool includes multiple virtual machines, the bare metal server resource pool includes multiple bare metal servers, the physical server resource pool includes multiple physical servers, and the micro virtual machine resource pool includes multiple micro virtual machines.
[0034] In one possible implementation, the multiple preheating levels include: directed preheating, service preheating, non-directed preheating, and shutdown preheating, sorted from high to low, wherein the preheating degree of the cloud instance indicated by directed preheating is higher than the preheating degree of the cloud instance indicated by service preheating, the preheating degree of the cloud instance indicated by service preheating is higher than the preheating degree of the cloud instance indicated by non-directed preheating, and the preheating degree of the cloud instance indicated by non-directed preheating is higher than the preheating degree of the cloud instance indicated by shutdown preheating.
[0035] In one possible implementation, the cloud management platform is further used to create a container in the second cloud instance if, among the multiple cloud instances of the first resource pool, there is no first cloud instance corresponding to the first preheating level, and there is a second cloud instance corresponding to the second preheating level, the multiple preheating levels include the second preheating level, and the second preheating level is higher than the first preheating level.
[0036] In one possible implementation, the requirement includes a startup delay of the container, and the cloud management platform is configured to: determine a first delay range in which the startup delay is located from multiple delay ranges; and determine a first preheating level corresponding to the first delay range from the multiple preheating levels based on a correspondence between the multiple delay ranges and the multiple preheating levels.
[0037] In one possible implementation, the cloud management platform is used to: obtain a first tenant level of a tenant, where the first tenant level is used to indicate the importance of the tenant; and determine a first preheating level corresponding to the first tenant level from the multiple preheating levels based on a correspondence between multiple tenant levels and multiple preheating levels, where the multiple tenant levels include the first tenant level.
[0038] In a possible implementation, the tenant is a tenant in a whitelist, and the cloud management platform is configured to determine, from a plurality of preheating levels, a first preheating level corresponding to the whitelist.
[0039] In a possible implementation, the requirement includes at least one of the following: container specifications and container startup delay.
[0040] In a possible implementation, the performance includes at least one of the following: capacities of multiple resource pools and container creation times of multiple resource pools.
[0041] A fourth aspect of an embodiment of the present application provides a computing device cluster, the computing device cluster including at least one computing device, each computing device including a processor and a memory: the memory is used to store instructions; the processor is used to enable the computing device cluster to execute the method described in the first aspect or any possible implementation method of the first aspect according to the instructions.
[0042] A fifth aspect of an embodiment of the present application provides a computer storage medium, which stores one or more instructions. When the instructions are executed by one or more computers, the one or more computers implement the method described in the first aspect or any possible implementation method of the first aspect.
[0043] A sixth aspect of the embodiments of the present application provides a computer program product, which stores instructions. When the instructions are executed by a computer, the computer implements the method described in the first aspect or any possible implementation method of the first aspect.
[0044] In an embodiment of the present application, when a tenant needs to create a container, the tenant can input the configuration information of the container to be created into the container configuration interface provided by the cloud management platform. The configuration information is used to indicate the tenant's requirements for the container. After receiving the container configuration information, the cloud management platform can obtain the status information of multiple resource pools, which is used to indicate the performance of the multiple resource pools. Then, based on the container configuration information and the status information of the multiple resource pools, the cloud management platform can select the first resource pool from the multiple resource pools whose performance meets the tenant's requirements for the container. Subsequently, the cloud management platform can determine the first preheating level that matches the tenant from the multiple preheating levels. If there is a first cloud instance corresponding to the first preheating level among the multiple cloud instances in the first resource pool, the cloud management platform creates the container in the first cloud instance. At this point, the cloud management platform can successfully create the container required by the tenant. In the above process, the cloud management platform manages multiple resource pools of different types, and the multiple cloud instances contained in each resource pool have been preheated to at least one degree (that is, the multiple cloud instances contained in each resource pool correspond to at least one preheating level). After determining that the tenant needs to create a container, the cloud management platform can select a suitable resource pool (i.e., the first resource pool) for the tenant, and select a cloud instance (i.e., the first cloud instance) corresponding to the preheating level (i.e., the first preheating level) that the tenant can use from multiple cloud instances in the resource pool. Since the cloud instance has been preheated to a certain extent but has not been fully started, the cloud instance can be quickly and fully started and the container can be created, which not only ensures the speed of container creation but also saves the operating costs of the cloud management platform. BRIEF DESCRIPTION OF THE DRAWINGS
[0045] FIG1 is a schematic diagram of the structure of a cloud service system provided in an embodiment of the present application;
[0046] FIG2 is a schematic diagram of a structure of a cloud instance provided in an embodiment of the present application;
[0047] FIG3 is another schematic diagram of the structure of a cloud instance provided in an embodiment of the present application;
[0048] FIG4 is another schematic diagram of the structure of a cloud instance provided in an embodiment of the present application;
[0049] FIG5 is another schematic diagram of the structure of a cloud instance provided in an embodiment of the present application;
[0050] FIG6 is another schematic diagram of the structure of the cloud service system provided in an embodiment of the present application;
[0051] FIG7 is a container management method based on a cloud management platform provided in an embodiment of the present application;
[0052] FIG8 is another structural diagram of the cloud service system provided in an embodiment of the present application;
[0053] FIG9 is another schematic diagram of the structure of the cloud service system provided in an embodiment of the present application;
[0054] FIG10 is a schematic diagram of the structure of a cloud management platform provided in an embodiment of the present application;
[0055] FIG11 is a schematic diagram of the structure of a computing device provided in an embodiment of the present application;
[0056] FIG12 is a schematic diagram of a structure of a computing device cluster provided in an embodiment of the present application;
[0057] FIG13 is a schematic diagram of computer devices in a computer cluster provided by an embodiment of the present application being connected via a network. DETAILED DESCRIPTION
[0058] The embodiments of the present application provide a container management method and a cloud management platform based on a cloud management platform, which can save the operating costs of the cloud management platform while ensuring the speed of container creation.
[0059] The terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequential order. It should be understood that the terms used in this way can be interchangeable under appropriate circumstances, and this is merely a way of distinguishing the objects of the same attributes when describing them in the embodiments of the present application. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, so that the process, method, system, product or equipment comprising a series of units need not be limited to those units, but may include other units that are not clearly listed or inherent to these processes, methods, products or equipment.
[0060] Containers, with their rapid provisioning speed and time-based billing, have become a key method for cloud management platforms to provide cloud services to tenants. While providing convenience to tenants, cloud vendors cover the operating costs of cloud management platforms.
[0061] In related technologies, a cloud service system consists of a cloud management platform and multiple physical servers, each of which has one or more virtual machines pre-deployed. When a tenant needs to create a container, they send a request to the cloud management platform. Based on the tenant's request, the cloud management platform selects a physical server from among the multiple servers and creates the tenant's desired container within the virtual machine on that server. These containers can then run the tenant's applications or microservices, providing cloud services such as data storage, data computation, and data download.
[0062] In the above-mentioned cloud service system, since the cloud management platform has created and started virtual machines on the physical servers, for the selected physical servers, the deployed virtual machines provide a creation environment for the creation of containers, which can increase the speed of container creation. However, for the unselected physical servers, the virtual machines on these physical servers will increase the operating costs of the cloud management platform when they are not in use.
[0063] To address the above issues, the present invention provides a container management method based on a cloud management platform. This method can be implemented through the cloud management platform in a cloud service system. Figure 1 is a schematic diagram of the structure of the cloud service system provided by the present invention. As shown in Figure 1, the cloud service system includes an infrastructure that can provide cloud services and a cloud management platform that manages these infrastructures. The cloud management platform and infrastructure are introduced below:
[0064] The cloud management platform can coordinate and manage multiple resource pools across the entire cloud service system (for example, selecting a resource pool from multiple resource pools, then selecting a cloud instance within the resource pool, and creating a container (Docker) within the cloud instance). It can also be open to tenants outside the system and respond to their requests. For example, the cloud management platform can provide various interfaces, such as a login interface and a container configuration interface, for access by tenant clients (e.g., a terminal device used by the tenant or a browser on the terminal device). The cloud management platform can authenticate the tenant's client through the login interface and, upon successful authentication, allow the tenant's client to log in to the cloud management platform. The cloud management platform can also allow the tenant's client to send container configuration information to the cloud management platform through the container configuration interface. Based on this configuration information, the cloud management platform can select an appropriate resource pool from multiple resource pools for the tenant, then select an appropriate cloud instance from the multiple cloud instances contained in the resource pool, and then create one or more containers on the cloud instance to provide cloud services to the tenant. These containers can then run corresponding applications or microservices to process the user's business, thereby meeting the user's business processing needs.
[0065] The infrastructure includes multiple resource pools of different types that can be selected by the cloud management platform. Each resource pool contains a certain number of cloud instances. Under the instructions of the tenant's client, the cloud management platform can select a resource pool for the tenant from the multiple resource pools and select a cloud instance from the multiple cloud instances contained in the resource pool. It then creates one or more containers dedicated to the tenant on the cloud instance, enabling these containers to provide cloud services to the tenant. The multiple resource pools included in the infrastructure can be located in multiple regions or availability zones, etc.
[0066] Furthermore, the multiple resource pools included in the infrastructure may include at least two of the following: virtual machine resource pools, bare metal server (BMS) resources, physical server resource pools, and micro virtual machine (microVM) resource pools. Therefore, the infrastructure may include at least two different types of resource pools. These four types of resource pools are described below:
[0067] (1) For a virtual machine resource pool, the virtual machine resource pool can be composed of multiple physical servers. The central processing unit (CPU), graphics processing unit (GPU), memory, network card and other components owned by these multiple physical servers are the resources in the virtual machine resource pool. The cloud management platform can implement virtualization technology on these hardware resources, thereby deploying multiple virtual machines in multiple physical servers, and then deploying multiple containers in multiple virtual machines. It should be noted that the multiple virtual machines contained in the virtual machine resource pool can also be understood as the multiple cloud instances contained in the virtual machine resource pool.
[0068] For multiple virtual machines contained in the virtual machine resource pool, any one of the virtual machines can be regarded as a container creation environment. As shown in Figure 2 (Figure 2 is a structural diagram of a cloud instance provided in an embodiment of the present application), for any one of the multiple virtual machines, the cloud management platform can deploy a service component (service-agent) in the virtual machine, so the cloud management platform can manage one or more containers in the virtual machine through the service component (for example, container creation and deletion, certificate key management, connection to upper-layer services, container health monitoring, etc.).
[0069] (2) For a bare metal server resource pool, the bare metal server resource pool can be composed of multiple bare metal servers. The CPU, GPU, memory, network card and other components possessed by these multiple bare metal servers are the resources in the virtual machine resource pool. The cloud management platform can implement virtualization technology on these hardware resources, thereby directly deploying multiple containers on multiple bare metal servers. It should be noted that the multiple bare metal servers contained in the bare metal server resource pool can also be understood as the multiple cloud instances contained in the bare metal server resource pool.
[0070] For the multiple bare metal servers contained in the bare metal server resource pool, any bare metal server can be regarded as a container creation environment. As shown in Figure 3 (Figure 3 is another structural diagram of the cloud instance provided by an embodiment of the present application), for any bare metal server among the multiple bare metal servers, the cloud management platform can deploy a service component in the bare metal server, so the cloud management platform can comprehensively manage one or more containers in the bare metal server through the service component.
[0071] (3) As for the physical server resource pool, the physical server resource pool can be composed of multiple physical servers. The CPU, GPU, memory, network card and other components owned by these multiple physical servers are the resources in the virtual machine resource pool. The cloud management platform can implement virtualization technology on these hardware resources, thereby directly deploying multiple containers on multiple physical servers. It should be noted that the multiple physical servers contained in the physical server resource pool can also be understood as the multiple cloud instances contained in the physical server resource pool.
[0072] For the multiple physical servers included in the physical server resource pool, any one of the physical servers can be considered as a container creation environment. As shown in Figure 4 (Figure 4 is another structural diagram of the cloud instance provided in an embodiment of the present application), for any one of the multiple physical servers, the cloud management platform can deploy a service component in the physical server, so the cloud management platform can comprehensively manage one or more containers in the physical server through the service component.
[0073] (4) As for the micro-VM resource pool, it can be composed of multiple physical servers. The CPU, GPU, memory, network card and other components owned by these multiple physical servers are the resources in the micro-VM resource pool. The cloud management platform can implement virtualization technology on these hardware resources, thereby deploying multiple micro-VMs in multiple physical servers, and then deploying multiple containers in multiple micro-VMs. It should be noted that the multiple micro-VMs contained in the micro-VM resource pool can also be understood as the multiple cloud instances contained in the micro-VM resource pool.
[0074] For the multiple micro-virtual machines contained in the micro-virtual machine resource pool, any micro-virtual machine can be regarded as a container creation environment. As shown in Figure 5 (Figure 5 is a structural diagram of a cloud instance provided in an embodiment of the present application), for any one of the multiple physical servers, the cloud management platform can deploy a service component in the physical server, and then deploy multiple micro-virtual machines through the service component. For any one of the multiple micro-virtual machines, the cloud management platform can deploy one or more containers in the micro-virtual machine through the service component. In other words, the cloud management platform can comprehensively manage one or more containers in the micro-virtual machine through the service component.
[0075] Furthermore, the cloud management platform is provided with multiple preheating levels, which are used to indicate the multiple (types) of preheating degrees of the cloud instance, that is, the multiple preheating states that the cloud instance is in. Then, for any one of the multiple resource pools, the cloud management platform can make the multiple cloud instances contained in the resource pool correspond to at least two of the multiple preheating levels, that is, the cloud management platform can make the multiple cloud instances contained in the resource pool be preheated to at least two levels. The multiple preheating levels are introduced below:
[0076] (1) Shutdown preheating. For any resource pool, after the cloud management platform creates a cloud instance in the resource pool, it can put the cloud instance into the shutdown state, so that a cloud instance corresponding to the shutdown preheating level can be obtained. Then, when the cloud management platform receives a request from a tenant, if it selects a cloud instance corresponding to the shutdown preheating level, it can start these cloud instances, load the service components and the tenant information required to create containers in these cloud instances, and then create containers in these cloud instances based on the service components and tenant information.
[0077] (2) Non-directional preheating. For any resource pool, after the cloud management platform creates a cloud instance in the resource pool, it can put the cloud instance in the power-on state (not fully started), but does not load the service components and tenant information required to create containers. In this way, a cloud instance corresponding to the preheating level of non-directional preheating can be obtained. Then, when the cloud management platform receives a request from a tenant, if it selects a cloud instance corresponding to the preheating level of non-directional preheating, it can load the service components and tenant information in these cloud instances (at this time, the cloud instance is close to a fully started state), and then create containers in these cloud instances based on the service components and tenant information.
[0078] (3) Service preheating. For any resource pool among virtual machine resource pools, bare metal server resource pools, and physical server resource pools, after the cloud management platform creates a cloud instance in the resource pool, it can load the service components into the cloud instance (at this time, the cloud instance is not fully started), so that a cloud instance corresponding to the preheating level of service preheating can be obtained. Then, when the cloud management platform receives a tenant's request, if it selects a cloud instance corresponding to the preheating level of service preheating, it can further load tenant information into these cloud instances, and then create containers in these cloud instances based on the service components and tenant information.
[0079] (4) Targeted Preheating. For any resource pool, after the cloud management platform creates a cloud instance in the resource pool, it can load the service components and tenant information into the cloud instance (at this point, the cloud instance is close to being fully started), thus obtaining a cloud instance corresponding to the targeted preheating level. Then, when the cloud management platform receives a tenant's request, if it selects a cloud instance corresponding to the targeted preheating level, it can create containers in these cloud instances based on the service components and tenant information.
[0080] It should be understood that in any resource pool, the number of cloud instances corresponding to a certain preheating level can be predicted by the cloud management platform through machine learning algorithms (such as LSTM algorithms, etc.) or control theory (such as ARIMA algorithms, etc.), and cloud instances corresponding to the preheating level can be deployed in the resource pool according to this value. There is no restriction here.
[0081] It can be seen that the cloud management platform provides a hierarchical preheating mechanism for the cloud instances in the resource pool, which includes shutdown preheating, non-directional preheating, service preheating and targeted preheating, etc., which are sorted from low to high. Based on the above introduction to these four preheating levels, it can be seen that the preheating degree of the cloud instance indicated by shutdown preheating is lower than the preheating degree of the cloud instance indicated by non-directional preheating, the preheating degree of the cloud instance indicated by non-directional preheating is lower than the preheating degree of the cloud instance indicated by service preheating, and the preheating degree of the cloud instance indicated by service preheating is lower than the preheating degree of the cloud instance indicated by targeted preheating. In other words, the cloud instance corresponding to the lower preheating level has a lower preheating degree, the higher its container creation time (the slower the container creation speed), but the lower the operating cost. On the contrary, the cloud instance corresponding to the higher preheating level has a higher preheating degree, the lower its container creation time (the faster the container creation speed), but the higher the operating cost.
[0082] It is worth noting that the cloud management platform can have a two-level scheduling mechanism, where the first-level scheduling is to select a resource pool from multiple resource pools, and the second-level scheduling is to select a cloud instance from multiple cloud instances in the resource pool. Based on this, the cloud management platform sets a corresponding scheduling module for this mechanism, so the cloud management platform can have multiple structures: (1) The structure shown in Figure 1, the first-level scheduling module and the second-level scheduling module set by the cloud management platform are both centrally deployed inside the cloud management platform, while the service component is deployed outside the cloud management platform as an extension (part) of the cloud management platform, that is, deployed in the cloud instance of the resource pool for managing containers. (2) The structure shown in Figure 6 (Figure 6 is another structural diagram of the cloud service system provided by the embodiment of the present application), the first-level scheduling module set by the cloud management platform is deployed inside the cloud management platform, while the second-level scheduling module (which can be presented as a scheduler) and the service component are deployed outside the cloud management platform as an extension (part) of the cloud management platform, wherein the second-level scheduling module is deployed in each resource pool for managing cloud instances, and the service component is deployed in the cloud instance of the resource pool for managing containers. In actual applications, the structure of the cloud management platform can be set according to actual needs and is not restricted here.
[0083] To further understand the workflow of the cloud management platform, the following further describes the workflow in conjunction with Figure 7. Figure 7 shows a container management method based on a cloud management platform provided by an embodiment of the present application. The method can be implemented through the cloud management platform and includes:
[0084] 701. Obtain configuration information of a container to be created input by a tenant from a container configuration interface. The configuration information is used to indicate the tenant's requirements for the container.
[0085] In this embodiment, when a tenant needs to create a container, the cloud management platform can provide a container configuration interface (for example, a configuration input bar of a container creation interface) to the client used by the tenant, so that the tenant can send configuration information of the container to be created to the container configuration interface through the client, so that the cloud management platform receives the configuration information sent by the tenant's client through the container configuration interface, and the configuration information is used to indicate the tenant's demand for the container, wherein the tenant's demand for the container may include at least one of the following: the specifications of the container set by the tenant, the service level agreement (SLA) parameters of the container set by the tenant (for example, the startup delay of the container set by the tenant), and the request level of the container set by the tenant, etc.
[0086] 702. Obtain status information of multiple resource pools, where the status information is used to indicate performance of the multiple resource pools.
[0087] After obtaining the configuration information of the container, the cloud management platform can determine the need to create a container for the tenant based on the configuration information. Therefore, the cloud management platform can obtain the status information of the multiple resource pools it manages. The status information is used to indicate the performance of the multiple resource pools, where the performance of the multiple resource pools includes at least one of the following: the (available) capacity of the multiple resource pools, the container creation time of the multiple resource pools, the expansion speed of the multiple resource pools, the average resource cost of the multiple resource pools, and the maximum concurrency of the multiple resource pools, etc.
[0088] It should be understood that in this embodiment, step 702 is only illustrated as being executed after step 701, and does not limit the execution order of steps 701 and 702. In actual applications, the execution order of steps 701 and 702 can be arbitrary. For example, step 702 can be executed before step 701. In other words, the cloud management platform can first obtain status information of multiple resource pools and then directly execute step 703 after receiving the container configuration information.
[0089] 703. Based on the configuration information and the status information, select a first resource pool whose performance meets the requirements from multiple resource pools.
[0090] After obtaining the container configuration information and the status information of multiple resource pools, the cloud management platform can parse the container configuration information to determine the tenant's container requirements. It can also parse the status information of multiple resource pools to determine the performance of each resource pool. The cloud management platform can then select the first resource pool from the multiple resource pools whose performance meets the tenant's container requirements. The cloud management platform can then complete the tenant's container creation task in the first resource pool.
[0091] Specifically, the cloud management platform manages multiple resource pools of different types. The first resource pool can be selected from the multiple resource pools in the following ways:
[0092] (1) For a certain resource pool, the requirement for the resource pool may be to keep the available capacity (also called available resources) of the resource pool greater than or equal to the preset capacity threshold (the size of the threshold can be set according to actual needs and is not limited here). Then, the cloud management platform can determine whether the remaining available capacity of the resource pool is greater than or equal to the preset capacity threshold after the container required by the tenant is deployed in the resource pool based on the specifications of the container required by the tenant and the existing available capacity of the resource pool. If so, the resource pool can be directly determined as the first resource pool. Based on this, the cloud management platform can complete the tenant's container creation task in the first resource pool.
[0093] For example, assume that the physical server resource pool needs to maintain 50% of its available capacity. Assume that the container specifications set by the tenant will occupy 1% of the resource pool's capacity, and the physical server resource pool's available capacity is 53%. Then, the cloud management platform can determine that after deploying the tenant's required container in the physical server resource pool, the remaining available containers on the physical server will be 52%. Therefore, the cloud management platform can determine that the physical server resource pool is the appropriate resource pool for completing the tenant's container creation task.
[0094] (2) Since the cloud management platform has determined the container specifications and container startup delay requirements set by the tenant, the cloud management platform can determine the resource pool that meets a series of conditions (for example, the available capacity of the resource pool can match the specifications of the container required by the user, and the container creation time can match the startup delay of the container required by the user, etc.) from multiple resource pools based on performance indicators such as the available capacity of multiple resource pools and the container creation time of multiple resource pools as the first resource pool. Based on this, the cloud management platform can complete the tenant's container creation task in the first resource pool.
[0095] For example, suppose the specifications of the container required by the tenant will occupy 1% of the capacity in the resource pool, and the startup delay of the container required by the tenant is within 1S. The cloud management platform manages the virtual machine resource pool, bare metal server resource pool and physical server resource pool. Therefore, based on these requirements, the cloud management platform can comprehensively judge which of the three resource pools has the available capacity, container creation time, etc. that can meet these requirements at the same time, and determine the resource pool as the appropriate resource pool to complete the tenant's container creation task.
[0096] It should be understood that in this embodiment, only the above-mentioned methods (1) and (2) are used to select the first resource pool. In actual applications, the cloud management platform can also select the first resource pool in more ways, which will not be expanded here one by one.
[0097] It should also be understood that in this embodiment, the cloud management platform can parse the configuration information of the container through machine learning algorithms, such as K-means algorithm, random forest algorithm and SVM algorithm, etc., so as to determine the tenant's demand for the container, which is not limited here.
[0098] It should also be understood that in this embodiment, the number of resource pools managed by the cloud management platform can be flexible and changeable. Exemplarily, the resource pools managed by the cloud management platform generally include the aforementioned four types of resource pools, such as the example shown in Figure 6. Exemplarily, the resource pools managed by the cloud management platform can also be any combination of these four resource pools. For example, as shown in Figure 8 (Figure 8 is another structural diagram of the cloud service system provided in an embodiment of the present application), the cloud management platform only manages two types of resource pools, namely virtual machine resource pools and physical server resource pools. Exemplarily, the resource pools managed by the cloud management platform can also include other types of resource pools in addition to the aforementioned four types of resource pools, which are not limited here.
[0099] 704. Determine a first preheating level that matches the tenant from among the multiple preheating levels, and detect whether there is a first cloud instance corresponding to the first preheating level among the multiple cloud instances in the first resource pool.
[0100] After determining the first resource pool, the cloud management platform may determine a first preheating level that matches the tenant from multiple preheating levels. The first preheating level is also the preheating level that the tenant can use.
[0101] Specifically, the cloud management platform may determine the first preheating level from the multiple preheating levels in the following ways:
[0102] (1) Based on the configuration information of the container, the cloud management platform can determine the startup delay of the container required by the tenant. Since the cloud management platform has multiple non-overlapping delay ranges preset, the cloud management platform can obtain multiple preset delay ranges. Then, the cloud management platform can determine the first delay range in which the startup delay of the container required by the tenant is located from these multiple delay ranges (that is, the first delay range includes the startup delay of the container required by the tenant). Since the cloud management platform also has a correspondence between multiple delay ranges and multiple preheating levels preset, the cloud management platform can determine the first preheating level corresponding to the first delay range from multiple preheating levels based on this correspondence, that is, the preheating level that the tenant can use.
[0103] For example, if the startup latency of a tenant's container is 1 second, the cloud management platform has pre-set latency ranges 1: 0.1 to 0.5 seconds, latency range 2: 0.6 to 1 second, latency range 3: 1 to 1.5 seconds, and latency range 4: 1.5 to 2 seconds. The cloud management platform also has the following pre-set correspondences: latency range 1 - preheating level 1 (targeted preheating), latency range 2 - preheating level 2 (service preheating), latency range 3 - preheating level 3 (non-targeted preheating), and latency range 4 - preheating level 4 (shutdown preheating). The cloud management platform can then determine that the startup latency of the tenant's container falls within latency range 2 and can therefore determine preheating level 2, corresponding to latency range 2, as the preheating level available to the tenant, i.e., service preheating.
[0104] (2) Since the tenant has registered with the cloud management platform and purchased relevant services, the cloud management platform can comprehensively evaluate the tenant's importance based on the tenant's personal information and purchase status. Since the cloud management platform has multiple tenant levels pre-set, the cloud management platform can select the first tenant level for the tenant from multiple tenant levels based on the tenant's importance. When it is necessary to determine the preheating level that the tenant can use, the cloud management platform can first obtain the tenant's first tenant level. Since the cloud management platform also has a correspondence between multiple tenant levels and multiple preheating levels pre-set, the cloud management platform can determine the first preheating level corresponding to the first tenant level from multiple preheating levels based on the correspondence, that is, the preheating level that the tenant can use.
[0105] For example, since the cloud management platform has pre-set tenant levels 1, 2, 3, 4, and 5, and the tenant's importance is high, the cloud management platform sets the tenant's level to 1. Furthermore, the cloud management platform also has the following pre-set correspondences: Tenant Level 1, Tenant Level 2 - Preheating Level 1 (targeted preheating), Tenant Level 3 - Preheating Level 2 (service preheating), Tenant Level 4 - Preheating Level 3 (non-targeted preheating), Tenant Level 5 - Preheating Level 4 (shutdown preheating). Since the tenant's level is Tenant Level 1, the cloud management platform can determine that Preheating Level 1, corresponding to Tenant Level 1, is the preheating level available to the tenant, i.e., targeted preheating.
[0106] (3) Generally, the cloud management platform may also set up a whitelist containing multiple tenants to indicate the uniqueness of these multiple tenants. If a tenant is on the whitelist, the cloud management platform may determine the first preheating level corresponding to the whitelist from among the multiple preheating levels, i.e., the preheating level that the tenant can use.
[0107] For example, since the cloud management platform has set a whitelist for tenants to use preheating level 1, if the tenant is on the whitelist, the cloud management platform can determine preheating level 1 as the preheating level that the tenant can use, that is, targeted preheating.
[0108] After obtaining the first preheating level, since the first resource pool includes multiple cloud instances corresponding to at least one preheating level, the cloud management platform can determine whether there is a first cloud instance corresponding to the first preheating level from these multiple cloud instances.
[0109] It should be understood that in this embodiment, the cloud management platform can determine the first preheating level through the aforementioned methods (1), (2) and (3). In actual applications, the cloud management voucher can also determine the first preheating level through other methods. Furthermore, the aforementioned methods (1), (2) and (3) can be combined and used together, which will not be expanded here.
[0110] 705. If a first cloud instance corresponding to the first preheating level exists among the multiple cloud instances in the first resource pool, create a container in the first cloud instance.
[0111] 706. If there is no first cloud instance corresponding to the first preheating level among the multiple cloud instances in the first resource pool, and there is a second cloud instance corresponding to the second preheating level, then create a container in the second cloud instance, the multiple preheating levels include the second preheating level, and the second preheating level is higher than the first preheating level.
[0112] If a first cloud instance corresponding to the first preheating level exists among the multiple cloud instances in the first resource pool, the cloud management platform starts the first cloud instance and creates a container in it. The cloud management platform has now deployed the container required by the tenant in the first cloud instance in the first resource pool, successfully completing the container creation task for the tenant.
[0113] If a first cloud instance corresponding to the first preheat level does not exist among the multiple cloud instances in the first resource pool, the cloud management platform allows the tenant to upgrade to a compatible preheat level. Specifically, the platform determines a second preheat level higher than the first preheat level and determines whether a second cloud instance corresponding to the second preheat level exists among the multiple cloud instances in the first resource pool. If a second cloud instance corresponding to the second preheat level exists among the multiple cloud instances in the first resource pool, the cloud management platform starts the second cloud instance and creates a container in it. At this point, the cloud management platform has deployed the container required by the tenant in the second cloud instance in the first resource pool, successfully completing the tenant's container creation task.
[0114] For example, as shown in FIG9 (FIG. 9 is another structural diagram of the cloud service system provided by an embodiment of the present application), it is assumed that the cloud management platform manages two types of resource pools, namely, a virtual machine resource pool and a physical server resource pool. The cloud management platform can preheat multiple virtual machines in the virtual machine resource pool so that some virtual machines correspond to targeted preheating and other virtual machines correspond to non-targeted preheating. Similarly, the cloud management platform can preheat multiple cloud instances in the physical server resource pool so that some physical servers correspond to targeted preheating, other physical servers correspond to service preheating, other physical servers correspond to non-targeted preheating, and other physical servers correspond to shutdown preheating.
[0115] After the cloud management platform determines that it wants to create a container for a tenant, it can select a suitable resource pool and the preheating level available to the tenant for the tenant. In one case, assuming the cloud management platform determines that the virtual machine resource pool is a suitable resource pool and the preheating level available to the tenant is targeted preheating, the cloud management platform can directly select virtual machines corresponding to targeted preheating in the virtual machine resource pool and create containers for the tenant in these virtual machines. In another case, assuming the cloud management platform determines that the virtual machine resource pool is a suitable resource pool and the preheating level available to the tenant is service preheating, the cloud management platform will be upwardly compatible with the preheating level, select virtual machines corresponding to targeted preheating, and create containers for the tenant in these virtual machines.
[0116] In an embodiment of the present application, when a tenant needs to create a container, the tenant can input the configuration information of the container to be created into the container configuration interface provided by the cloud management platform. The configuration information is used to indicate the tenant's requirements for the container. After receiving the container configuration information, the cloud management platform can obtain the status information of multiple resource pools, which is used to indicate the performance of the multiple resource pools. Then, based on the container configuration information and the status information of the multiple resource pools, the cloud management platform can select the first resource pool from the multiple resource pools whose performance meets the tenant's requirements for the container. Subsequently, the cloud management platform can determine the first preheating level that matches the tenant from the multiple preheating levels. If there is a first cloud instance corresponding to the first preheating level among the multiple cloud instances in the first resource pool, the cloud management platform creates the container in the first cloud instance. At this point, the cloud management platform can successfully create the container required by the tenant. In the above process, the cloud management platform manages multiple resource pools of different types, and the multiple cloud instances contained in each resource pool have been preheated to at least one degree (that is, the multiple cloud instances contained in each resource pool correspond to at least one preheating level). After determining that the tenant needs to create a container, the cloud management platform can select a suitable resource pool (i.e., the first resource pool) for the tenant, and select a cloud instance (i.e., the first cloud instance) corresponding to the preheating level (i.e., the first preheating level) that the tenant can use from multiple cloud instances in the resource pool. Since the cloud instance has been preheated to a certain extent but has not been fully started, the cloud instance can be quickly and fully started and the container can be created, which not only ensures the speed of container creation but also saves the operating costs of the cloud management platform.
[0117] The above is a detailed description of the container management method based on the cloud management platform provided in the embodiment of the present application. The cloud management platform provided in the embodiment of the present application will be introduced below. Figure 10 is a structural schematic diagram of the cloud management platform provided in the embodiment of the present application. As shown in Figure 10, the cloud management platform is used to manage the infrastructure for providing cloud services. The infrastructure includes multiple resource pools, each resource pool includes multiple cloud instances corresponding to at least one of multiple preheating levels, and the multiple preheating levels are used to indicate multiple preheating degrees of the cloud instance. The cloud management platform includes:
[0118] The first acquisition module 1001 is used to obtain configuration information of a container to be created input by a tenant from a container configuration interface, where the configuration information is used to indicate the tenant's requirements for the container;
[0119] A second acquisition module 1002 is configured to acquire status information of multiple resource pools, where the status information indicates the performance of the multiple resource pools;
[0120] A selection module 1003 is configured to select a first resource pool whose performance meets the requirements from multiple resource pools based on the configuration information and the status information;
[0121] The creation module 1004 is configured to determine a first preheating level that matches the tenant from among multiple preheating levels, and to create a container in the first cloud instance if a first cloud instance corresponding to the first preheating level exists among multiple cloud instances in the first resource pool.
[0122] In an embodiment of the present application, when a tenant needs to create a container, the tenant can input the configuration information of the container to be created into the container configuration interface provided by the cloud management platform. The configuration information is used to indicate the tenant's requirements for the container. After receiving the container configuration information, the cloud management platform can obtain the status information of multiple resource pools, which is used to indicate the performance of the multiple resource pools. Then, based on the container configuration information and the status information of the multiple resource pools, the cloud management platform can select the first resource pool from the multiple resource pools whose performance meets the tenant's requirements for the container. Subsequently, the cloud management platform can determine the first preheating level that matches the tenant from the multiple preheating levels. If there is a first cloud instance corresponding to the first preheating level among the multiple cloud instances in the first resource pool, the cloud management platform creates the container in the first cloud instance. At this point, the cloud management platform can successfully create the container required by the tenant. In the above process, the cloud management platform manages multiple resource pools of different types, and the multiple cloud instances contained in each resource pool have been preheated to at least one degree (that is, the multiple cloud instances contained in each resource pool correspond to at least one preheating level). After determining that the tenant needs to create a container, the cloud management platform can select a suitable resource pool (i.e., the first resource pool) for the tenant, and select a cloud instance (i.e., the first cloud instance) corresponding to the preheating level (i.e., the first preheating level) that the tenant can use from multiple cloud instances in the resource pool. Since the cloud instance has been preheated to a certain extent but has not been fully started, the cloud instance can be quickly and fully started and the container can be created, which not only ensures the speed of container creation but also saves the operating costs of the cloud management platform.
[0123] In one possible implementation, the multiple resource pools include at least two of the following: a virtual machine resource pool, a bare metal server resource pool, a physical server resource pool, and a micro virtual machine resource pool, wherein the virtual machine resource pool includes multiple virtual machines, the bare metal server resource pool includes multiple bare metal servers, the physical server resource pool includes multiple physical servers, and the micro virtual machine resource pool includes multiple micro virtual machines.
[0124] In one possible implementation, the multiple preheating levels include: directed preheating, service preheating, non-directed preheating, and shutdown preheating, sorted from high to low, wherein the preheating degree of the cloud instance indicated by directed preheating is higher than the preheating degree of the cloud instance indicated by service preheating, the preheating degree of the cloud instance indicated by service preheating is higher than the preheating degree of the cloud instance indicated by non-directed preheating, and the preheating degree of the cloud instance indicated by non-directed preheating is higher than the preheating degree of the cloud instance indicated by shutdown preheating.
[0125] In one possible implementation, the creation module 1004 is further used to create a container in the second cloud instance if there is no first cloud instance corresponding to the first preheating level among the multiple cloud instances of the first resource pool, and there is a second cloud instance corresponding to the second preheating level, the multiple preheating levels including the second preheating level, and the second preheating level is higher than the first preheating level.
[0126] In one possible implementation, the requirement includes a startup delay of the container. The selection module 1003 is configured to: determine a first delay range in which the startup delay falls from multiple delay ranges; and determine a first preheating level corresponding to the first delay range from the multiple preheating levels based on a correspondence between the multiple delay ranges and multiple preheating levels.
[0127] In one possible implementation, the selection module 1003 is used to: obtain a first tenant level of the tenant, where the first tenant level is used to indicate the importance of the tenant; and determine a first preheating level corresponding to the first tenant level from the multiple preheating levels based on a correspondence between multiple tenant levels and multiple preheating levels, where the multiple tenant levels include the first tenant level.
[0128] In a possible implementation, the tenant is a tenant in a whitelist, and the selection module 1003 is configured to determine, from a plurality of preheating levels, a first preheating level corresponding to the whitelist.
[0129] In a possible implementation, the requirement includes at least one of the following: container specifications and container startup delay.
[0130] In a possible implementation, the performance includes at least one of the following: capacities of multiple resource pools and container creation times of multiple resource pools.
[0131] It should be noted that the information interaction, implementation process, etc. between the modules / units of the above-mentioned device are based on the same concept as the method embodiment of the present application, and the technical effects they bring are the same as those of the method embodiment of the present application. For specific contents, please refer to the description in the method embodiment shown above in the embodiment of the present application, and no further details will be given here.
[0132] Please refer to Figure 11, which is a schematic diagram of the structure of a computing device provided in an embodiment of the present application. As shown in Figure 11, the computing device 1100 (which can be used to present the aforementioned cloud management platform) includes: a processor 1101, a memory 1102, a communication interface 1103, and a bus 1104. The processor 1101, the memory 1102, and the communication interface 1103 are coupled via a bus (not labeled in the figure). The memory 1102 stores instructions. When the execution instructions in the memory 1102 are executed, the computing device 1100 executes the method executed by the cloud management platform in the above method embodiment.
[0133] The computing device 1100 may be one or more integrated circuits configured to implement the above method, such as one or more application specific integrated circuits (ASICs), one or more digital signal processors (DSPs), one or more field programmable gate arrays (FPGAs), or a combination of at least two of these integrated circuit forms. For example, when a unit in the device can be implemented in the form of a processing element scheduler, the processing element can be a general-purpose processor, such as a central processing unit (CPU) or other processor that can call a program. For example, these units can be integrated together and implemented in the form of a system-on-a-chip (SOC).
[0134] The processor 1101 may be a central processing unit (CPU), other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA), other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. The general-purpose processor may be a microprocessor or any conventional processor.
[0135] Memory 1102 may be volatile memory or nonvolatile memory, or may include both volatile and nonvolatile memory. Nonvolatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory may be random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link DRAM (SLDRAM), and direct rambus RAM (DR RAM).
[0136] Memory 1102 stores executable program code, and processor 1101 executes the executable program code to implement the functions of the aforementioned acquisition module, first deployment module, and other modules, thereby implementing the aforementioned microservice management method based on the cloud management platform. In other words, memory 1102 stores instructions for executing the aforementioned microservice management method based on the cloud management platform.
[0137] The communication interface 1103 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 1100 and other devices or a communication network.
[0138] In addition to the data bus, bus 1104 may also include a power bus, a control bus, and a status signal bus. The bus may be a Peripheral Component Interconnect Express (PCIe) bus, an Extended Industry Standard Architecture (EISA) bus, a unified bus (Ubus or UB), a Compute Express Link (CXL), or a Cache Coherent Interconnect for Accelerators (CCIX). Buses can be categorized as address buses, data buses, and control buses.
[0139] Please refer to Figure 12 , which is a schematic diagram of a computing device cluster provided in an embodiment of the present application. As shown in Figure 12 , the computing device cluster 1200 includes at least one computing device 1100 .
[0140] As shown in Figure 12, the computing device cluster 1200 includes at least one computing device 1100. The memory 1102 in one or more computing devices 1100 in the computing device cluster 1200 may store the same instructions for executing the above-mentioned container management method based on the cloud management platform.
[0141] In some possible implementations, the memory 1102 of one or more computing devices 1100 in the computing device cluster 1200 may also store partial instructions for executing the aforementioned cloud management platform-based container management method. In other words, the combination of one or more computing devices 1100 can jointly execute the aforementioned cloud management platform-based container management method.
[0142] It should be noted that the memory 1102 in different computing devices 1100 in the computing device cluster 1200 may store different instructions, each for executing a portion of the functions of the aforementioned cloud management platform. In other words, the instructions stored in the memory 1102 in different computing devices 1100 may implement the functions of one or more modules such as the first acquisition module, the second acquisition module, the selection module, and the creation module.
[0143] In some possible implementations, one or more computing devices 1100 in the computing device cluster 1200 may be connected via a network, which may be a wide area network or a local area network.
[0144] Please refer to Figure 13, which is a schematic diagram of computer devices in a computer cluster provided by an embodiment of the present application being connected via a network. As shown in Figure 13, two computing devices 1100A and 1100B are connected via a network. Specifically, each computing device is connected to the network via a communication interface.
[0145] In one possible implementation, the memory of the computing device 1100A stores instructions for executing the functions of the first acquisition module and other modules. Meanwhile, the memory of the computing device 1100B stores instructions for executing the functions of the second acquisition module, the selection module, the creation module and other modules.
[0146] It should be understood that the functions of the computing device 1100A shown in Figure 13 may also be completed by multiple computing devices. Similarly, the functions of the computing device 1100B may also be completed by multiple computing devices.
[0147] An embodiment of the present application also relates to a computer storage medium, which stores a program for signal processing. When the program is run on a computer, the computer executes the steps executed by the cloud management platform in the embodiment shown in Figure 7.
[0148] An embodiment of the present application also relates to a computer program product, which stores instructions that, when executed by a computer, enable the computer to execute the steps performed by the cloud management platform in the embodiment shown in FIG7 .
[0149] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0150] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
[0151] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0152] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.
[0153] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
Claims
1. A container management method based on a cloud management platform, characterized in that: The cloud management platform is used to manage an infrastructure for providing cloud services, the infrastructure includes multiple resource pools, each resource pool includes multiple cloud instances corresponding to at least one preheating level among multiple preheating levels, the multiple preheating levels are used to indicate multiple preheating degrees of the cloud instances, and the method includes: Acquire configuration information of a container to be created input by a tenant from a container configuration interface, where the configuration information is used to indicate the tenant's requirements for the container; Acquire status information of the multiple resource pools, where the status information is used to indicate performance of the multiple resource pools; Based on the configuration information and the state information, selecting a first resource pool whose performance meets the requirement from the multiple resource pools; A first preheating level matching the tenant is determined from the multiple preheating levels, and if a first cloud instance corresponding to the first preheating level exists among multiple cloud instances in the first resource pool, the container is created in the first cloud instance.
2. The method according to claim 1, characterized in that The multiple resource pools include at least two of the following: a virtual machine resource pool, a bare metal server resource pool, a physical server resource pool, and a micro virtual machine resource pool, wherein the virtual machine resource pool includes multiple virtual machines, the bare metal server resource pool includes multiple bare metal servers, the physical server resource pool includes multiple physical servers, and the micro virtual machine resource pool includes multiple micro virtual machines.
3. The method according to claim 1 or 2, characterized in that: The multiple preheating levels include: directed preheating, service preheating, non-directed preheating and shutdown preheating sorted from high to low, wherein the preheating degree of the cloud instance indicated by the directed preheating is higher than the preheating degree of the cloud instance indicated by the service preheating, the preheating degree of the cloud instance indicated by the service preheating is higher than the preheating degree of the cloud instance indicated by the non-directed preheating, and the preheating degree of the cloud instance indicated by the non-directed preheating is higher than the preheating degree of the cloud instance indicated by the shutdown preheating.
4. The method according to any one of claims 1 to 3, characterized in that: The method further comprises: If there is no first cloud instance corresponding to the first preheating level among the multiple cloud instances of the first resource pool, and there is a second cloud instance corresponding to the second preheating level, the container is created in the second cloud instance, the multiple preheating levels include the second preheating level, and the second preheating level is higher than the first preheating level.
5. The method according to any one of claims 1 to 4, characterized in that: The requirement includes a startup delay of the container, and determining a first preheating level matching the tenant from the multiple preheating levels includes: Determine, from a plurality of delay ranges, a first delay range in which the startup delay is located; Based on the correspondence between the multiple time delay ranges and the multiple preheating levels, a first preheating level corresponding to the first time delay range is determined from the multiple preheating levels.
6. The method according to any one of claims 1 to 4, characterized in that: The determining, from the multiple preheating levels, a first preheating level matching the tenant comprises: Acquire a first tenant level of the tenant, where the first tenant level is used to indicate the importance of the tenant; Based on a correspondence between a plurality of tenant levels and the plurality of preheating levels, a first preheating level corresponding to the first tenant level is determined from the plurality of preheating levels, the plurality of tenant levels including the first tenant level.
7. The method according to any one of claims 1 to 4, characterized in that: The tenant is a tenant in the whitelist, and determining a first preheating level matching the tenant from the multiple preheating levels includes: From the plurality of preheating levels, a first preheating level corresponding to the white list is determined.
8. The method according to any one of claims 1 to 7, characterized in that: The requirement includes at least one of the following: a specification of the container and a startup delay of the container.
9. The method according to any one of claims 1 to 8, characterized in that: The performance includes at least one of the following: capacities of the multiple resource pools and container creation time of the multiple resource pools.
10. A cloud management platform, characterized in that: The cloud management platform is used to manage an infrastructure for providing cloud services, the infrastructure includes multiple resource pools, each resource pool includes multiple cloud instances corresponding to at least one preheating level among multiple preheating levels, the multiple preheating levels are used to indicate multiple preheating degrees of the cloud instances, and the cloud management platform includes: A first acquisition module, configured to acquire configuration information of a container to be created input by a tenant from a container configuration interface, wherein the configuration information is used to indicate the tenant's requirements for the container; A second acquisition module, used to acquire status information of the multiple resource pools, where the status information is used to indicate performance of the multiple resource pools; A selection module, configured to select, from the plurality of resource pools, a first resource pool whose performance meets the requirement based on the configuration information and the state information; A creation module is used to determine a first preheating level matching the tenant from the multiple preheating levels, and if there is a first cloud instance corresponding to the first preheating level among the multiple cloud instances of the first resource pool, create the container in the first cloud instance.
11. The cloud management platform according to claim 10, characterized in that: The multiple resource pools include at least two of the following: a virtual machine resource pool, a bare metal server resource pool, a physical server resource pool, and a micro virtual machine resource pool, wherein the virtual machine resource pool includes multiple virtual machines, the bare metal server resource pool includes multiple bare metal servers, the physical server resource pool includes multiple physical servers, and the micro virtual machine resource pool includes multiple micro virtual machines.
12. The cloud management platform according to claim 10 or 11, characterized in that: The multiple preheating levels include: directed preheating, service preheating, non-directed preheating and shutdown preheating sorted from high to low, wherein the preheating degree of the cloud instance indicated by the directed preheating is higher than the preheating degree of the cloud instance indicated by the service preheating, the preheating degree of the cloud instance indicated by the service preheating is higher than the preheating degree of the cloud instance indicated by the non-directed preheating, and the preheating degree of the cloud instance indicated by the non-directed preheating is higher than the preheating degree of the cloud instance indicated by the shutdown preheating.
13. The cloud management platform according to any one of claims 10 to 12, characterized in that: The creation module is further used to create the container in the second cloud instance if there is no first cloud instance corresponding to the first preheating level among the multiple cloud instances of the first resource pool, and there is a second cloud instance corresponding to the second preheating level, the multiple preheating levels include the second preheating level, and the second preheating level is higher than the first preheating level.
14. The cloud management platform according to any one of claims 10 to 13, characterized in that: The requirement includes a startup delay of the container, and the selection module is used to: Determine, from a plurality of delay ranges, a first delay range in which the startup delay is located; Based on the correspondence between the multiple time delay ranges and the multiple preheating levels, a first preheating level corresponding to the first time delay range is determined from the multiple preheating levels.
15. The cloud management platform according to any one of claims 10 to 13, characterized in that: The selection module is used to: Acquire a first tenant level of the tenant, where the first tenant level is used to indicate the importance of the tenant; Based on a correspondence between a plurality of tenant levels and the plurality of preheating levels, a first preheating level corresponding to the first tenant level is determined from the plurality of preheating levels, the plurality of tenant levels including the first tenant level.
16. The cloud management platform according to any one of claims 10 to 13, characterized in that: The tenant is a tenant in a whitelist, and the selection module is used to determine a first preheating level corresponding to the whitelist from the multiple preheating levels.
17. The cloud management platform according to any one of claims 10 to 16, characterized in that: The requirement includes at least one of the following: a specification of the container and a startup delay of the container.
18. The cloud management platform according to any one of claims 10 to 17, characterized in that: The performance includes at least one of the following: capacities of the multiple resource pools and container creation time of the multiple resource pools.
19. A cloud service system, characterized in that: The cloud service system includes a cloud management platform and an infrastructure for providing cloud services, wherein the cloud management platform is used to manage the infrastructure, wherein the infrastructure includes multiple resource pools, each resource pool includes multiple cloud instances corresponding to at least one preheating level among multiple preheating levels, wherein the multiple preheating levels are used to indicate multiple preheating degrees of the cloud instances, and the cloud management platform is used to: Acquire configuration information of a container to be created input by a tenant from a container configuration interface, where the configuration information is used to indicate the tenant's requirements for the container; Acquire status information of the multiple resource pools, where the status information is used to indicate performance of the multiple resource pools; Based on the configuration information and the state information, selecting a first resource pool whose performance meets the requirement from the multiple resource pools; A first preheating level matching the tenant is determined from the multiple preheating levels, and if a first cloud instance corresponding to the first preheating level exists among multiple cloud instances in the first resource pool, the container is created in the first cloud instance.
20. A computing device cluster, characterized in that: The computing device cluster includes at least one computing device, each computing device including a processor and a memory: The memory is used to store instructions; The processor is configured to cause the computing device cluster to execute the method according to any one of claims 1 to 9 according to the instructions.
21. A computer storage medium, characterized in that The computer storage medium stores one or more instructions, which, when executed by one or more computers, enable the one or more computers to implement the method of any one of claims 1 to 9.
22. A computer program product, characterized in that The computer program product stores instructions, which, when executed by a computer, enable the computer to implement the method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Container management method based on cloud management platform and cloud management platform
CN119225949A
Scheduling method, apparatus, medium, device and system for realizing serviced computing resources
CN109062658A
Method, device and equipment for providing cloud service
CN115131046A
Resource allocation method and device, electronic equipment and readable storage medium
CN115562855A
Preloading instance application processing method and device, storage medium and electronic equipment
CN115671716A
Cited By
Method and system for creating special cloud server on cloud platform
CN121173680A