Container management method based on cloud management platform and cloud management platform
By managing multiple resource pools and warm-up levels in the cloud management platform, selecting the appropriate resource pools and warm-up levels to quickly start the cloud instance, solving the problem of increased operating costs of the cloud management platform when creating containers, and achieving container creation speed and cost balance.
Patent Information
- Application Number
- CN202311068509.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-06-29
- Filing Date
- 2023-08-23
- Publication Date
- 2024-12-31
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 with different warm-up levels, select the appropriate resource pool and warm-up levels according to the needs of tenants, quickly start the cloud instance to create containers, saving operational costs .
It ensures the speed of container creation, while reducing the operating costs of the cloud management platform and balancing user experience and operation costs.
Smart Images

Figure CN119225949A_ABST
Abstract
Description
[0001] This application claims the priority of the Chinese patent application filed with the China Patent Office on June 29, 2023, with application number 202310786221.5 and invention name “A resource pool scheduling method based on cloud management platform”, the entire contents of which are incorporated by reference in 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 have gradually become an important way for cloud management platforms to provide cloud services to tenants due to their extremely fast supply speed and billing based on usage time. While providing convenience to tenants, the operating costs of cloud management platforms are covered by cloud vendors.
[0004] In the related art, the cloud service system includes a cloud management platform and multiple physical servers, which have virtual machines (VMs) deployed in advance. When a tenant needs to create a container, the cloud management platform can select a physical server from multiple physical servers based on the tenant's request and create the container required by the tenant in the virtual machine on the physical server. Then, these containers can run the tenant's applications or microservices, thereby providing the tenant with cloud services including data storage, data computing, and data download.
[0005] In the above cloud service system, since the cloud management platform has created and started the virtual machine on the physical server, it is equivalent to providing a creation environment for the creation of the container. Although this can increase the speed of container creation, when the virtual machine on the physical server is not in use, it will increase the operating costs of the cloud management platform. Summary of the invention
[0006] The embodiments of the present application provide a container management method based on a cloud management platform and a cloud management platform, which can save the operating costs of the cloud management platform while ensuring the creation speed of the container.
[0007] A first aspect of an embodiment of the present application provides a container management method based on a cloud management platform, wherein the cloud management platform is used to manage an infrastructure that provides cloud services, wherein the infrastructure includes multiple resource pools, each resource pool includes multiple cloud instances corresponding to at least one preheating level of multiple preheating levels, and the multiple preheating levels are used to indicate multiple preheating degrees of the cloud instances, wherein the method includes:
[0008] When a tenant needs to create a container, the cloud management platform can provide the tenant with a container configuration interface, so the tenant can send the configuration information of the container to be created to the container configuration interface, so that the cloud management platform receives the configuration information sent by the tenant through the container configuration interface, and the configuration information is used to indicate the tenant's demand for the container. Then, the cloud management platform can determine that a container needs to be created for the tenant based on the container configuration information, so the cloud management platform can obtain the status information of the multiple resource pools it manages, and the status information is used to indicate the performance of the multiple resource pools.
[0009] 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 demand 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 demand for the container from multiple resource pools.
[0010] After determining the first resource pool, the cloud management platform can determine the first preheating level that matches the tenant from multiple preheating levels, that is, the preheating level that the tenant can use. After obtaining the first preheating level, since the first resource pool contains multiple cloud instances corresponding to at least one preheating level, if there is a first cloud instance corresponding to the first preheating level among these multiple cloud instances, the cloud management platform starts the first cloud instance and creates a container in the first cloud instance. At this point, the cloud management platform has successfully completed the tenant's container creation task.
[0011] It can be seen from the above method 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 (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 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, which not only ensures the speed of container creation, but also saves the operating costs of the cloud management platform.
[0012] 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. In the aforementioned implementation, the cloud management platform can manage multiple resource pools of different types, including at least two resource pools among 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 included in the virtual machine resource pool can be regarded as the creation environment of the container, and these multiple virtual machines are preheated to at least one degree, so the cloud management platform can quickly start these virtual machines and create containers in the virtual machines. For the bare metal server resource pool, the multiple bare metal servers included in the bare metal server resource pool can be regarded as the creation environment of the container, and these multiple bare metal servers are preheated to at least one degree, so the cloud management platform can quickly start these bare metal servers and create containers in the bare metal servers. For the physical server resource pool, the multiple physical servers contained in the physical server resource pool can be regarded as the creation environment of the container, and these multiple physical servers are preheated to at least one degree, so the cloud management platform can quickly start these physical servers and create containers in the physical servers. For the micro virtual machine resource pool, the multiple micro virtual machines contained in the micro virtual machine resource pool can be regarded as the creation environment of the container, and these multiple micro virtual machines are preheated to at least one degree, so the cloud management platform can quickly start these micro virtual machines and create containers in the micro virtual machines. It can be seen that the cloud management platform provides tenants with enough resources to meet the user's container creation needs.
[0013] In a possible implementation, multiple preheating levels include: directional preheating, service preheating, non-directional preheating, and shutdown preheating, which are ranked from high to low, wherein the preheating degree of the cloud instance indicated by directional 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-directional preheating, and the preheating degree of the cloud instance indicated by non-directional preheating is higher than the preheating degree of the cloud instance indicated by shutdown preheating. In the aforementioned implementation, shutdown preheating, non-directional preheating, service preheating, and directional preheating are arranged in the cloud management platform, which are ranked 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 which point the preheating degree of the cloud instance is the lowest. Non-directional 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 which point the preheating degree of the cloud instance is low. Service preheating means that the cloud instance in the resource pool has been created and loaded with service components. At this time, the preheating degree of the cloud instance is relatively high. Directed preheating means that the cloud instance in the resource pool has been created and loaded with service components and tenant information required to create containers. At this time, the preheating degree of the cloud instance is the highest. Since the higher the preheating degree of the cloud instance, the lower its container creation time (the faster the container creation speed), but the higher the operating cost, on the contrary, the lower the preheating degree of the cloud instance, the higher its container creation time (the slower the container creation speed), but the lower the operating cost, the cloud management platform sets multiple cloud instances with different preheating degrees for the resource pool to select the appropriate cloud instance to create containers for tenants, which can not only ensure the container creation speed, but also save the operating cost of the cloud management platform, that is, to ensure the balance between user experience and operating costs.
[0014] In a possible implementation, the method further includes: 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, then a container is created in the second cloud instance, and the multiple preheating levels include the second preheating level, and the second preheating level is higher than the first preheating level. In the aforementioned implementation, if there is no first cloud instance corresponding to the first preheating level among the multiple cloud instances of the first resource pool, the cloud management platform allows the tenant to be upwardly compatible with the preheating level, that is, to determine the second preheating level higher than the first preheating level, and to determine whether there is a second cloud instance corresponding to the second preheating level among the multiple cloud instances of the first resource pool. If there is a second cloud instance corresponding to the second preheating level among the multiple cloud instances of 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 has successfully completed the tenant's container creation task.
[0015] In one possible implementation, the requirement includes the startup delay of the container, and determining the first preheating level that matches the tenant from multiple preheating levels includes: determining the first delay range where the startup delay is located from multiple delay ranges; and determining the first preheating level corresponding to the first delay range from multiple preheating levels based on the correspondence between the multiple delay ranges and the multiple preheating levels. In the aforementioned implementation, 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 delay ranges preset, the cloud management platform can obtain the preset multiple delay ranges. Then, the cloud management platform can determine the first delay range where the startup delay of the container required by the tenant is located from the multiple delay ranges. Since the cloud management platform also has multiple correspondences between delay ranges and preheating levels preset, the cloud management platform can determine the first preheating level corresponding to the first delay range from the multiple preheating levels based on the correspondence.
[0016] 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 level that the tenant can use, the cloud management platform may first obtain the first tenant level of the tenant. Since the cloud management platform also has a pre-set 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.
[0017] In one possible implementation, the tenant is a tenant in a whitelist, and determining a first preheating level that matches the tenant from multiple preheating levels includes: determining a first preheating level corresponding to the whitelist from multiple preheating levels. In the aforementioned implementation, the cloud management platform may set a tenant whitelist. If the tenant is in the whitelist, the cloud management platform may determine a first preheating level corresponding to the whitelist from multiple preheating levels, that is, a preheating level that the tenant can use.
[0018] In a possible implementation, the tenant's requirements for the container include at least one of the following: container specifications and container startup delay, etc.
[0019] In a possible implementation manner, the performance of the multiple resource pools includes at least one of the following: the capacity of the multiple resource pools and the container creation time of the multiple resource pools, etc.
[0020] 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 of 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, used to 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 demand for the container; a second acquisition module, used to obtain status information of multiple resource pools, the status information is used to indicate the performance of the multiple resource pools; a selection module, 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, 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.
[0021] It can be seen from the above cloud management platform that 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, and the configuration information is used to indicate the tenant's demand for the container. After receiving the configuration information of the container, the cloud management platform can obtain the status information of multiple resource pools, and the status information is used to indicate the performance of multiple resource pools. Then, the cloud management platform can select the first resource pool whose performance meets the tenant's demand for the container from multiple resource pools based on the configuration information of the container and the status information of multiple resource pools. Subsequently, the cloud management platform can determine the first preheating level that matches the tenant from multiple preheating levels. If there is a first cloud instance corresponding to the first preheating level among the multiple cloud instances of the first resource pool, the cloud management platform creates a 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.
[0022] 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.
[0023] In one possible implementation, multiple preheating levels include: directed preheating, service preheating, non-directed preheating, and shutdown preheating, which are ranked 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.
[0024] In one possible implementation, the creation module is also 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 include the second preheating level, and the second preheating level is higher than the first preheating level.
[0025] In one possible implementation, the requirement includes a startup delay of the container, and the selection module is used 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 multiple preheating levels based on a correspondence between the multiple delay ranges and the multiple preheating levels.
[0026] In one possible implementation, a selection module 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 among 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.
[0027] In a possible implementation, 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 multiple preheating levels.
[0028] In a possible implementation manner, the requirement includes at least one of the following: a specification of the container and a startup delay of the container.
[0029] In a possible implementation manner, the performance includes at least one of the following: capacities of multiple resource pools and container creation time of multiple resource pools.
[0030] 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 among 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 a container to be created input by a tenant from a container configuration interface, the configuration information is used to indicate the tenant's demand for the container; obtain status information of multiple resource pools, the status information is used to indicate the performance of the multiple resource pools; based on the configuration information and the 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 a first cloud instance corresponding to the first preheating level exists among the multiple cloud instances of the first resource pool, create a container in the first cloud instance.
[0031] It can be seen from the above cloud service system that 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, and the configuration information is used to indicate the tenant's demand for the container. After receiving the configuration information of the container, the cloud management platform can obtain the status information of multiple resource pools, and the status information is used to indicate the performance of the multiple resource pools. Then, the cloud management platform can select the first resource pool whose performance meets the tenant's demand for the container from multiple resource pools based on the configuration information of the container and the status information of the multiple resource pools. Subsequently, the cloud management platform can determine the first preheating level that matches the tenant from multiple preheating levels. If there is a first cloud instance corresponding to the first preheating level among the multiple cloud instances of the first resource pool, the cloud management platform creates a 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.
[0032] 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.
[0033] In one possible implementation, multiple preheating levels include: directed preheating, service preheating, non-directed preheating, and shutdown preheating, which are ranked 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.
[0034] In one possible implementation, the cloud management platform is also 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.
[0035] In one possible implementation, the requirement includes a startup delay of the container, and the cloud management platform is used 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 multiple preheating levels based on a correspondence between the multiple delay ranges and the multiple preheating levels.
[0036] 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 among 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.
[0037] 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.
[0038] In a possible implementation manner, the requirement includes at least one of the following: a specification of the container and a startup delay of the container.
[0039] In a possible implementation manner, the performance includes at least one of the following: capacities of multiple resource pools and container creation time of multiple resource pools.
[0040] A fourth aspect of an embodiment of the present application provides a computing device cluster, the computing device cluster includes at least one computing device, each computing device includes 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.
[0041] 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.
[0042] 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.
[0043] 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, and the configuration information is used to indicate the tenant's demand for the container. After receiving the configuration information of the container, the cloud management platform can obtain the status information of multiple resource pools, and the status information is used to indicate the performance of multiple resource pools. Then, the cloud management platform can select the first resource pool whose performance meets the tenant's demand for the container from multiple resource pools based on the configuration information of the container and the status information of multiple resource pools. Subsequently, the cloud management platform can determine the first preheating level that matches the tenant from multiple preheating levels. If there is a first cloud instance corresponding to the first preheating level among the multiple cloud instances of the first resource pool, the cloud management platform creates a 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
[0044] Figure 1 A schematic diagram of the structure of a cloud service system provided in an embodiment of the present application;
[0045] Figure 2 A schematic diagram of the structure of a cloud instance provided in an embodiment of the present application;
[0046] Figure 3 Another schematic diagram of the structure of a cloud instance provided in an embodiment of the present application;
[0047] Figure 4 Another schematic diagram of the structure of a cloud instance provided in an embodiment of the present application;
[0048] Figure 5 Another schematic diagram of the structure of a cloud instance provided in an embodiment of the present application;
[0049] Figure 6 Another structural diagram of the cloud service system provided in the embodiment of the present application;
[0050] Figure 7 A container management method based on a cloud management platform provided in an embodiment of the present application;
[0051] Figure 8 Another structural diagram of the cloud service system provided in the embodiment of the present application;
[0052] Fig. 9 Another structural diagram of the cloud service system provided in the embodiment of the present application;
[0053] Fig.10 A schematic diagram of the structure of the cloud management platform provided in the embodiment of the present application;
[0054] Fig.11 A schematic diagram of a structure of a computing device provided in an embodiment of the present application;
[0055] Fig.12 A schematic diagram of the structure of a computing device cluster provided in an embodiment of the present application;
[0056] Fig.13 A schematic diagram of computer devices in a computer cluster provided in an embodiment of the present application being connected via a network. DETAILED DESCRIPTION
[0057] The embodiments of the present application provide a container management method based on a cloud management platform and a cloud management platform, which can save the operating costs of the cloud management platform while ensuring the creation speed of the container.
[0058] 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 need not be 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, which is only to describe the distinction mode adopted by the objects of the same attributes when describing 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.
[0059] Containers have gradually become an important way for cloud management platforms to provide cloud services to tenants due to their extremely fast supply speed and billing based on usage time. While providing convenience to tenants, the operating costs of cloud management platforms are covered by cloud vendors.
[0060] In the related art, the cloud service system includes a cloud management platform and multiple physical servers, which have one or more virtual machines deployed in advance. When a tenant needs to create a container, he can send a request to the cloud management platform. Therefore, the cloud management platform can select a physical server from multiple physical servers based on the request from the tenant, and create the container required by the tenant in the virtual machine on the physical server. Then, these containers can run the tenant's applications or microservices, thereby providing the tenant with cloud services including data storage, data computing, and data download.
[0061] In the above 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.
[0062] In order to solve the above problems, an embodiment of the present application provides a container management method based on a cloud management platform, which can be implemented through the cloud management platform in the cloud service system. Figure 1 A schematic diagram of the structure of the cloud service system provided in the embodiment of the present application is as follows: Figure 1 As shown in the figure, the cloud service system includes the infrastructure that can provide cloud services and the cloud management platform that manages these infrastructures. The cloud management platform and infrastructure are introduced separately below:
[0063] The cloud management platform can coordinate and manage multiple resource pools in the entire cloud service system (for example, select a resource pool from multiple resource pools, then select a cloud instance from the resource pool, and create a container (docker) in the cloud instance), and 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 login interface and container configuration interface for access by the tenant's client (for example, the terminal device used by the tenant or the browser on the terminal device, etc.). Among them, the cloud management platform can authenticate the tenant's client through the login interface, and after the identity authentication is successful, the tenant's client can be allowed 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 a suitable resource pool for the tenant from multiple resource pools, then select a suitable cloud instance from the multiple cloud instances contained in the resource pool, and then create one or more containers on the cloud instance for providing cloud services to the tenant. Then, these containers can run corresponding applications or microservices to process the user's business, thereby meeting the user's business processing needs.
[0064] The infrastructure includes multiple resource pools of different types that can be selected by the cloud management platform, and each resource pool includes a certain number of cloud instances. Under the instruction of the tenant's client, the cloud management platform can select a resource pool for the tenant from multiple resource pools, and select a cloud instance from multiple cloud instances included in the resource pool, thereby creating one or more exclusive containers for the tenant on the cloud instance, so that these containers provide cloud services for the tenant. Among them, the multiple resource pools included in the infrastructure can be set in multiple regions or multiple availability zones, etc.
[0065] Furthermore, the multiple resource pools included in the infrastructure may include at least two of a virtual machine resource pool, a bare metal server (BMS) resource, a physical server resource pool, and a microVM resource pool, so the infrastructure may include at least two different types of resource pools. The following are introductions to these four resource pools:
[0066] (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.
[0067] For multiple virtual machines contained in a virtual machine resource pool, any virtual machine can be regarded as a container creation environment. Figure 2 As shown ( Figure 2 A structural diagram of a cloud instance provided in an embodiment of the present application) is provided. 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 coordinate the management of one or more containers in the virtual machine through the service component (for example, the creation and deletion of containers, the management of certificate keys, the connection to upper-layer services, the health monitoring of containers, etc.).
[0068] (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 of 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 in 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.
[0069] For multiple bare metal servers contained in a bare metal server resource pool, any bare metal server can be regarded as a container creation environment. Figure 3 As shown ( Figure 3 Another structural schematic diagram of the cloud instance provided in an embodiment of the present application), for any one of 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 coordinately manage one or more containers in the bare metal server through the service component.
[0070] (3) 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 in 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.
[0071] For multiple physical servers contained in the physical server resource pool, any physical server can be regarded as the environment for creating a container. Figure 4 As shown ( Figure 4 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 coordinate the management of one or more containers in the physical server through the service component.
[0072] (4) For the micro-VM resource pool, the micro-VM 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 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.
[0073] For multiple micro-VMs contained in a micro-VM resource pool, any micro-VM can be regarded as a container creation environment. Figure 5 As shown ( Figure 5 A structural diagram of a cloud instance provided for 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 coordinate the management of one or more containers in the micro virtual machine through the service component.
[0074] 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 of the cloud instance. 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 following is an introduction to the multiple preheating levels:
[0075] (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 a shutdown state, so that a cloud instance corresponding to the preheating level of shutdown 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 shutdown preheating, it can start these cloud instances, load service components and 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.
[0076] (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 state), 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.
[0077] (3) Service preheating. For any resource pool among the virtual machine resource pool, bare metal server resource pool and physical server resource pool, after the cloud management platform creates a cloud instance in the resource pool, it can load the service component 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 the tenant's request, if it selects the cloud instance corresponding to the preheating level of service preheating, it can further load the tenant information into these cloud instances, and then create containers in these cloud instances based on the service components and tenant information.
[0078] (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), so that a cloud instance corresponding to the targeted 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 targeted preheating level, it can create containers in these cloud instances based on the service components and tenant information.
[0079] 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 theories (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 limitation here.
[0080] It can be seen that the cloud management platform provides a hierarchical preheating mechanism for the cloud instances of the resource pool, which includes shutdown preheating, non-directional preheating, service preheating and directional preheating, etc., which are ranked from low to high. Based on the above introduction to the 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 directional preheating. In other words, the cloud instance corresponding to the lower preheating level has a lower preheating degree, and 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, and the lower its container creation time (the faster the container creation speed), but the higher the operating cost.
[0081] It is worth noting that the cloud management platform can have a two-level scheduling mechanism. 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 up a corresponding scheduling module for this mechanism, so the cloud management platform can have a variety of structures: (1) such as Figure 1 In the structure shown, the primary scheduling module and the secondary scheduling module set by the cloud management platform are 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 to manage containers. (2) Figure 6 The structure shown ( Figure 6Another structural diagram of the cloud service system provided by the embodiment of the present application), the primary scheduling module set by the cloud management platform is deployed inside the cloud management platform, while the secondary 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 secondary 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 structural setting of the cloud management platform can be set according to actual needs, and there is no limitation here.
[0082] In order to further understand the workflow of the cloud management platform, the following Figure 7 This workflow is further introduced. Figure 7 The container management method based on the cloud management platform provided in the embodiment of the present application can be implemented through the cloud management platform. The method includes:
[0083] 701. 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.
[0084] 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 the 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.
[0085] 702. Obtain status information of multiple resource pools, where the status information is used to indicate performance of the multiple resource pools.
[0086] 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, so the cloud management platform can obtain the status information of multiple resource pools it manages, and 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 multiple resource pools, the container creation time of multiple resource pools, the expansion speed of multiple resource pools, the average resource cost of multiple resource pools, and the maximum concurrency of multiple resource pools, etc.
[0087] It should be understood that in this embodiment, step 702 is only schematically described as being executed after step 701, and does not limit the execution order of step 701 and step 702. In actual applications, the execution order of step 701 and step 702 may not be in particular order, for example, step 702 may also be executed before step 701, that is, the cloud management platform may first obtain the status information of multiple resource pools, and then directly execute step 703 after receiving the configuration information of the container.
[0088] 703. Based on the configuration information and the state information, select a first resource pool whose performance meets the requirement from multiple resource pools.
[0089] 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 demand 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 demand for the container from multiple resource pools. Then, the cloud management platform can complete the tenant's container creation task in the first resource pool.
[0090] Specifically, the cloud management platform manages multiple resource pools of different types, and the first resource pool can be selected from the multiple resource pools in the following ways:
[0091] (1) For a certain resource pool, the requirement for the resource pool may be to keep the available capacity of the resource pool (also referred to as available resources) greater than or equal to a 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.
[0092] For example, for a physical server resource pool, it is necessary to maintain the available capacity of the physical server resource pool at 50%. If the specification of the container set by the tenant will occupy 1% of the capacity in the resource pool, and the existing available capacity of the physical server resource pool is 53%, then the cloud management platform can determine that after deploying the container required by the tenant in the physical server resource pool, the remaining available containers of the physical server are 52%, so the cloud management platform can determine that the physical server resource pool is a suitable resource pool for completing the tenant's container creation task.
[0093] (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 container specifications required by the user, and the container creation time can match the container startup delay required by the user, etc.) from multiple resource pools as the first resource pool based on the available capacity of multiple resource pools and performance indicators such as the container creation time of multiple resource pools. Based on this, the cloud management platform can complete the tenant's container creation task in the first resource pool.
[0094] 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.
[0095] 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 are not elaborated here.
[0096] 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.
[0097] 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 above four types of resource pools, such as Figure 6 For example, the resource pool managed by the cloud management platform can also be any combination of these four resource pools, such as Figure 8 As shown ( Figure 8 Another structural diagram of the cloud service system provided in the 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 may also include other types of resource pools in addition to the aforementioned four types of resource pools, which are not limited here.
[0098] 704. Determine a first preheating level that matches the tenant from among multiple preheating levels, and detect whether there is a first cloud instance corresponding to the first preheating level among multiple cloud instances in the first resource pool.
[0099] After determining the first resource pool, the cloud management platform may determine a first preheating level that matches the tenant from multiple preheating levels, where the first preheating level is the preheating level that the tenant can use.
[0100] Specifically, the cloud management platform may determine the first preheating level from the multiple preheating levels in the following ways:
[0101] (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 is pre-set with multiple non-overlapping delay ranges, the cloud management platform can obtain the pre-set multiple 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 pre-sets the correspondence between multiple delay ranges and multiple preheating levels, the cloud management platform can determine the first preheating level corresponding to the first delay range from multiple preheating levels based on the correspondence, that is, the preheating level that the tenant can use.
[0102] For example, the startup delay of the container required by the tenant is 1S, and the cloud management platform has preset delay range 1: 0.1S~0.5S, delay range 2: 0.6S~1S, delay range 3: 1S~1.5S and delay range 4: 1.5S~2S, and the cloud management platform also has the following corresponding relationships preset: delay range 1--preheating level 1 (directional preheating), delay range 2--preheating level 2 (service preheating), delay range 3--preheating level 3 (non-directional preheating), delay range 4--preheating level 4 (shutdown preheating). Then, the cloud management platform can determine that the startup delay of the container required by the tenant is in delay range 2, so the preheating level 2 corresponding to delay range 2 can be determined as the preheating level that the tenant can use, that is, service preheating.
[0103] (2) Since the tenant has registered on 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 a 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 relationship 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.
[0104] For example, since the cloud management platform has pre-set tenant level 1, tenant level 2, tenant level 3, tenant level 4 and tenant level 5, assuming that the tenant is more important, the cloud management platform sets the tenant's level to tenant level 1. In addition, the cloud management platform also has the following pre-set corresponding relationships: tenant level 1, tenant level 2--preheating level 1 (directional preheating), tenant level 3--preheating level 2 (service preheating), tenant level 4--preheating level 3 (non-directional preheating), tenant level 5--preheating level 4 (shutdown preheating). Then, since the tenant's level is tenant level 1, the cloud management platform can determine that the preheating level 1 corresponding to tenant level 1 is the preheating level that the tenant can use, that is, directional preheating.
[0105] (3) Generally, the cloud management platform may also set up a whitelist containing multiple tenants to indicate the particularity of the multiple tenants. If a tenant is in the whitelist, the cloud management platform may determine the first preheating level corresponding to the whitelist from multiple preheating levels, that is, the preheating level that the tenant can use.
[0106] 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.
[0107] 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 the multiple cloud instances.
[0108] 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 platform 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.
[0109] 705. If there is a first cloud instance corresponding to the first preheating level among the multiple cloud instances in the first resource pool, create a container in the first cloud instance.
[0110] 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.
[0111] 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 starts the first cloud instance and creates a container in the first cloud instance. At this point, the cloud management platform deploys the container required by the tenant in the first cloud instance in the first resource pool, which is equivalent to successfully completing the tenant's container creation task.
[0112] If there is no first cloud instance corresponding to the first preheating level among the multiple cloud instances in the first resource pool, the cloud management platform allows the tenant to be upwardly compatible with the preheating level, that is, to determine a second preheating level higher than the first preheating level, and to determine whether there is a second cloud instance corresponding to the second preheating level among the multiple cloud instances in the first resource pool. If there is a second cloud instance corresponding to the second preheating level 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 has deployed the container required by the tenant in the second cloud instance of the first resource pool, which is equivalent to successfully completing the tenant's container creation task.
[0113] For example, Fig. 9 As shown ( Fig. 9 Another structural diagram of the cloud service system provided in an embodiment of the present application) is provided, assuming that the cloud management platform manages two types of resource pools, namely, a virtual machine resource pool and a physical server resource pool, wherein the cloud management platform can preheat multiple virtual machines in the virtual machine resource pool so that a part of the virtual machines correspond to directional preheating, and another part of the virtual machines correspond to non-directional preheating. Similarly, the cloud management platform can preheat multiple cloud instances in the physical server resource pool so that a part of the physical servers correspond to directional preheating, another part of the physical servers correspond to service preheating, another part of the physical servers correspond to non-directional preheating, and another part of the physical servers correspond to shutdown preheating.
[0114] 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 that 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 that 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 is upwardly compatible with the preheating level, selects virtual machines corresponding to targeted preheating, and creates containers for the tenant in these virtual machines.
[0115] 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, and the configuration information is used to indicate the tenant's demand for the container. After receiving the configuration information of the container, the cloud management platform can obtain the status information of multiple resource pools, and the status information is used to indicate the performance of multiple resource pools. Then, the cloud management platform can select the first resource pool whose performance meets the tenant's demand for the container from multiple resource pools based on the configuration information of the container and the status information of multiple resource pools. Subsequently, the cloud management platform can determine the first preheating level that matches the tenant from multiple preheating levels. If there is a first cloud instance corresponding to the first preheating level among the multiple cloud instances of the first resource pool, the cloud management platform creates a 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.
[0116] 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. Fig.10 A schematic diagram of the structure of the cloud management platform provided in the embodiment of the present application is shown in FIG. Fig.10 As shown, 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 preheating level in multiple preheating levels, the multiple preheating levels are used to indicate multiple preheating degrees of the cloud instances, and the cloud management platform includes:
[0117] The first acquisition module 1001 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;
[0118] A second acquisition module 1002 is used to acquire status information of multiple resource pools, where the status information is used to indicate the performance of the multiple resource pools;
[0119] A selection module 1003 is used to select a first resource pool whose performance meets the requirement from multiple resource pools based on the configuration information and the state information;
[0120] The creation module 1004 is used to determine a first preheating level matching the tenant from multiple preheating levels, and if there is a first cloud instance corresponding to the first preheating level among multiple cloud instances in the first resource pool, create a container in the first cloud instance.
[0121] 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, and the configuration information is used to indicate the tenant's demand for the container. After receiving the configuration information of the container, the cloud management platform can obtain the status information of multiple resource pools, and the status information is used to indicate the performance of multiple resource pools. Then, the cloud management platform can select the first resource pool whose performance meets the tenant's demand for the container from multiple resource pools based on the configuration information of the container and the status information of multiple resource pools. Subsequently, the cloud management platform can determine the first preheating level that matches the tenant from multiple preheating levels. If there is a first cloud instance corresponding to the first preheating level among the multiple cloud instances of the first resource pool, the cloud management platform creates a 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.
[0122] 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.
[0123] In one possible implementation, multiple preheating levels include: directed preheating, service preheating, non-directed preheating, and shutdown preheating, which are ranked 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.
[0124] In one possible implementation, the creation module 1004 is also 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 include the second preheating level, and the second preheating level is higher than the first preheating level.
[0125] In one possible implementation, the requirement includes a startup delay of the container, and the selection module 1003 is used 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 multiple preheating levels based on a correspondence between the multiple delay ranges and the multiple preheating levels.
[0126] 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; based on the correspondence between multiple tenant levels and multiple preheating levels, determine a first preheating level corresponding to the first tenant level from multiple preheating levels, where the multiple tenant levels include the first tenant level.
[0127] In a possible implementation, the tenant is a tenant in a whitelist, and the selection module 1003 is used to determine a first preheating level corresponding to the whitelist from multiple preheating levels.
[0128] In a possible implementation manner, the requirement includes at least one of the following: a specification of the container and a startup delay of the container.
[0129] In a possible implementation manner, the performance includes at least one of the following: capacities of multiple resource pools and container creation time of multiple resource pools.
[0130] 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 will not be repeated here.
[0131] See also Fig.11 , Fig.11 A schematic diagram of a computing device provided in an embodiment of the present application. Fig.11As shown, 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 marked 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.
[0132] 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 (ASIC), or one or more digital signal processors (DSP), or one or more field programmable gate arrays (FPGA), or a combination of at least two of these integrated circuit forms. For another example, when a unit in the device can be implemented in the form of a processing element scheduler, the processing element may be a general-purpose processor, such as a central processing unit (CPU) or other processor that can call a program. For another example, these units may be integrated together and implemented in the form of a system-on-a-chip (SOC).
[0133] The processor 1101 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. A general-purpose processor may be a microprocessor or any conventional processor.
[0134] The memory 1102 may be a volatile memory or a nonvolatile memory, or may include both volatile and nonvolatile memories. Among them, the nonvolatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a 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 dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).
[0135] The memory 1102 stores executable program codes, and the processor 1101 executes the executable program codes to respectively implement the functions of the aforementioned acquisition module and the first deployment module, thereby implementing the aforementioned microservice management method based on the cloud management platform. That is, the memory 1102 stores instructions for executing the aforementioned microservice management method based on the cloud management platform.
[0136] 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.
[0137] In addition to the data bus, the bus 1104 may also include a power bus, a control bus, and a status signal bus, etc. The bus may be a peripheral component interconnect express (PCIe) bus, or an extended industry standard architecture (EISA) bus, a unified bus (Ubus or UB), a compute express link (CXL), a cache coherent interconnect for accelerators (CCIX), etc. The bus may be divided into an address bus, a data bus, a control bus, etc.
[0138] See also Fig.12 , Fig.12 A schematic diagram of the structure of a computing device cluster provided in an embodiment of the present application. Fig.12 As shown, the computing device cluster 1200 includes at least one computing device 1100 .
[0139] like Fig.12 As shown, 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.
[0140] In some possible implementations, the memory 1102 of one or more computing devices 1100 in the computing device cluster 1200 may also respectively store some instructions for executing the above-mentioned container management method based on the cloud management platform. In other words, the combination of one or more computing devices 1100 can jointly execute the above-mentioned container management method based on the cloud management platform.
[0141] It should be noted that the memory 1102 in different computing devices 1100 in the computing device cluster 1200 may store different instructions, which are respectively used to execute part of the functions of the above-mentioned cloud management platform. That is, the instructions stored in the memory 1102 in different computing devices 1100 may implement the functions of one or more modules of the first acquisition module, the second acquisition module, the selection module, the creation module, and the like.
[0142] 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.
[0143] See also Fig.13 , Fig.13 A schematic diagram of computer devices in a computer cluster provided in an embodiment of the present application being connected via a network. Fig.13 As shown, two computing devices 1100A and 1100B are connected via a network. Specifically, they are connected to the network via a communication interface in each computing device.
[0144] In a possible implementation, the memory in the computing device 1100A stores instructions for executing the functions of the first acquisition module and the like. Meanwhile, the memory in the computing device 1100B stores instructions for executing the functions of the second acquisition module, the selection module, the creation module and the like.
[0145] It should be understood that Fig.13 The functions of the computing device 1100A shown in FIG. 1 may also be completed by multiple computing devices. Similarly, the functions of the computing device 1100B may also be completed by multiple computing devices.
[0146] The embodiment of the present application also relates to a computer storage medium, in which a program for signal processing is stored. When the program is run on a computer, the computer executes the following steps: Figure 7 The steps performed by the cloud management platform in the illustrated embodiment.
[0147] The present application also relates to a computer program product, which stores instructions, which, when executed by a computer, enable the computer to execute the following Figure 7 The steps performed by the cloud management platform in the illustrated embodiment.
[0148] Those skilled in the art can 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.
[0149] In the several embodiments provided in the present 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 only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, 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.
[0150] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0151] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0152] 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 to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, read-only memory), random access memory (RAM, random access memory), disk or optical disk and other media that can store program code.
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
Cited By
Cloud management platform-based container management method and cloud management platform
WO2025002366A1
