Container cluster application resource scheduling method and device, and medium

By collecting application and cluster environment information in the container cluster, determining weight values, and configuring precise resource scheduling strategies, the problems of resource waste and service quality degradation in traditional scheduling strategies are solved, achieving efficient resource utilization and business continuity and stability.

WO2026008030A1PCT designated stage Publication Date: 2026-01-08INSPUR GENERSOFT CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/106913
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-04
Filing Date
2025-07-03
Publication Date
2026-01-08

Smart Images

  • Figure CN2025106913_08012026_PF_FP_ABST
    Figure CN2025106913_08012026_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of computers, and is used for solving the problem that, during deployment of container cluster applications, traditional container cluster scheduling typically relies on simple resource allocation policies, easily resulting in resource waste and quality of service degradation. The present application discloses a container cluster application resource scheduling method and device, and a medium. The method comprises: collecting relevant information of each application to be installed, and sending the relevant information of each application to be installed to a system modeling module; acquiring cluster environment information, and modeling a system on the basis of the cluster environment information and the relevant information of each application to be installed; determining, on the basis of the cluster environment information and / or the relevant information of each application to be installed, weight values of each application to be installed, the weight values including a resource consumption weight value and a service impact weight value; and deploying each application to be installed in a container cluster, and configuring, on the basis of the weight values of each application to be installed, a resource scheduling policy for each application to be installed.
Need to check novelty before this filing date? Find Prior Art

Description

A container cluster application resource scheduling method, device and medium

[0001] Cross-reference to Related Applications

[0002] The present application claims priority to the Chinese patent application No. 202410888299.2, filed on July 4, 2024, and entitled "A container cluster application resource scheduling method, device and medium", the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD

[0003] The present application relates to the technical field of container clusters, and in particular to a container cluster application resource scheduling method, device and medium. BACKGROUND

[0004] With the rapid development of information technology, microservice architecture has gradually become the mainstream choice for enterprises to build complex business systems. Microservice architecture splits large applications into multiple independent and deployable services, each of which can be developed, tested and deployed independently, making the system more flexible and scalable. The emergence of containerization technology has further promoted the development of microservice architecture. Containers are a lightweight virtualization technology that can encapsulate applications and their dependencies in an independent runtime environment, enabling rapid deployment, migration and expansion of applications.

[0005] Due to the advantages of microservice architecture and containerization technology, more and more enterprises deploy their businesses in container clusters. Container clusters are usually composed of multiple servers and managed and scheduled by container orchestration tools. However, how to achieve efficient resource utilization and service quality guarantee in container clusters has become a challenge for enterprises.

[0006] In the process of deploying container cluster applications, traditional container cluster scheduling usually adopts simple resource allocation strategies, such as equal allocation or random allocation according to resource requirements. This approach can easily lead to resource waste and service quality degradation, especially in the case of uneven load or resource shortage. SUMMARY

[0007] The present application provides a container cluster application resource scheduling method, device and medium to solve the technical problems raised in the background art.

[0008] The present application adopts the following technical solutions:

[0009] The present application provides a container cluster application resource scheduling method, which comprises:

[0010] The application management module is configured to collect information about each application to be installed and send the information about each application to be installed to the system modeling module. The information about each application to be installed includes resource requirement information and service association information of each application to be installed.

[0011] The system modeling module is configured to obtain cluster environment information and model the system based on the cluster environment information and the information about each application to be installed. The cluster environment information includes resource performance information of the node server.

[0012] The strategy analysis module is configured to determine the weight value of each application to be installed based on the cluster environment information and / or the information about each application to be installed. The weight value includes a resource consumption weight value and a service impact weight value.

[0013] The server deployment module is configured to deploy each application to be installed in the container cluster and configure the resource scheduling strategy of each application to be installed based on the weight value of each application to be installed.

[0014] It should be noted that the embodiments of the present specification have the following beneficial effects through the above content:

[0015] Improving resource utilization efficiency: By collecting resource requirement information of each application to be installed, more accurate resource allocation can be performed to avoid resource waste.

[0016] Optimizing service quality: Configuring the resource scheduling strategy according to the resource consumption weight value and the service impact weight value can ensure that critical services obtain sufficient resources, thereby improving service quality.

[0017] Flexible resource allocation: Equal or random allocation of resource requirements may lead to resource waste or reduced service quality. This method allocates based on accurate weight values, which is more flexible.

[0018] Ensuring business continuity: Considering the service association information and the service impact weight value helps to ensure business continuity and reduce business interruption caused by improper resource allocation.

[0019] Improving system performance: Reasonable resource scheduling can improve the overall performance of the system and improve the operation efficiency of the container cluster.

[0020] Further, if the weight value is the service impact weight value, the strategy analysis module determines the weight value of each application to be installed based on the cluster environment information and / or the information about each application to be installed, including:

[0021] The strategy analysis module determines the service impact weight value of each application to be installed based on the service association information of each application to be installed.

[0022] It should be noted that the embodiments of the present specification have the following beneficial effects through the above content:

[0023] Priority protection of critical business: the business impact weight value of each to-be-installed application can be determined based on the business association information, so that the critical business gets higher priority in resource allocation and scheduling.

[0024] Ensure business continuity: by considering the business impact weight value, the continuity of the business can be better guaranteed, and the risk of business interruption due to insufficient resources can be reduced.

[0025] Adapt to business changes: according to the business association information, the weight value is determined, so that the scheduling strategy can adapt to the changes and development of the business and flexibly adjust the resource allocation.

[0026] Improve system stability: ensure that critical business gets enough resources, which helps to improve the stability and reliability of the whole system.

[0027] Further, the strategy analysis module determines the business impact weight value of each to-be-installed application based on the business association information of each to-be-installed application, including:

[0028] Analyze the business association information of each to-be-installed application to determine the dependency relationship between each to-be-installed application;

[0029] According to the dependency relationship between each to-be-installed application, determine the dependency degree of each to-be-installed application;

[0030] According to the dependency degree of each to-be-installed application, determine the business impact weight value of each to-be-installed application.

[0031] It should be noted that the embodiments of the present specification have the following beneficial effects through the above content:

[0032] Improve system reliability: determining the business impact weight value based on the dependency degree can ensure that critical dependent applications get enough resources and improve the reliability of the system.

[0033] Reduce risk: understanding the dependency relationship between applications helps to reduce risk and avoid affecting the entire business system due to problems with a certain application.

[0034] Reasonable allocation of resources: allocate resources according to the dependency degree, so that resources flow more reasonably to applications that have a greater impact on the business.

[0035] Improve service quality: ensure the stable operation of important business, improve service quality and meet user demand for business.

[0036] Further, if the weight value is a resource consumption weight value, the strategy analysis module determines the weight value of each to-be-installed application based on the cluster environment information and / or related information of each to-be-installed application, including:

[0037] The strategy analysis module determines the resource consumption weight value of each to-be-installed application based on the cluster environment information and the resource requirement information of each to-be-installed application.

[0038] It should be noted that the embodiments of the present specification have the following beneficial effects through the above content:

[0039] Improve resource utilization efficiency: determining the resource consumption weight value based on the cluster environment information and the resource requirement information of each to-be-installed application can more accurately allocate resources, avoid resource waste, and improve the utilization rate of resources.

[0040] Optimize system performance: ensure that resources are reasonably allocated to each application, so that the performance of the system is optimized, and the running efficiency of the entire container cluster is improved.

[0041] Adapt to dynamic changes: when the cluster environment or application resource requirement changes, the weight value can be adjusted accordingly, making resource allocation more flexible and adapting to dynamic environments.

[0042] Further, the strategy analysis module determines the resource consumption weight value of each to-be-installed application based on the cluster environment information and the resource requirement information of each to-be-installed application, including:

[0043] Obtain the resource performance information of the node server and the resource requirement information of each to-be-installed application, and the resource performance information includes the performance information of multiple resources;

[0044] Determine the total requirement information of each to-be-installed application for various resources based on the resource requirement information of each to-be-installed application;

[0045] Determine the resource difference between the multiple resource performance information of the node server and the total requirement information of the corresponding resources of each to-be-installed application;

[0046] Determine the resource corresponding to the lowest resource difference as the scarce resource of the node server, and determine the resource performance information of the scarce resource and the requirement information of the scarce resource of each to-be-installed application;

[0047] Determine the resource consumption weight value of each to-be-installed application based on the resource performance information of the scarce resource and the requirement information of the scarce resource of each to-be-installed application.

[0048] It should be noted that the embodiments of the present specification have the following beneficial effects through the above content:

[0049] Resource optimization configuration: according to the performance of scarce resources and the demand information of each to-be-installed application, the weight value is determined, which can better realize the optimization configuration of resources and make the resource allocation more efficient.

[0050] Improving resource utilization: reasonable determination of resource consumption weight value helps to improve the utilization rate of scarce resources and reduce resource waste.

[0051] Balancing resource allocation: through the determination of resource consumption weight value, the resource demand of different applications is balanced, and the excessive occupation of scarce resources by some applications is avoided.

[0052] Further, based on the weight value of each to-be-installed application, the resource scheduling strategy of each to-be-installed application is configured, including:

[0053] According to the business impact weight value, the resource consumption weight value is adjusted to obtain the adjusted adaptive resource consumption weight value of each to-be-installed application;

[0054] According to the adaptive resource consumption weight value, the resource scheduling strategy of each to-be-installed application is configured.

[0055] It should be noted that the embodiments of the present specification have the following beneficial effects through the above content:

[0056] Optimizing resource allocation: adjusting the resource consumption weight value according to the business impact weight value can more accurately reflect the actual demand of each to-be-installed application for resources, thereby realizing more optimized resource allocation.

[0057] Improving business performance: by adjusting the adaptive resource consumption weight value and configuring the resource scheduling strategy, it can ensure that the key business obtains sufficient resources, thereby improving the business performance and user experience.

[0058] Enhancing system stability: reasonable resource scheduling strategy helps to prevent resource competition and conflict, enhance the stability of the system, and reduce system failures or abnormalities caused by insufficient resources.

[0059] Improving resource utilization: allocating resources according to the actual demand of the application can fully utilize the limited resources, improve the overall utilization rate of resources, and avoid resource waste.

[0060] Further, according to the business impact weight value, the adjusted adaptive resource consumption weight value of each to-be-installed application is obtained, including:

[0061] According to the business impact weight value, the number of copies of the corresponding to-be-installed application is increased or the resource weight is raised to obtain the adjusted adaptive resource consumption weight value of each to-be-installed application.

[0062] It should be noted that the embodiments of the present specification have the following beneficial effects through the above content:

[0063] Enhance key application performance: By increasing the number of replicas or adjusting the resource weight, key applications can get more resources, thus improving their performance and response speed.

[0064] Ensure business continuity: The increase in the number of replicas can improve the availability of applications, reduce the risk of single-point failure, and ensure the continuity of business.

[0065] Optimize resource allocation: Adjust according to the business impact weight value, so that resources can be more accurately allocated to applications that have a greater impact on business, improving resource utilization.

[0066] Adapt to business changes: When business needs change, you can flexibly adjust the resource consumption weight value to ensure reasonable allocation of resources and stable operation of applications.

[0067] Further, the resource performance information of the node server includes CPU indicators and memory capacity of the node server; and the resource requirement information of each to-be-installed application includes CPU indicator occupancy and memory occupancy of each to-be-installed application.

[0068] The application provides a container cluster application resource scheduling device, which comprises:

[0069] at least one processor; and

[0070] a memory in communication connection with the at least one processor; wherein

[0071] The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to:

[0072] The application management module is used for collecting related information of each to-be-installed application, and sending the related information of each to-be-installed application to the system modeling module, wherein the related information of each to-be-installed application includes resource requirement information and business association information of each to-be-installed application;

[0073] The system modeling module is used for obtaining cluster environment information, and modeling the system according to the cluster environment information and the related information of each to-be-installed application, wherein the cluster environment information includes resource performance information of a node server;

[0074] The strategy analysis module is used for determining weight values of each to-be-installed application based on the cluster environment information and / or the related information of each to-be-installed application, wherein the weight values include resource consumption weight values and business impact weight values;

[0075] The server deployment module is used for deploying each to-be-installed application in a container cluster, and configuring resource scheduling strategies of each to-be-installed application based on the weight values of each to-be-installed application.

[0076] The non-volatile computer storage medium provided by the application stores computer executable instructions, and the computer executable instructions can realize the following when executed by a computer:

[0077] The application management module is used to collect the related information of each to-be-installed application, and send the related information of each to-be-installed application to the system modeling module, and the related information of each to-be-installed application includes resource requirement information and business association information of each to-be-installed application.

[0078] The system modeling module is used to obtain cluster environment information, and model the system according to the cluster environment information and the related information of each to-be-installed application, and the cluster environment information includes resource performance information of a node server.

[0079] The policy analysis module determines the weight value of each to-be-installed application based on the cluster environment information and / or the related information of each to-be-installed application, and the weight value includes a resource consumption weight value and a business impact weight value.

[0080] The server deployment module deploys each to-be-installed application in a container cluster, and configures the resource scheduling strategy of each to-be-installed application based on the weight value of each to-be-installed application.

[0081] The above at least one technical solution adopted by the embodiments of the present application can achieve the following beneficial effects:

[0082] Improve resource utilization efficiency: by collecting the resource requirement information of each to-be-installed application, more accurate resource allocation can be performed to avoid resource waste.

[0083] Optimize service quality: configuring the resource scheduling strategy according to the resource consumption weight value and the business impact weight value can ensure that critical businesses obtain sufficient resources, thereby improving service quality.

[0084] Flexible resource allocation: average or random allocation of resource requirements may lead to resource waste or service quality degradation, and this method allocates based on accurate weight values, which is more flexible.

[0085] Ensure business continuity: considering business association information and business impact weight values helps to ensure business continuity and reduce business interruptions caused by improper resource allocation.

[0086] Improve system performance: reasonable resource scheduling can improve the overall performance of the system and improve the running efficiency of the container cluster. BRIEF DESCRIPTION OF DRAWINGS

[0087] In order to make the technical solutions in the specification clearer, the following will briefly introduce the drawings needed to be used in the embodiment or prior art description. Obviously, the drawings in the following description are only some embodiments described in the specification, and other drawings can be obtained by those skilled in the art without creative labor. In the drawings:

[0088] Fig. 1 is a flowchart of a container cluster application resource scheduling method provided by one or more embodiments of the specification;

[0089] Fig. 2 is a structural diagram of a container cluster application resource scheduling device provided by one or more embodiments of the specification. DETAILED DESCRIPTION

[0090] The embodiments of the specification provide a container cluster application resource scheduling method, device and medium.

[0091] In order to make those skilled in the art better understand the technical solutions in the specification, the technical solutions in the embodiments of the specification will be described clearly and completely in the following with reference to the drawings in the embodiments of the specification. Obviously, the described embodiments are only some embodiments of the specification, not all embodiments. Based on the embodiments of the specification, all other embodiments obtained by those skilled in the art without creative labor should be within the scope of protection of the specification.

[0092] Fig. 1 is a flowchart of a container cluster application resource scheduling method provided by one or more embodiments of the specification, which can be executed by a container cluster application resource scheduling system. Some input parameters or intermediate results in the flow allow manual intervention to adjust to help improve accuracy.

[0093] The method flow steps of the embodiments of the specification are as follows:

[0094] S101, collecting related information of each to-be-installed application by an application management module, and sending the related information of each to-be-installed application to a system modeling module, the related information of each to-be-installed application including resource requirement information and business association information of each to-be-installed application.

[0095] In the embodiments of the specification, the above content can be realized through the following specific implementation schemes:

[0096] Design and development of application management module:

[0097] 1. An application management module is created to collect related information of to-be-installed applications.

[0098] 2. Design data structures to store resource requirement information and business association information.

[0099] 3. Provide an interface or interface for users to input or import information about the applications to be installed.

[0100] Information collection process:

[0101] 1. The user provides detailed information about each application to be installed through the application management module, including resource requirement information (such as CPU index occupation, memory occupation, storage occupation, etc.) and business association information (such as dependency relationship with other applications, business process, etc.).

[0102] 2. The application management module verifies and organizes the input information to ensure its accuracy and completeness.

[0103] Information is sent to the system modeling module:

[0104] 1. Establish a communication connection with the system modeling module.

[0105] 2. Send the collected information about each application to be installed to the system modeling module in an appropriate format.

[0106] 3. Data interfaces, message queues, or other communication methods can be used to implement information transmission.

[0107] S102, through the system modeling module, to obtain cluster environment information, and model the system according to the cluster environment information and the relevant information of each application to be installed, the cluster environment information including the resource performance information of the node server.

[0108] Design and development of the system modeling module:

[0109] 1. Create a system modeling module responsible for obtaining cluster environment information and relevant information of each application to be installed.

[0110] 2. Define data structures to store cluster environment information and relevant information of each application to be installed.

[0111] 3. Design algorithms and models for modeling the system based on the obtained information.

[0112] Collection of cluster environment information: Develop an interface or use existing tools to obtain resource performance information of each node server in the cluster environment, such as CPU index, memory capacity, storage capacity, network bandwidth, etc.

[0113] Processing of application-related information:

[0114] 1. Receive the relevant information of each application to be installed from the application management module, including resource requirement information and business association information.

[0115] 2. Analyze and categorize the resource requirements of the applications to match with the resource capabilities of the node servers.

[0116] System modeling algorithms and models:

[0117] 1. Design system modeling algorithms and models based on the received cluster environment information and application-related information.

[0118] 2. The model can consider factors such as resource utilization, load balancing, performance optimization, fault tolerance, etc.

[0119] 3. Use mathematical modeling, machine learning, or other suitable techniques to establish system models.

[0120] Implementation of system modeling:

[0121] 1. Use the designed algorithms and models to model and analyze the system.

[0122] 2. Evaluate the support capabilities of the cluster environment for each application to be installed based on the simulation results.

[0123] Integration with other modules:

[0124] 1. Integrate the system modeling module with the application management module to ensure smooth information exchange and update.

[0125] 2. Collaborate with the resource scheduling module or other related modules to allocate and optimize resources based on the modeling results.

[0126] S103, determine the weight value of each application to be installed based on the cluster environment information and / or the related information of each application to be installed through the strategy analysis module, which includes the resource consumption weight value and the business impact weight value.

[0127] In the embodiments of the present specification, if the weight value is the business impact weight value, the business impact weight value of each application to be installed can be determined through the strategy analysis module based on the business correlation information of each application to be installed.

[0128] It should be noted that a strategy analysis algorithm capable of processing business correlation information can be designed to calculate the business impact weight value of each application to be installed according to the input business correlation information. The relative importance of each application to be installed is determined according to the size of the business impact weight value of each application to be installed.

[0129] It should be noted that the embodiments of the present specification have the following beneficial effects through the above content:

[0130] Prioritize critical business: The business impact weight value of each application to be installed can be determined based on the business correlation information, so that critical business has a higher priority in resource allocation and scheduling.

[0131] Ensuring business continuity: By considering the business impact weight value, the continuity of business can be better guaranteed, and the risk of business interruption caused by insufficient resources can be reduced.

[0132] Adapting to business changes: According to the determination of the weight value based on the business association information, the scheduling strategy can adapt to the changes and development of the business, and the resource allocation can be flexibly adjusted.

[0133] Improving system stability: Ensuring that critical businesses get enough resources helps to improve the stability and reliability of the entire system.

[0134] Further, when the strategy analysis module determines the business impact weight value of each to-be-installed application based on the business association information of each to-be-installed application, it can analyze the business association information of each to-be-installed application, determine the dependency relationship between each to-be-installed application, and determine the dependency degree of each to-be-installed application according to the dependency relationship between each to-be-installed application. According to the dependency degree of each to-be-installed application, the business impact weight value of each to-be-installed application is determined.

[0135] It should be noted that regarding the determination of the business impact weight value of each to-be-installed application, the following specific implementation schemes can be used:

[0136] Analyze business association information:

[0137] 1. Collect relevant business documents and materials of each to-be-installed application, including but not limited to business processes, system architecture, data flow, etc.

[0138] 2. In-depth analysis of the collected business association information to find out the dependency relationship between each to-be-installed application.

[0139] Determine the dependency relationship:

[0140] 1. According to the business process and data flow, determine the direct dependency relationship between each to-be-installed application, that is, whether the running of a certain application depends on the existence and normal operation of other applications.

[0141] 2. Analyze the indirect dependency relationship, that is, whether the running of a certain application will indirectly affect the performance or function of other applications.

[0142] Determine the dependency degree:

[0143] 1. Evaluate the determined dependency relationship to determine the dependency degree between each to-be-installed application, such as strong dependency, weak dependency, etc.

[0144] 2. The dependency degree can be determined by the following methods:

[0145] (1) Analyze the order and critical path of each application in the business process;

[0146] (2) Consider the transfer and sharing of data between applications;

[0147] (3) Evaluate the impact of application failure and recovery time.

[0148] Determine the business impact weight value:

[0149] 1. According to the degree of dependence of each application to be installed, assign a corresponding business impact weight value to each application.

[0150] 2. The business impact weight value can be set quantitatively or qualitatively according to the actual situation, for example:

[0151] (1) Strongly dependent applications can be assigned a higher weight value;

[0152] (2) Applications that have a greater impact on business critical processes can be assigned a higher weight value;

[0153] (3) Applications with important data processing functions can be assigned a higher weight value.

[0154] It should be noted that the embodiments of the present specification have the following beneficial effects through the above content:

[0155] Improve system reliability: determining the business impact weight value based on the degree of dependence can ensure that critical dependent applications have sufficient resources and improve system reliability.

[0156] Reduce risk: understanding the dependency between applications helps to reduce risk and avoid affecting the entire business system due to problems with a single application.

[0157] Rational allocation of resources: allocate resources based on the degree of dependence to make resources more reasonably flow to applications that have a greater impact on business.

[0158] Improve service quality: ensure stable operation of important business and improve service quality to meet user demand for business.

[0159] Further, if the weight value is a resource consumption weight value, the resource consumption weight value of each application to be installed can be determined by the strategy analysis module based on the cluster environment information and the resource requirement information of each application to be installed.

[0160] It should be noted that regarding the determination of the resource consumption weight value of each application to be installed, the following specific implementation schemes can be used:

[0161] Collect cluster environment information and resource requirement information of each application to be installed:

[0162] 1. Cluster environment information: including but not limited to CPU indicators, memory capacity, storage capacity of node servers, etc.

[0163] 2. Resource requirement information: the resource requirements of each application to be installed, such as CPU indicator usage, memory usage, storage usage, etc.

[0164] Design strategy analysis module:

[0165] 1. The strategy analysis module will analyze and calculate the collected information to determine the resource consumption weight value of each application to be installed.

[0166] 2. The design of the module can consider using mathematical models, algorithms or data analysis techniques to achieve accurate weight calculation.

[0167] Weight calculation method:

[0168] 1. One of the following methods or in combination can be used to determine the resource consumption weight value:

[0169] (1) Based on resource requirements: according to the resource requirement information of each application, directly assign the corresponding weight value. For example, assign a higher weight to an application with higher resource requirements.

[0170] (2) Consider the cluster environment: combine the cluster environment information, such as existing resource utilization, load conditions, etc., to adjust the weight of the application. For example, in a resource-constrained cluster, reduce the weight of an application with high resource requirements.

[0171] It should be noted that the embodiments of the present specification have the following beneficial effects through the above content:

[0172] Improve resource utilization efficiency: according to the cluster environment information and the resource requirement information of each application to be installed, determine the resource consumption weight value, which can more accurately allocate resources, avoid resource waste, and improve the utilization rate of resources.

[0173] Optimize system performance: ensure that resources are reasonably allocated to each application, so that the performance of the system is optimized, and the running efficiency of the entire container cluster is improved.

[0174] Adapt to dynamic changes: when the cluster environment or application resource requirements change, the weight value can be adjusted accordingly, making resource allocation more flexible and adapting to dynamic environments.

[0175] Further, when the strategy analysis module determines the resource consumption weight value of each to-be-installed application based on the cluster environment information and the resource demand information of each to-be-installed application, the resource performance information of the node server and the resource demand information of each to-be-installed application can be obtained, the resource performance information includes performance information of multiple resources; the total demand information of various resources of each to-be-installed application is determined according to the resource demand information of each to-be-installed application; the resource difference between the multiple resource performance information of the node server and the total demand information of the corresponding resources of each to-be-installed application is determined; the resource corresponding to the lowest resource difference is determined as the scarce resource of the node server, and the resource performance information of the scarce resource and the demand information of the scarce resource of each to-be-installed application are determined; the resource consumption weight value of each to-be-installed application is determined according to the resource performance information of the scarce resource and the demand information of the scarce resource of each to-be-installed application.

[0176] It should be noted that when the resource consumption weight value of each to-be-installed application is determined according to the resource performance information of the scarce resource and the demand information of the scarce resource of each to-be-installed application, a suitable algorithm can be selected to determine the resource consumption weight value according to the collected data, for example, the weight value is allocated based on the demand proportion of the application for the scarce resource. According to the selected algorithm, the resource consumption weight value of each to-be-installed application is calculated. For example, if the demand of application A for the scarce resource accounts for 30% of the total demand, the weight value of application A can be set to 0.3.

[0177] It should be noted that the embodiments of the present specification have the following beneficial effects through the above content:

[0178] Optimized resource allocation: determining the weight value according to the performance of the scarce resource and the demand information of each to-be-installed application can better realize the optimized allocation of resources and make the resource allocation more efficient.

[0179] Improve resource utilization: reasonably determining the resource consumption weight value helps to improve the utilization rate of the scarce resource and reduce resource waste.

[0180] Balance resource allocation: through the determination of the resource consumption weight value, the resource demand of different applications is balanced, and the overuse of the scarce resource by some applications is avoided.

[0181] S104, deploying each to-be-installed application in the container cluster through the server deployment module, and configuring the resource scheduling strategy of each to-be-installed application based on the weight value of each to-be-installed application.

[0182] In the embodiments of the present specification, regarding the above deployment of each to-be-installed application, the following specific implementation schemes can be used:

[0183] Server preparation:

[0184] 1. Ensure the server has installed the required container runtime environment, such as Docker or Kubernetes.

[0185] 2. Configure the server network to ensure that the server can communicate with the container cluster.

[0186] Application packaging:

[0187] 1. Package each application to be installed as a container image. Dockerfile or other container building tools can be used to create the image.

[0188] 2. Ensure that the image contains the application, dependencies and runtime environment.

[0189] Configuration management: Create or obtain configuration files to define the deployment configuration of the application in the container cluster, such as the number of containers, resource limits, network configuration, etc.

[0190] Container cluster configuration:

[0191] 1. Connect the server to the container cluster, which can be done through cluster management tools or API.

[0192] 2. Create corresponding namespaces or resource quotas in the cluster to isolate the deployment of the application to be installed.

[0193] Deploy the application:

[0194] 1. Use the server deployment module to deploy the packaged container image to the container cluster.

[0195] 2. According to the settings in the configuration file, deploy the application on the specified node and set the resource limits and network configuration of the container.

[0196] 3. Automation deployment tools or scripts can be used to perform the deployment process to improve efficiency and accuracy.

[0197] Further, based on the weight value of each application to be installed, the resource scheduling strategy of each application to be installed can be configured according to the business impact weight value to adjust the resource consumption weight value, to obtain the adjusted adaptive resource consumption weight value of each application to be installed; according to the adaptive resource consumption weight value, the resource scheduling strategy of each application to be installed is configured.

[0198] In the embodiments of the present specification, regarding the above configuration of the resource scheduling strategy of each application to be installed, the following specific implementation schemes can be used:

[0199] Adjusting resource consumption weight values: adjusting resource consumption weight values according to business impact weight values. An algorithm or rule can be used to determine the magnitude of adjustment. For example, the business impact weight value can be multiplied by a constant and then added to the original resource consumption weight value.

[0200] Obtaining adjusted resource consumption weight values: taking the adjusted resource consumption weight values as the adjusted resource consumption weight values of each application to be installed.

[0201] Configuring resource scheduling strategies: configuring resource scheduling strategies according to the adjusted resource consumption weight values. This can be achieved by setting parameters, writing rules, or using specific scheduling tools. For example, resources can be allocated according to weight values, giving more resources to applications with higher weight values. Or, priorities can be set so that applications with higher weight values have higher priorities in resource competition.

[0202] It should be noted that the embodiments of the present specification have the following beneficial effects through the above content:

[0203] Optimizing resource allocation: adjusting resource consumption weight values according to business impact weight values can more accurately reflect the actual demand of each application to be installed for resources, thereby achieving more optimized resource allocation.

[0204] Improving business performance: by adjusting the adjusted resource consumption weight values and configuring the resource scheduling strategies, it can ensure that critical businesses get enough resources, thereby improving business performance and user experience.

[0205] Enhancing system stability: reasonable resource scheduling strategies can help prevent resource competition and conflict, enhance system stability, and reduce system failures or abnormalities caused by insufficient resources.

[0206] Improving resource utilization: allocating resources according to the actual demand of applications can fully utilize limited resources, improve the overall utilization of resources, and avoid resource waste.

[0207] Further, when adjusting resource consumption weight values according to business impact weight values to obtain the adjusted resource consumption weight values of each application to be installed, the number of copies of the corresponding application to be installed can be increased or the resource weight can be raised according to the business impact weight value to obtain the adjusted resource consumption weight values of each application to be installed.

[0208] It should be noted that regarding the above obtaining the adjusted resource consumption weight values of each application to be installed, the following specific implementation schemes can be used:

[0209] Increase the number of replicas: For the to-be-installed application with a high business impact weight value, the number of its replicas can be increased. The number of replicas to be increased can be determined according to the size of the weight value. Increasing the number of replicas can improve the availability and fault tolerance of the application, ensuring that the application can run normally under high load conditions.

[0210] Increase the resource weight: In addition to increasing the number of replicas, the resource weight of the to-be-installed application with a high business impact weight value can also be increased. This can improve the performance and response ability of the application by adjusting the resource configuration of the application, such as allocating more CPU cores, memory or storage resources.

[0211] Implement adjustments: To implement the above adjustments, automated tools or scripts can be used. These tools can automatically increase the number of replicas or increase the resource weight of the corresponding to-be-installed application according to the collected business impact weight values. Before implementing the adjustments, it is recommended to conduct sufficient testing and verification to ensure that the adjustments will not have a negative impact on other parts of the system.

[0212] It should be noted that the embodiments of the present specification have the following beneficial effects through the above content:

[0213] Improve the performance of key applications: By increasing the number of replicas or increasing the resource weight, key applications can obtain more resources, thereby improving their performance and response speed.

[0214] Guarantee business continuity: Increasing the number of replicas can improve the availability of the application, reduce the risk of single point of failure, and guarantee the continuity of the business.

[0215] Optimize resource allocation: Adjust according to the business impact weight value, so that resources can be more accurately allocated to applications that have a greater impact on business, improving resource utilization.

[0216] Adapt to changes in business: When business needs change, the resource consumption weight value can be adjusted flexibly to ensure reasonable allocation of resources and stable operation of the application.

[0217] It should be noted that the embodiments of the present specification have the following beneficial effects through the above content:

[0218] Improve resource utilization efficiency: By collecting resource demand information of each to-be-installed application, resource allocation can be more accurate, avoiding resource waste.

[0219] Optimize service quality: Configure resource scheduling strategies according to resource consumption weight values and business impact weight values to ensure that critical businesses have enough resources, thereby improving service quality.

[0220] Flexible resource allocation: Traditional methods of averaging or randomly allocating resources can lead to waste or decreased quality of service. This method is more flexible based on precise weight values.

[0221] Ensuring business continuity: Considering business correlation information and business impact weight values helps ensure business continuity and reduces service interruptions caused by improper resource allocation.

[0222] Improving system performance: Reasonable resource scheduling can improve overall system performance and increase the efficiency of container clusters.

[0223] It should be noted that with the rise of microservices architecture and containerization technology, more and more businesses are deploying their services in container clusters. Container cluster scheduling is crucial to ensure efficient resource utilization and service quality. Traditional container scheduling strategies often ignore the different needs and priorities of applications, resulting in insufficient resource allocation and inability to meet complex and changing business scenarios. Therefore, a more intelligent scheduling strategy is needed to adapt to the needs of different applications and improve resource utilization and service quality of the cluster.

[0224] Based on the above, the current market mainly uses container cluster management tools such as Kubernetes to arrange and schedule containers. Existing scheduling strategies usually use labels, affinity, etc. to implement scheduling strategies, but the development of strategies still requires implementation personnel to plan and design, which means that the effectiveness of the scheduling strategy implementation depends heavily on the level of implementation personnel. Therefore, the market needs a tool to assist implementation personnel in analyzing the weight of all applications in the container cluster and providing scheduling solutions based on actual scenarios to ensure that the overall cluster can run well.

[0225] The embodiment of the present specification proposes a container cluster scheduling strategy design method based on application weight calculation. This method can calculate weight values based on factors such as the business importance of the application, resource consumption, historical performance, and expected behavior, including resource consumption weight values and business impact weight values. Then, use this weight value as a key input parameter for the scheduling algorithm. On the one hand, it ensures that high-weight applications can have priority access to the required resources. On the other hand, the higher the cumulative weight value of the applications running on a single machine node in the cluster, the greater the impact on the business if the node fails. By migrating applications to reduce weight values, it can minimize the impact on the environment when a machine fails. At the same time, the tool provides an interface for users or administrators to adjust weight parameters to respond to changing business needs.

[0226] The maximum advantage: the embodiment of the specification ensures that the key application obtains sufficient resources through accurate weight measurement, while avoiding the implicit resource waste of the application. For example, the file fragments generated during the application running process consume the disk space, and the same business application runs on the same cluster node during the peak period, which causes the instantaneous surge of the node pressure. In addition, the quality of service is enhanced by configuring the weight value, the resource allocation is dynamically adjusted according to the actual demand of the application, the response time and reliability of the service are guaranteed, and the changing environment is adapted. At the same time, the automation and intelligence of the environment can be improved after the weight value configuration parameter is added, the manual intervention is reduced by means of the scheduling tool, and the accuracy and efficiency of the scheduling are improved.

[0227] The implementation principle related to the embodiment of the specification is as follows:

[0228] a) The construction method and calculation process of the multi-level weight measurement model: the weight value mainly includes two categories of resource consumption weight value and business impact weight value. The resource consumption weight value mainly covers the application resource consumption situation such as memory, CPU, network traffic, local disk cache, external storage and the like, so as to ensure that the nodes of the container cluster will not appear overselling. The business impact weight value mainly refers to the impact on the overall business environment when stopping or changing. In theory, the lower the business impact weight value of a node, the lower the impact on the business running when maintaining, which is equivalent to increasing the high availability of the overall environment by reducing the business impact weight value of a single node.

[0229] b) The method of integrating the weight value in the scheduling strategy: based on the above principle, the overall resources of the cluster environment are modeled and planned by means of the tool, including the resource situation and the to-be-installed application information. Then, according to the standard mentioned in principle a), the business weight of each node is balanced under the requirement of meeting the resource weight. For example, a website system adopts a double replica mode, which increases the resource consumption weight value, but can reduce the business impact weight value. That is, the operator needs to close the service when maintaining one of the nodes, but because the double replica reduces the business weight, it will not affect the overall business running.

[0230] c) User interface design, mechanism for adjusting weight parameters: in addition to the cluster, individual businesses also need to allow implementers to customize weight values according to the situation because of business interaction with the cluster.

[0231] Basic scheme:

[0232] Step A. The tool mainly includes the following modules: system modeling module, application management module, strategy analysis module, and server deployment module.

[0233] Step B. The system modeling module is responsible for collecting the cluster environment and to-be-installed application information, and modeling the overall environment.

[0234] Step C. The application management module is responsible for managing application information. The implementer uses this module to record the uploaded application information and provides relevant information to the system modeling module.

[0235] Step D. The strategy analysis module mainly calculates the weight value based on the cluster environment and application information, and supports manual adjustment of the weight value by the implementer.

[0236] Step E. Based on the cluster environment information and strategy calculation, the implementer deploys the application in the cluster according to the scheme and configures the application scheduling strategy.

[0237] For Step A:

[0238] 1. The current module design is mainly based on the core process deployment plan, that is, from collecting information, formulating strategies, deploying environments, and other key points. Other aspects such as visual interface, batch planning and deployment can be added as extension function modules.

[0239] For Step B:

[0240] 1. The system modeling module collects cluster information, including cluster version, node server model, CPU memory hard disk network speed, performance evaluation, etc., and then performs data modeling based on the overall environment. On the other hand, by aggregating the application information to be deployed, including resource usage, business association, etc., set the application basic weight value for subsequent strategy calculation.

[0241] For Step C:

[0242] 1. The application management module needs to collect application resource demand information, business association information, and replica expansion possibility. In addition to CPU, memory, and other common indicators, the application development party needs to provide implicit resource consumption, such as cache, log volume, and disk read / write.

[0243] 2. In addition to manual entry, we can also consider connecting to large models or artificial intelligence plugins. This way, we can collect historical resource consumption of the same application to estimate the overall consumption, ultimately achieving overall application resource consumption evaluation.

[0244] 3. Replica expansion possibility is a key factor in scheduling strategy formulation, that is, to increase resource consumption to reduce business weight. However, in general operation and maintenance environment, it is only considered that expanding replicas can guarantee high availability, but the number of expanded replicas, deployment location, and actual resource consumption have not been actually calculated. Therefore, the main purpose of this method is to provide a balance point through overall accounting, which can meet resource consumption and reduce business impact.

[0245] For Step D:

[0246] 1. The weight value mainly includes resource consumption weight value and business impact weight value. The resource consumption weight value mainly covers application resource consumption such as memory, CPU, network traffic, local disk cache, external storage, etc., to ensure that the nodes of the container cluster do not appear overselling. The business impact weight value mainly refers to the impact on the overall business environment when stopping or changing. In theory, the lower the business impact weight value of a node, the lower the impact on business operation when maintaining it, which is equivalent to increasing the high availability of the overall environment by reducing the business impact weight value of a single node.

[0247] 2. Based on the above, the overall resources of the cluster environment are modeled and planned by the tool, including resource conditions and application information to be installed. Then, under the requirement of resource weight, the business weight of each node is balanced. For example, a website system uses a dual replica mode, which increases the resource consumption weight value but can reduce the business impact weight value. That is, the maintenance personnel need to close the service of one of the nodes, but because the dual replica reduces the business weight, it will not affect the overall business operation.

[0248] For step E:

[0249] 1. This step can consider automatic deployment through cluster API interface or generate deployment scripts according to the developed strategy and manually execute deployment by the implementer.

[0250] It should be noted that the resource consumption weight value can be used to describe the exclusive application of resources, such as some applications requiring exclusive 8G memory and some requiring exclusive 1G memory. Therefore, when scheduling, 8G memory applications should be prioritized to avoid being occupied by a large number of low-resource applications on a single host, ensuring that resources on each host in the cluster can be reasonably allocated to applications.

[0251] The business impact weight value can represent the proportion of the application's impact on the business, including the functions, roles, and dependencies of the application. For example, a database application needs to be accessed by multiple business systems, so its business impact is high. However, some portal websites need to run 24 hours a day, although their business impact is also high, but by deploying multiple replicas to ensure that at least one is always running, the business impact of a single website is reduced.

[0252] Resource consumption weight value calculation method:

[0253] The resource consumption weight value first needs to preset the resource indicators involved in the calculation, which currently includes memory and CPU, both of which need to be calculated independently, and other possible resources such as local disk are not required here.

[0254] The weight value can first preset the weight alarm line 100, which is mapped to the container cluster host resources. For example, if each of the three hosts has about 20GB of available memory and 8 cores available after excluding the base consumption, the weight alarm line 100 can be set to 20GB and 8 cores. Then, the alarm line is converted according to the actual situation of each host. For example, if the available resources of a host are 15GB and 4 cores, the alarm line proportion of the memory is 75 and the CPU is 50. Similarly, the proportion is converted.

[0255] Then, according to the application resource consumption, a range is obtained by proportion conversion, mainly including exclusive conversion and upper limit conversion. Exclusive conversion refers to the application resource locking amount. For example, a certain application needs to run at least 2G of exclusive memory, and if the allocation is not met, it cannot be deployed. Upper limit conversion refers to the increase in resource demand of an application over time, but the upper limit cannot be determined. An approximate value is estimated based on historical experience to control and prevent excessive resource application from causing host crashes. For example, an application needs to run 2G of exclusive memory, but it may increase to 4G. Therefore, the application memory resource consumption weight value is [10-20). When deploying, the weight values of various applications are calculated to allocate to various hosts to find a reasonable allocation scheme. The first allocation criterion is that the upper limit total cannot exceed the host alarm line. If the upper limit total exceeds the host alarm line, consider that the lower limit total does not exceed the alarm line. If the upper limit exceeds, it means that the application can run but may have a risk of running. If the lower limit is operated, it means that the environment resources are insufficient or there is no suitable allocation scheme, and manual intervention is required.

[0256] Compared with some tools on the market that directly compare memory and CPU values, on the one hand, the conversion value can enable some non-professionals to quickly understand the alarm situation. On the other hand, the weight value conversion can also be used for secondary conversion of different models of accessories. At present, the running capabilities of various mainstream manufacturers in the market may still differ under the same indicators. Therefore, when converting, an additional step can be added to adjust the actual resource consumption for different models of memory or CPU. For example, the lower limit of an application originally needs to run 2G of exclusive memory, but in the current environment, it may need to run 3G to function normally. Therefore, the embodiments of the present specification can replace manual parameter adjustment and change or adjust the exclusive upper and lower limits, but the weight value displayed will not be affected and can normally alarm.

[0257] Business impact weight value calculation:

[0258] The business weight is different from the resource weight and highly dependent on the environment host. It is mainly planned through the actual application to be deployed.

[0259] For example:

[0260] First, the disaster alarm line can be set to 100, the early warning alarm line 25, the disaster alarm line refers to the impact of all environments, and the early warning alarm line refers to the impact of department main business. When calculating, first calculate the impact weight value of the main business without being dependent on the early warning alarm line, and then calculate the impact weight value of the main business with dependent items as the total value of dependent business plus the early warning alarm line. The auxiliary function weight value can be no more than the early warning alarm line in principle. Then if a business can be split into multiple identical copies, each copy can share the original applied weight value.

[0261] For example, 5 websites need to be deployed on site, 1 cache plug-in and 1 core database, of which 3 websites depend on the database, two websites are pure static websites running independently, and 1 cache plug-in is dependent on each website for speeding up data loading but does not affect the operation of the main business after being closed, only the response speed will be reduced.

[0262] Therefore, the embodiment of the present specification can calculate according to the dependency and operation requirements, such as each website needs to run continuously, so the score cannot be lower than 25 (single main business level), the database is dependent on three websites, so the weight value cannot be lower than 100 (dependent item + itself), and the cache plug-in can be lower than the early warning line 25 as an auxiliary function weight value. If the master-slave deployment is performed on the database, the early warning line of each database is only 50, and the single database shutdown or migration will not affect the global disaster.

[0263] It should be noted that the embodiment of the present specification is based on the above scheme to illustrate the scene in an actual system deployment scenario.

[0264] Application system to be deployed container component information and required CPU and memory resources (minimum set):

[0265] One set of database, 4 cores and 16G;

[0266] One set of Redis cache, 4 cores and 8G;

[0267] One set of portal website system for display, 4 cores and 8G;

[0268] One set of background management system for reading and writing database data, 4 cores and 8G;

[0269] The above is a minimum set of an application system, and any abnormal component of the application system cannot continue to run.

[0270] The target cluster has 8 business node servers, each of which is configured uniformly as 16 cores and 32G, and the server itself resource consumption is ignored.

[0271] Based on the above, the whole application system business collapse weight line is set to 100, the alarm line is set to 50, and the business weight value of the four components is set to 100; the resource weight collapse line is set to CPU 16 cores and memory 32G according to the business node configuration, and the alarm line is set to CPU 12 cores and memory 24G (i.e. 75%).

[0272] The first deployment plan does not consider the expansion of the number of component copies, and all components are deployed on different nodes. Referring to Table 1, the first deployment plan, node 1, node 2, node 3, and node are respectively deployed with database, Redis cache, portal system, and background management system.

[0273] Table 1 First deployment plan

[0274] This scenario meets the basic operational requirements of the system, but any component damage will cause the entire system to fail to operate.

[0275] The second deployment plan is shown in Table 2. The database is split into two sets for master-slave backup, with database 1 and database 2 deployed on node 1, each with a weight value of 50. The background management system, Redis, and portal website may experience high-frequency access, and are each split into four sets, each with a weight value of 25. Redis is deployed on node 2, including Redis1, Redis2, Redis3, and Redis4. The portal website is deployed on node 3, including portal 1, portal 2, portal 3, and portal 4. The background management system is deployed on node 4, including background 1, background 2, background 3, and background 4.

[0276] Table 2 Second deployment plan

[0277] The above scheme reduces the business weight value by increasing the number of copies of each component, but each component is concentrated on one node, and failure of that node will still cause all components of that type to fail, requiring balancing of component usage on each node.

[0278] The third deployment plan distributes various component copies and does not concentrate them on a single node. Referring to Table 3, node 1 is deployed with database 1, Redis1, portal 1, and background 1; node 2 is deployed with database 2, Redis2, portal 2, and background 2; node 3 is deployed with Redis3, portal 3, and background 3; and node 4 is deployed with Redis4, portal 4, and background 4.

[0279] Table 3 Third deployment plan

[0280] The above scheme, the copy of each component is scheduled on different nodes, avoiding the business downtime caused by single node failure, but each copy is too concentrated on the front order host, and the resource weight value exceeds the node upper limit, which needs to be adjusted to the back order node according to the weight value alarm line (each node resource weight value is reduced to below 75%). The copy is adjusted to the back order node.

[0281] The fourth deployment plan adjusts the copy to the back order node, see table 4 fourth deployment plan, node 1 deploys database 1; Node 2 deploys database 2; Node 3 deploys Redis1 and background 1; Node 4 deploys Redis2 and background 2; Node 5 deploys Redis3 and portal 1; Node 6 deploys Redis4 and portal 2; Node 7 deploys portal 3 and background 3; Node 8 deploys portal 4 and background 4.

[0282] Table 4 fourth deployment plan

[0283] The above scheme, the resource weight value of each node is reduced to below 75%, and when a single node is damaged, the business weight value impact is up to 50, that is, just reaching the alarm line without reaching the collapse line, leaving a repair space for the operation and maintenance personnel and not affecting the normal operation of the application.

[0284] Fig. 2 is a structural schematic diagram of a container cluster application resource scheduling device provided by an embodiment of the present specification, comprising:

[0285] at least one processor; and

[0286] a memory in communication connection with the at least one processor; wherein

[0287] The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to:

[0288] The application management module is used for collecting the related information of each to-be-installed application, and sending the related information of each to-be-installed application to the system modeling module, and the related information of each to-be-installed application includes resource demand information and business association information of each to-be-installed application;

[0289] The system modeling module is used for obtaining cluster environment information, and modeling the system according to the cluster environment information and the related information of each to-be-installed application, and the cluster environment information includes resource performance information of the node server;

[0290] The strategy analysis module determines the weight value of each to-be-installed application based on the cluster environment information and / or the related information of each to-be-installed application, and the weight value includes resource consumption weight value and business impact weight value;

[0291] The server deployment module deploys each application to be installed in the container cluster, and configures a resource scheduling strategy of each application to be installed based on the weight value of each application to be installed.

[0292] The non-volatile computer storage medium provided by the embodiments of the present specification stores computer executable instructions, and the computer executable instructions can realize the following when executed by a computer:

[0293] The application management module is configured to collect the related information of each application to be installed, and send the related information of each application to be installed to the system modeling module, wherein the related information of each application to be installed includes resource requirement information and business association information of each application to be installed.

[0294] The system modeling module is configured to obtain cluster environment information, and model the system according to the cluster environment information and the related information of each application to be installed, wherein the cluster environment information includes resource performance information of the node server.

[0295] The strategy analysis module is configured to determine the weight value of each application to be installed based on the cluster environment information and / or the related information of each application to be installed, wherein the weight value includes a resource consumption weight value and a business impact weight value.

[0296] The server deployment module deploys each application to be installed in the container cluster, and configures a resource scheduling strategy of each application to be installed based on the weight value of each application to be installed.

[0297] Each embodiment in the present specification is described in a progressive manner, and the same or similar parts of each embodiment can be referred to each other. Each embodiment focuses on the difference from other embodiments. In particular, the device and the non-volatile computer storage medium embodiments are basically similar to the method embodiments, so the description is relatively simple, and the relevant parts can be referred to the part of the method embodiment.

Claims

A container cluster application resource scheduling method is characterized in that, Comprise: The application management module is configured to collect the relevant information of each to-be-installed application, and send the relevant information of each to-be-installed application to the system modeling module, and the relevant information of each to-be-installed application includes resource demand information and business association information of each to-be-installed application; The system modeling module is configured to obtain cluster environment information, and model the system according to the cluster environment information and the relevant information of each to-be-installed application, and the cluster environment information includes resource performance information of node servers; The strategy analysis module determines the weight value of each to-be-installed application based on the cluster environment information and / or the relevant information of each to-be-installed application, and the weight value includes resource consumption weight value and business impact weight value; The server deployment module deploys each to-be-installed application in a container cluster, and configures the resource scheduling strategy of each to-be-installed application based on the weight value of each to-be-installed application. The method of claim 1, wherein If the weight value is the business impact weight value, the strategy analysis module determines the weight value of each to-be-installed application based on the cluster environment information and / or the relevant information of each to-be-installed application, comprising: The strategy analysis module determines the business impact weight value of each to-be-installed application based on the business association information of each to-be-installed application. The method according to claim 2, characterized in that The strategy analysis module determines the business impact weight value of each to-be-installed application based on the business association information of each to-be-installed application, comprising: Analyzing the business association information of each to-be-installed application to determine the dependency relationship between each to-be-installed application; According to the dependency relationship between each to-be-installed application, determine the dependency degree of each to-be-installed application; According to the dependency degree of each to-be-installed application, determine the business impact weight value of each to-be-installed application. The method of claim 1, wherein If the weight value is the resource consumption weight value, the strategy analysis module determines the weight value of each to-be-installed application based on the cluster environment information and / or the relevant information of each to-be-installed application, comprising: The strategy analysis module determines the resource consumption weight value of each to-be-installed application based on the cluster environment information and the resource demand information of each to-be-installed application. The method according to claim 4, characterized in that The strategy analysis module determines the resource consumption weight value of each to-be-installed application based on the cluster environment information and the resource demand information of each to-be-installed application, comprising: Obtain the resource performance information of the node server and the resource demand information of each to-be-installed application, and the resource performance information includes the performance information of multiple resources; According to the resource demand information of each to-be-installed application, determine the total demand information of various resources of each to-be-installed application; Determine the resource difference value between the performance information of multiple resources of the node server and the total demand information of the corresponding resources of each to-be-installed application; Determine the resource corresponding to the lowest resource difference value as the scarce resource of the node server, and determine the resource performance information of the scarce resource and the demand information of the scarce resource of each to-be-installed application; According to the resource performance information of the scarce resource and the demand information of the scarce resource of each to-be-installed application, a resource consumption weight value of each to-be-installed application is determined. The method of claim 1, wherein The resource scheduling strategy of each to-be-installed application is configured based on the weight value of each to-be-installed application, including: According to the business influence weight value, the resource consumption weight value is adjusted to obtain an adjusted adaptive resource consumption weight value of each to-be-installed application; According to the adaptive resource consumption weight value, the resource scheduling strategy of each to-be-installed application is configured. The method according to claim 6, characterized in that According to the business influence weight value, the resource consumption weight value is adjusted to obtain an adjusted adaptive resource consumption weight value of each to-be-installed application, including: According to the business influence weight value, the number of copies of the corresponding to-be-installed application is increased or the resource weight is adjusted upward to obtain an adjusted adaptive resource consumption weight value of each to-be-installed application. The method of claim 1, wherein The resource performance information of the node server includes CPU indicators and memory capacity of the node server; and the resource demand information of each to-be-installed application includes CPU indicator occupation and memory occupation of each to-be-installed application. The method of claim 1, wherein The application management module is configured to collect relevant information of each to-be-installed application, including: Relevant information of each to-be-installed application is collected, and the relevant information of each to-be-installed application is verified and arranged. The method of claim 1, wherein The relevant information of each to-be-installed application is sent to the system modeling module through the application management module, including The communication connection between the application management module and the system modeling module is established; The relevant information of each to-be-installed application is sent to the system modeling module through the application management module. The method according to claim 3, characterized in that The business association information includes business processes and data flow directions, and the analysis of the business association information of each to-be-installed application to determine the dependency relationship between each to-be-installed application includes: According to the business processes and the data flow directions, direct dependency relationships and indirect dependency relationships between each to-be-installed application are determined, the direct dependency relationship is configured as whether the running of an application depends on the existence and normal running of other applications, and the indirect dependency relationship is configured as whether the running of an application will indirectly affect the performance or function of other applications. The method according to claim 5, characterized in that According to the resource performance information of the scarce resource and the demand information of the scarce resource of each to-be-installed application, a resource consumption weight value of each to-be-installed application is determined, including: According to the resource performance information of the scarce resource and the demand information of the scarce resource of each to-be-installed application, the demand proportion of the to-be-installed application for the scarce resource is calculated, and the resource consumption weight value of each to-be-installed application is determined. The method of claim 1, wherein The server deployment module deploys each to-be-installed application in a container cluster, including: Installing a container runtime environment in a server; Configuring a server network; Packaging each to-be-installed application into a container image; the container image includes an application program, a dependency item and a runtime environment; Creating or obtaining a configuration file configured to define the deployment configuration of an application in the container cluster; connecting the server to the container cluster and creating a corresponding namespace or resource quota in the container cluster; deploying, by the server deployment module, the container image into the container cluster; deploying the applications to be installed on designated nodes according to the configuration file and setting resource limits and network configurations of the containers. The method of claim 1, wherein The resource consumption weight value includes memory, CPU, network traffic, local disk cache and external storage. The method of claim 1, wherein The service impact weight value refers to the impact on the overall service environment when each node in the container cluster is down or changes. The method of claim 1, wherein The resource consumption weight value is configured to describe the resource exclusive situation of each application to be installed, and the service impact weight value is configured to the proportion of the influence of each application to be installed in the service, and the service impact weight value includes the functions, roles and dependencies borne by each application to be installed. The method of claim 1, wherein The resource consumption weight value is obtained by the following steps: obtaining host resources in the container cluster; presetting a weight alarm line; mapping the weight alarm line and the host resources in the container cluster to obtain the resource consumption weight value. The method of claim 1, wherein The service impact weight value is obtained by the following steps: presetting a pre-warning alarm line; setting the service impact weight value without dependency as the sum of the pre-warning alarm line and the dependency service; setting the service impact weight value with dependency as the sum of the aggregated value of the dependent services and the pre-warning alarm line. A container cluster application resource scheduling device is characterized in that, comprise: at least one processor; and a memory connected in communication with the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to: collect, through an application management module, related information of each application to be installed, and send the related information of each application to be installed to a system modeling module, the related information of each application to be installed including resource requirement information and service association information of each application to be installed; acquire, through the system modeling module, cluster environment information, and model the system according to the cluster environment information and the related information of each application to be installed, the cluster environment information including resource performance information of node servers; determine, through a strategy analysis module, weight values of each application to be installed based on the cluster environment information and / or the related information of each application to be installed, the weight values including resource consumption weight values and service impact weight values; deploy, through a server deployment module, each application to be installed in a container cluster, and configure resource scheduling strategies of each application to be installed based on the weight values of each application to be installed. A non-transitory computer storage medium, characterized in that store computer executable instructions, and the computer executable instructions are executed by a computer to enable: collect, through an application management module, related information of each application to be installed, and send the related information of each application to be installed to a system modeling module, the related information of each application to be installed including resource requirement information and service association information of each application to be installed; The system modeling module is configured to acquire cluster environment information, and model the system according to the cluster environment information and related information of the to-be-installed applications, wherein the cluster environment information comprises resource performance information of a node server; The strategy analysis module is configured to determine a weight value of each to-be-installed application based on the cluster environment information and / or the related information of the to-be-installed applications, wherein the weight value comprises a resource consumption weight value and a business impact weight value; The server deployment module is configured to deploy each to-be-installed application in a container cluster, and configure a resource scheduling strategy of each to-be-installed application based on the weight value of each to-be-installed application.

Citation Information

Patent Citations

  • Service integration and application integration method based on container cluster

    CN114489761A

  • Distribution recommendation method and device based on software service dependency relationship

    CN115190010A

  • Application resource scheduling method and device based on kubernetes cluster and distributed system

    CN117492956A

  • Container cluster application resource scheduling method, device and medium

    CN118426936A

  • Resource scheduling method, electronic device, and storage medium

    US20230273833A1