CN112363820A - Uniform resource pooling container scheduling engine based on heterogeneous hardware and scheduling method thereof - Google Patents

Uniform resource pooling container scheduling engine based on heterogeneous hardware and scheduling method thereof Download PDF

Info

Publication number
CN112363820A
CN112363820A CN202011391310.2A CN202011391310A CN112363820A CN 112363820 A CN112363820 A CN 112363820A CN 202011391310 A CN202011391310 A CN 202011391310A CN 112363820 A CN112363820 A CN 112363820A
Authority
CN
China
Prior art keywords
application
container
node
copy
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011391310.2A
Other languages
Chinese (zh)
Inventor
晏东
骆宇平
包鹏举
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Ghostcloud Technology Co ltd
Original Assignee
Chengdu Ghostcloud Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Ghostcloud Technology Co ltd filed Critical Chengdu Ghostcloud Technology Co ltd
Priority to CN202011391310.2A priority Critical patent/CN112363820A/en
Publication of CN112363820A publication Critical patent/CN112363820A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Abstract

The invention provides a uniform resource pooling container scheduling engine based on heterogeneous hardware and a scheduling method thereof, belonging to the field of container scheduling. The container scheduling engine includes: a core component, a client component and an external dependency; the scheduling method comprises the following steps: the container scheduling engine receives a request for creating an application and generates an application copy controller; inquiring the state of the current application in the cluster, and enabling the state to be in accordance with the state of the application statement; comparing the resource requirements of the applied copies with the architecture requirements of the nodes, and scoring all the nodes; assigning a copy of the application to a node corresponding to the highest score; the node client receives the information that the copy of the application is scheduled, and if the information is scheduled to the node of the node client, the node client creates the requirement of the copy of the application and starts a container; and the node client monitors the state of the container, creates a corresponding container when the container is deleted, and updates the resource state of the copy of the application in the cluster when the state of the container is unhealthy.

Description

Uniform resource pooling container scheduling engine based on heterogeneous hardware and scheduling method thereof
Technical Field
The invention relates to the field of container scheduling, in particular to a uniform resource pooling container scheduling engine based on heterogeneous hardware and a scheduling method thereof.
Background
Today, the basic technology in the field of cloud computing has already crossed into a new development direction due to the rapid development of container technology, and various major mainstream manufacturers store cloud-originated related technologies. While the container scheduling engine is the most core technology, the container scheduling engine currently on the market is Kubernetes of google, usa. Development or operation and maintenance personnel can deploy, manage and operate container examples through Kubernets, operation and maintenance work complexity is greatly simplified through a scheduling engine platform, and operation and maintenance operation can be operated without entering a specific service process like traditional virtualization operation and maintenance.
In kubernets, general resources are divided into cpus (processors), memories (memories) and other custom resources, the resources are distributed on different nodes, and a scheduling engine in the kubernets uniformly manages, i.e., allocates and releases the resources, but if multiple incompatible architectures exist in the devices in the clusters, such as amd64 and arm64, cluster deployment is very difficult, and scheduled pod cannot be used due to mirroring in the using process, and an arm64 architecture generally has weak machine performance, and application execution is slow, so in the kubernets, the general different architectures are divided into different clusters to process completely unrelated services, which also causes management difficulty of multiple clusters, and some associated services cannot be well combined, even if different machines in the clusters are distinguished in a tag-using manner, additional operations can be executed when the applications are started, this is something that is troublesome for both the operation and the development staff.
Disclosure of Invention
The invention aims to provide a uniform resource pooling container scheduling engine based on heterogeneous hardware and a scheduling method thereof, which can solve the problem of container scheduling in a heterogeneous environment, can shield the difference of architectures and can ensure that a user obtains excellent experience.
The invention solves the technical problem, and adopts the technical scheme that:
the invention firstly provides a heterogeneous hardware-based uniform resource pooling container scheduling engine, which comprises a core component, a client component providing access to the outside and an external dependence part;
the core component comprises a core server, a resource controller and node clients, wherein the core server is used for providing api for operating all data externally and a docking database, the resource controller is used for monitoring the change of all data and performing related resource operation, and the resource scheduler is used for controlling the resource use in the cluster and distributing containers to each node and each node client;
the client side assembly comprises a CLI command line client side and is used for operating the cluster and the Web client side in a command line mode;
the external dependence part comprises a consistency component, an authorization authentication service component, a container network implementation component, a container operation implementation + mirror image distribution service component and a container storage implementation component.
Preferably, the node includes node information, and the node information includes processor, memory, and disk information.
In addition, the invention also provides a scheduling method of the uniform resource pooling container scheduling engine based on heterogeneous hardware, which comprises the following steps:
step 1, a container scheduling engine receives a request for creating an application and generates an application copy controller corresponding to the application;
step 2, the application copy controller inquires the state of the current application in the cluster and makes the state accord with the state of the application statement;
step 3, the resource scheduler compares the resource requirements of the applied copies and the architecture requirements of the nodes, and scores all the nodes;
step 4, the resource scheduler allocates the applied copies to the nodes corresponding to the highest scores according to the highest scores;
step 5, the node client receives the information that the copy of the application is scheduled, if the copy of the application is scheduled to the node of the node client, the requirement of the copy of the application is created, and a container is started;
and 6, monitoring the state of the container by the node client, creating a corresponding container when the container is deleted, and updating the resource state of the copy of the application in the cluster when the state of the container is unhealthy.
Preferably, step 1 is preceded by: and the container scheduling engine monitors the nodes, records the information of the nodes when the nodes are added into a new cluster, and monitors the service condition of the node resources in real time, wherein the node information comprises information of a processor, a memory and a disk.
Specifically, in step 2, if the state of the current application in the cluster does not conform to the state of the application declaration, the application copy controller makes the state conform to the state of the application declaration by creating a copy of the application or deleting a copy of the application.
Specifically, in step 3, when all nodes are scored, the nodes are scored according to the size of the vacant resources of the nodes, and when the number of the vacant resources of the nodes is larger, the score of the node is higher.
Specifically, in step 5, the requirements of the copy of the application include mount of the storage volume, creation of a network, and resource limitation of the container.
Specifically, in step 6, when the copy of the application is configured with a health check, if the health check fails, an attempt is made to restart the container.
The uniform resource pooling container scheduling engine based on heterogeneous hardware and the scheduling method thereof have the advantages that when a user uses the product provided by the invention, the user can easily realize cluster creation and modification by using an installation tool provided by the product, and support simultaneous installation of different architectures, so that the experience in creating and modifying the cluster is greatly improved, and the container scheduling problem in a heterogeneous environment can be solved, the difference of the architectures can be shielded, and the user can obtain excellent experience.
Drawings
Fig. 1 is an overall architecture diagram of a uniform resource pooling container scheduling engine based on heterogeneous hardware according to embodiment 1 of the present invention;
fig. 2 is a flowchart of a scheduling method of a uniform resource pooling container scheduling engine based on heterogeneous hardware according to embodiment 2 of the present invention.
Detailed Description
The technical solution of the present invention is described in detail below with reference to the accompanying drawings and embodiments.
Example 1
The embodiment provides a uniform resource pooling container scheduling engine based on heterogeneous hardware, the overall structure of which is shown in figure 1, wherein the container scheduling engine comprises a core component, a client component providing access to the outside and an external dependent part; wherein: the system comprises a core component, a resource scheduler and a resource management module, wherein the core component comprises a core server, a resource controller and node clients, the core server is used for providing api for operating all data externally and a docking database, the resource controller is used for monitoring the change of all data and carrying out related resource operation, and the resource scheduler is used for controlling the resource use in a cluster and distributing containers to all nodes and the node clients; the client side assembly comprises a CLI command line client side and is used for operating the cluster and the Web client side in a command line mode; and the external dependence part comprises a consistency component, an authorization authentication service component, a container network implementation component, a container operation implementation + mirror image distribution service component and a container storage implementation component. Here, a node may include node information, which may include processor, memory, disk information, and the like.
In this embodiment, the container scheduling engine may uniformly manage all resources in the cluster, when an application is created, the container scheduling engine determines on which node the application is created, and maintains the state of the application, and when the application is abnormal, the container scheduling engine may attempt to repair the application; when a user starts an application, parameters are filled in a page or a configuration file, specific scheduling is processed by a container scheduling engine, the container scheduling engine can acquire information of a mirror image and judge which nodes the mirror image is suitable for running on, the mirror image with various architectures can run on various nodes, and the user does not need to care how to control the creation and destruction of the container.
Example 2
The embodiment provides a scheduling method of a uniform resource pooling container scheduling engine based on heterogeneous hardware, and a flow chart of the scheduling method is shown in fig. 2, wherein the method comprises the following steps:
step 1, a container scheduling engine receives a request for creating an application and generates an application copy controller corresponding to the application.
Step 2, the application copy controller inquires the state of the current application in the cluster and makes the state accord with the state of the application statement;
if the state of the current application in the cluster is not accordant with the state of the application statement, the application copy controller enables the state to be accordant with the state of the application statement by creating a copy of the application or deleting the copy of the application so as to expect to obtain the correct state.
Step 3, the resource scheduler compares the resource requirements of the applied copies and the architecture requirements of the nodes, and scores all the nodes;
when all nodes are scored, the nodes are scored according to the size of the vacant resources of the nodes, and generally, the scoring of the nodes is higher when the number of the vacant resources of the nodes is more.
And 4, the resource scheduler allocates the copy of the application to the node corresponding to the highest score according to the highest score, and the node certainly meets the requirement of the application and can ensure the normal operation of the machine on both resources and machine architecture.
Step 5, the node client receives the information that the copy of the application is scheduled, if the copy of the application is scheduled to the node of the node client, the requirement of the copy of the application is created, and a container is started;
among the requirements of the copy of the application are mount of the storage volume, creation of the network, and resource limitation of the container.
Step 6, the node client monitors the state of the container, creates a corresponding container when the container is deleted, and updates the resource state of the copy of the application in the cluster when the state of the container is unhealthy;
here, when a copy of the application is provisioned with a health check, if the health check fails, an attempt is made to restart the container.
In practical application, before step 1, the method may further include: and the container scheduling engine monitors the nodes, records the information of the nodes when the nodes are added into a new cluster, and monitors the service condition of the node resources in real time, wherein the node information can comprise information of a processor, a memory, a disk and the like.
Example 3
In this embodiment, only the mirror application of the amd64 architecture is scheduled, and the scheduling process is specifically as follows:
a. a cluster with 3 amd64 and 3 arm64 machines is created, a web interface of a container scheduling engine is opened, and an application is selected to be created.
b. Parameters of the application are filled, wherein the image selection is only the image of the adm64 architecture, and the copy number is set to be 10.
c. And checking the details of the application, waiting for a period of time, checking whether the application is in a running state, if not, checking the distribution condition of the copies in the cluster, and if so, checking the distribution condition of the copies in the cluster.
d. It can be seen that all copies are distributed substantially evenly across the machine of the amd64 architecture and all operate normally.
e. And starting an application again, and enlarging the requested resource to make the resource requests of some copies meet the resource part of the remaining amd64 architecture in the cluster which cannot meet the requirements.
f. Looking at the running condition of the copies of the new application, some copies are successfully started, some copies are not started because the resources are not satisfied, but the un-started copies are not dispatched to the machine with the arm64 structure.
Example 4
In this embodiment, the mirror application having the arm64 and the amd64 architectures is scheduled, and the scheduling process is specifically as follows:
(1) a cluster with 3 amd64 and 3 arm64 machines is created, a web interface of a container scheduling engine is opened, and an application is selected to be created.
(2) Parameters of the application are filled in, the image is selected to be an image with two architectures of amd64 and arm64, and the number of copies is 10.
(3) After waiting a while, looking at the details of the application, it can be seen that the machines in the cluster are running this mirror, but the number of copies on the amd64 node is greater than the number of copies on the arm6 node, because arm64 is less computationally intensive, the remaining resources are lower in score when the cluster is scheduled, and therefore the number of copies allocated is also lower.

Claims (8)

1. The heterogeneous hardware-based uniform resource pooling container scheduling engine is characterized by comprising a core component, a client component providing access to the outside and an external dependent part;
the core component comprises a core server, a resource controller and node clients, wherein the core server is used for providing api for operating all data externally and a docking database, the resource controller is used for monitoring the change of all data and performing related resource operation, and the resource scheduler is used for controlling the resource use in the cluster and distributing containers to each node and each node client;
the client side assembly comprises a CLI command line client side and is used for operating the cluster and the Web client side in a command line mode;
the external dependence part comprises a consistency component, an authorization authentication service component, a container network implementation component, a container operation implementation + mirror image distribution service component and a container storage implementation component.
2. The heterogeneous hardware based uniform resource pooling container scheduling engine of claim 1 wherein said nodes include node information including processor, memory and disk information.
3. The scheduling method of the uniform resource pooling container scheduling engine based on heterogeneous hardware is characterized by comprising the following steps:
step 1, a container scheduling engine receives a request for creating an application and generates an application copy controller corresponding to the application;
step 2, the application copy controller inquires the state of the current application in the cluster and makes the state accord with the state of the application statement;
step 3, the resource scheduler compares the resource requirements of the applied copies and the architecture requirements of the nodes, and scores all the nodes;
step 4, the resource scheduler allocates the applied copies to the nodes corresponding to the highest scores according to the highest scores;
step 5, the node client receives the information that the copy of the application is scheduled, if the copy of the application is scheduled to the node of the node client, the requirement of the copy of the application is created, and a container is started;
and 6, monitoring the state of the container by the node client, creating a corresponding container when the container is deleted, and updating the resource state of the copy of the application in the cluster when the state of the container is unhealthy.
4. The scheduling method of the uniform resource pooling container scheduling engine based on heterogeneous hardware as claimed in claim 3, wherein before step 1, further comprising: and the container scheduling engine monitors the nodes, records the information of the nodes when the nodes are added into a new cluster, and monitors the service condition of the node resources in real time, wherein the node information comprises information of a processor, a memory and a disk.
5. The scheduling method of the uniform resource pooling container scheduling engine based on heterogeneous hardware as claimed in claim 3, wherein in step 2, if the state of the current application in the cluster does not conform to the state of the application declaration, the application copy controller makes the state conform to the state of the application declaration by creating a copy of the application or deleting a copy of the application.
6. The scheduling method of the uniform resource pooling container scheduling engine based on heterogeneous hardware as claimed in claim 3, wherein in step 3, when all nodes are scored, the node is scored according to the size of the free resources of the node, and when the free resources of the node are more, the score of the node is higher.
7. The scheduling method of the uniform resource pooling container scheduling engine based on heterogeneous hardware as claimed in claim 3, wherein in step 5, the requirements of the copy of the application include mount of storage volume, creation of network and resource limitation of container.
8. The scheduling method of the uniform resource pooling container scheduling engine based on heterogeneous hardware as claimed in claim 3, wherein in step 6, when the copy of the application is configured with the health check, if the health check fails, then the container is attempted to be restarted.
CN202011391310.2A 2020-12-01 2020-12-01 Uniform resource pooling container scheduling engine based on heterogeneous hardware and scheduling method thereof Pending CN112363820A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011391310.2A CN112363820A (en) 2020-12-01 2020-12-01 Uniform resource pooling container scheduling engine based on heterogeneous hardware and scheduling method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011391310.2A CN112363820A (en) 2020-12-01 2020-12-01 Uniform resource pooling container scheduling engine based on heterogeneous hardware and scheduling method thereof

Publications (1)

Publication Number Publication Date
CN112363820A true CN112363820A (en) 2021-02-12

Family

ID=74536979

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011391310.2A Pending CN112363820A (en) 2020-12-01 2020-12-01 Uniform resource pooling container scheduling engine based on heterogeneous hardware and scheduling method thereof

Country Status (1)

Country Link
CN (1) CN112363820A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112965819A (en) * 2021-03-04 2021-06-15 山东英信计算机技术有限公司 Method and device for mixed scheduling of container resources across processor architectures
CN114090176A (en) * 2021-11-19 2022-02-25 苏州博纳讯动软件有限公司 Kubernetes-based container scheduling method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109117265A (en) * 2018-07-12 2019-01-01 北京百度网讯科技有限公司 The method, apparatus, equipment and storage medium of schedule job in the cluster

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109117265A (en) * 2018-07-12 2019-01-01 北京百度网讯科技有限公司 The method, apparatus, equipment and storage medium of schedule job in the cluster

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112965819A (en) * 2021-03-04 2021-06-15 山东英信计算机技术有限公司 Method and device for mixed scheduling of container resources across processor architectures
CN114090176A (en) * 2021-11-19 2022-02-25 苏州博纳讯动软件有限公司 Kubernetes-based container scheduling method

Similar Documents

Publication Publication Date Title
US11385939B2 (en) Method and system for modeling and analyzing computing resource requirements of software applications in a shared and distributed computing environment
US11847329B2 (en) Techniques for implementing fault domain sets
CN111488241B (en) Method and system for realizing agent-free backup and recovery operation in container arrangement platform
US8762999B2 (en) Guest-initiated resource allocation request based on comparison of host hardware information and projected workload requirement
US11385883B2 (en) Methods and systems that carry out live migration of multi-node applications
EP3469478B1 (en) Server computer management system for supporting highly available virtual desktops of multiple different tenants
US20210326168A1 (en) Autonomous cell-based control plane for scalable virtualized computing
US20080243993A1 (en) System for generic service management in a distributed and dynamic resource environment, providing constant service access to users
CN111385114A (en) VNF service instantiation method and device
US9753718B1 (en) Non-disruptive upgrade including rollback capabilities for a distributed file system operating within a cluster of nodes
SG189389A1 (en) Web service patterns for globally distributed service fabric
JP2008123412A (en) Computer system, system software upgrade method, and first server device
CN108089913A (en) A kind of virtual machine deployment method of super emerging system
CN112363820A (en) Uniform resource pooling container scheduling engine based on heterogeneous hardware and scheduling method thereof
CN113886089A (en) Task processing method, device, system, equipment and medium
WO2023125482A1 (en) Cluster management method and device, and computing system
US20230058193A1 (en) Computer system and storage medium
CN116166413A (en) Lifecycle management for workloads on heterogeneous infrastructure
CN112559138A (en) Resource scheduling system and method
CN113687908A (en) PMEM virtual machine creation method, device, equipment and readable storage medium
CN112711444A (en) Virtualization method and system for power grid monitoring service unit
US20240143204A1 (en) Techniques for implementing fault domain sets
JP5492253B2 (en) Control device, control method, and control program
US9722946B1 (en) Apparatus and method for a script execution control environment
US11442756B2 (en) Common service resource application method, related device, and system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination