WO2021169342A1 - 一种Kubernetes中节点的资源管理方法、设备以及介质 - Google Patents

一种Kubernetes中节点的资源管理方法、设备以及介质 Download PDF

Info

Publication number
WO2021169342A1
WO2021169342A1 PCT/CN2020/123800 CN2020123800W WO2021169342A1 WO 2021169342 A1 WO2021169342 A1 WO 2021169342A1 CN 2020123800 W CN2020123800 W CN 2020123800W WO 2021169342 A1 WO2021169342 A1 WO 2021169342A1
Authority
WO
WIPO (PCT)
Prior art keywords
resources
resource
main process
node
service
Prior art date
Application number
PCT/CN2020/123800
Other languages
English (en)
French (fr)
Inventor
王德奎
Original Assignee
苏州浪潮智能科技有限公司
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 苏州浪潮智能科技有限公司 filed Critical 苏州浪潮智能科技有限公司
Priority to US17/801,897 priority Critical patent/US11915067B2/en
Publication of WO2021169342A1 publication Critical patent/WO2021169342A1/zh

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/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7803System on board, i.e. computer system on one or more PCB, e.g. motherboards, daughterboards or blades
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the invention relates to the field of PCBs, in particular to a method, equipment and storage medium for resource management of nodes in Kubernetes.
  • Kubernetes has become a mainstream open source project in the container management field.
  • Kubernetes natively provides management mechanisms for three types of resources: CPU, memory, and hard disk.
  • Kubernetes also provides A mechanism called device plug-in allows users to register, allocate, and recycle third-party resources according to the interface defined by the device plug-in.
  • the container created by the user only needs to specify the name of the third-party resource when creating the device.
  • the plug-in mechanism can realize the allocation of such resources, and the newly created container can use such resources for calculation.
  • Kubernetes In the field of artificial intelligence, Kubernetes is gradually being used as a resource manager.
  • AI scenarios usually require GPU, FPGA, ASIC, InfiniBand and other resources, and in order to meet business needs.
  • resource type These resources can be managed by Kubernetes based on the device plug-in mechanism of Kubernetes.
  • the device plug-in mechanism of Kubernetes is usually a resource that requires a component to complete the management of this type of resource.
  • the next node in the AI scenario requires GPU, FPGA, ASIC, When InfiniBand has four resources, 4 components need to be deployed on the node. When the cluster has a large number of nodes, these 4 components need to be deployed on each node.
  • an embodiment of the present invention proposes a resource management method for nodes in Kubernetes, which includes the following steps:
  • the main process is used to register the resources corresponding to the sub-processes that successfully start the Grpc service in Kubernetes, so that the sub-processes that successfully start the Grpc service manage the several actual resources.
  • defining multiple sub-processes for separately managing multiple resources through the main process further includes:
  • the main process defines resource names and preset resource processing interface attributes for the multiple sub-processes respectively.
  • enabling the child process that successfully starts the Grpc service to manage the several actual resources further includes:
  • the subprocess corresponding to the resource to be applied for allocates the resource to be applied for to the container through the Gprc service.
  • it further includes:
  • the corresponding relationship is generated into a persistent file, and the persistent file is saved to the node.
  • initializing the component to start the main process further includes:
  • it further includes:
  • it further includes:
  • the resources corresponding to the unstarted child processes are periodically detected in the node.
  • starting the Grpc service for each of the started child processes further includes:
  • the main process monitors the status of the child process that successfully starts the Gprc service based on a plurality of the socket files.
  • an embodiment of the present invention also provides a computer device, including:
  • At least one processor At least one processor
  • a memory that stores a computer program that can run on the processor, and is characterized in that, when the processor executes the program, the steps of any one of the node resource management methods in Kubernetes described above are executed.
  • an embodiment of the present invention also provides a computer-readable storage medium, the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor Perform any of the steps of the node resource management method in Kubernetes as described above.
  • the present invention has one of the following beneficial technical effects: the solution proposed by the present invention has good scalability, can support more types of resources to be registered to Kubernetes without increasing the number of system components, without adding additional resources Consumption will not increase the complexity of system operation and maintenance.
  • FIG. 1 is a schematic flowchart of a method for resource management of nodes in Kubernetes according to an embodiment of the present invention
  • FIG. 2 is a flowchart of a resource management method provided by an embodiment of the present invention.
  • Figure 3 is a block diagram of the relationship between the main process, the child processes of each type of resource, and node resources;
  • Figure 5 is a schematic structural diagram of a computer device provided by an embodiment of the present invention.
  • Fig. 6 is a schematic structural diagram of a computer-readable storage medium provided by an embodiment of the present invention.
  • an embodiment of the present invention proposes a resource management method for nodes in Kubernetes, as shown in FIG. 1, which may include the steps: S1, initialize components to start the main process; S2, pass the main process Define multiple sub-processes for separately managing multiple resources; S3, in response to the main process detecting several actual resources existing in the node among the multiple resources, start each sub-process corresponding to the actual resource, And start the Grpc service for each of the started child processes; S4, use the main process to register the resources corresponding to the child processes that successfully start the Grpc service in Kubernetes, so that the child processes that successfully start the Grpc service Manage the several actual resources.
  • the solution proposed by the present invention is based on the device plug-in extension mechanism of Kubernetes and customizes the resource registration component. And based on mechanisms such as multi-process, grpc communication, file monitoring and management, the device plug-ins of multiple resources are integrated into one component, and a process status monitoring mechanism is provided to ensure the normal operation of the management process of each type of resource. Realize the registration of multiple resource types to Kubernetes and complete resource allocation, thereby reducing the number of system components and reducing the complexity of system operation and maintenance.
  • a main process is defined, and a child process is started for each type of resource (that is, the resource device plug-in is defined), and the main process is used for each device according to the interface of the Kubernetes device plug-in.
  • the child process of a class resource defines the query and allocation method of this type of resource, and the main process of the component provides unified Kubernetes resource registration and sub-process state management.
  • the main process of the component manages the child processes of various resources, including registering to Kubernetes, starting the Grpc service, stopping the Grpc service, and the Grpc service is abnormally restored.
  • step S2 defines multiple sub-processes for respectively managing multiple resources through the main process, and further includes:
  • the main process defines resource names and preset resource processing interface attributes for the multiple sub-processes respectively.
  • the coroutine definition of each type of resource can be completed through the main process, and the resource name of each sub-process and the resource processing interface required by the device plug-in can be defined.
  • the interface is mainly Including the four interfaces (GetDevicePluginOptions, PreStartContainer, ListAndWatch, Allocate) required by the device plug-in mechanism of Kubernetes, as well as the data information required by these interfaces.
  • step S3 in response to the main process detecting that several actual resources of the multiple resources exist in the node, start each of the sub-processes corresponding to the actual resources, specifically, when the component After initialization to start the main process, the main process can automatically detect the resource type that the node already has through the corresponding detection function. For example, when the node contains GPU resources, you can confirm whether the node has a GPU through the nvml function library provided by Nvidia. When a node contains an IB card device, you can get whether the node contains an IB card device through the rdmamap function library. In this way, when the existing resource type is detected, the child process corresponding to this type of resource can be started.
  • the method further includes:
  • the resources corresponding to the unstarted child processes are periodically detected in the node.
  • the periodic detection process is started, and only when the resource type is detected, the coroutine corresponding to this type of resource is started.
  • the sub-process is defined by the main process in the component initialization phase, and the corresponding sub-process will be started only when it is detected that the node has corresponding resources, and if there are no resources in the node, then The child processes corresponding to these resources are not started, and the child processes that have not been started before will be started only after the cycle detection process detects the corresponding resources.
  • the relationship between the main process, the coroutine of each type of resource (subprocess), and the host resource can be shown in Figure 3.
  • the main process multiple coroutines can be managed, and each coroutine can be managed.
  • the main process shown in Figure 3 can manage ASIC coroutines, GPU coroutines, FPGA coroutines, and IB card coroutines, and these coroutines can manage corresponding ASIC resources, GPU resources, FPGA resources, and IB cards resource.
  • a device plug-in that manages various resources through sub-processes can be realized, and each sub-process can manage a class of resources on the host.
  • step S3 initiating the Grpc service for each of the started sub-processes, further includes:
  • the main process monitors the status of the child process that successfully starts the Gprc service based on a plurality of the socket files.
  • the implementation method of the device plug-in of the child process that manages each type of resource can be implemented through the Grpc service, where each child process needs to start a grpc service and save a socket file of the process locally, for example, for GPU Resource, we can define the socket file as: /var/lib/kubelet/device-plugins/gpu.sock, based on this file, the component main process can monitor the status of the child process.
  • each child process can also implement resource allocation management through the Gprc service.
  • enabling the child process that successfully starts the Grpc service to manage the plurality of actual resources further includes:
  • the subprocess corresponding to the resource to be applied for allocates the resource to be applied for to the container through the Gprc service.
  • the business layer creates a container and needs to use these resources, you can still install the original Kuberentes resource application method.
  • the container needs GPU resources
  • the Kubelet component allocates GPU resources to the container by calling the component proposed in the embodiment of the present invention.
  • the method further includes:
  • the corresponding relationship is generated into a persistent file, and the persistent file is saved to the node.
  • the component when Kubelet calls the component proposed in the embodiment of the present invention to apply for resource allocation to the container, the component will record the corresponding relationship between the resource and the container and persist it to a local file; in Figure 4, Pod It is the smallest unit in Kubernetes. Each Pod includes one or more containers. By recording the corresponding relationship between the resource and the Pod, the corresponding relationship between the resource and the container in the Pod can be recorded.
  • the initialization of the component to start the main process in step S1 further includes:
  • the Kubelet component needs to be restarted.
  • the main process also needs to be restarted, that is, the component proposed in the embodiment of the present invention is initialized.
  • load the local file to restore the corresponding relationship between the node's resources and the container.
  • the summary of the node resource usage can be completed, which can facilitate node operation and maintenance and troubleshoot resource usage problems during cluster usage.
  • the method further includes:
  • the component can enable a third party to query the resource usage of the node, for example, it can obtain information such as which containers are used by GPU resources, which containers are used by IB cards, and which containers are used by FPGA.
  • the solution proposed by the present invention can manage multiple types of resources required for AI training based on Kubernetes in an AI scenario, and through a self-developed new resource registration management mechanism, multiple types of resources can be completed using only one self-developed component.
  • the registration and allocation of resources, based on this mechanism can effectively reduce the number of system components under the AI cluster, and merge multiple components into one component without affecting the management of multiple types of resources by Kubernetes, thereby reducing the resource occupancy rate of system components , And release more resources for AI training tasks.
  • this component it can automatically discover which types of resources exist on the node, and provide an interface for querying node resource usage. Therefore, the solution proposed by the present invention has good scalability, and can support more types of resources to be registered to Kubernetes without increasing the number of system components, without increasing additional resource consumption, and without increasing the operation of the system. Dimensional complexity.
  • an embodiment of the present invention further provides a computer device 501, including:
  • At least one processor 520 and
  • the memory 510 stores a computer program 511 that can run on the processor, and the processor 520 executes the steps of any of the above-mentioned node resource management methods in Kubernetes when the processor 520 executes the program.
  • an embodiment of the present invention also provides a computer-readable storage medium 601.
  • the computer-readable storage medium 601 stores computer program instructions 610.
  • the program instructions 610 are executed by the processor, the steps of any of the above node resource management methods in Kubernetes are executed.
  • the devices, devices, etc. disclosed in the embodiments of the present invention may be various electronic terminal devices, such as mobile phones, personal digital assistants (PDA), tablet computers (PAD), smart TVs, etc., or large-scale terminal devices.
  • PDA personal digital assistants
  • PAD tablet computers
  • smart TVs etc.
  • large-scale terminal devices Such as servers, etc., therefore, the protection scope disclosed in the embodiments of the present invention should not be limited to a specific type of device or equipment.
  • the client disclosed in the embodiment of the present invention may be applied to any of the above-mentioned electronic terminal devices in the form of electronic hardware, computer software, or a combination of the two.
  • the method disclosed according to the embodiment of the present invention may also be implemented as a computer program executed by a CPU, and the computer program may be stored in a computer-readable storage medium.
  • the computer program executes the above-mentioned functions defined in the method disclosed in the embodiment of the present invention.
  • the above method steps and system units can also be implemented by a controller and a computer-readable storage medium for storing a computer program that enables the controller to implement the above steps or unit functions.
  • non-volatile memory may include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory Memory.
  • Volatile memory can include random access memory (RAM), which can act as external cache memory.
  • RAM can be obtained in many forms, such as synchronous RAM (DRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchronous link DRAM (SLDRAM) and direct Rambus RAM (DRRAM).
  • DRAM synchronous RAM
  • DRAM dynamic RAM
  • SDRAM synchronous DRAM
  • DDR SDRAM double data rate SDRAM
  • ESDRAM enhanced SDRAM
  • SLDRAM Synchronous link DRAM
  • DRRAM direct Rambus RAM
  • the storage devices of the disclosed aspects are intended to include, but are not limited to, these and other suitable types of memory.
  • DSP digital signal processors
  • ASIC application-specific integrated circuits
  • FPGA Field Programmable Gate Array
  • a general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine.
  • the processor may also be implemented as a combination of computing devices, for example, a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in combination with a DSP, and/or any other such configuration.
  • the steps of the method or algorithm described in combination with the disclosure herein may be directly included in hardware, a software module executed by a processor, or a combination of the two.
  • the software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art.
  • An exemplary storage medium is coupled to the processor such that the processor can read information from or write information to the storage medium.
  • the storage medium may be integrated with the processor.
  • the processor and the storage medium may reside in the ASIC.
  • the ASIC can reside in the user terminal.
  • the processor and the storage medium may reside as discrete components in the user terminal.
  • functions may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions can be stored as one or more instructions or codes on a computer-readable medium or transmitted through the computer-readable medium.
  • Computer-readable media include computer storage media and communication media, including any media that facilitates the transfer of a computer program from one location to another location.
  • a storage medium may be any available medium that can be accessed by a general-purpose or special-purpose computer.
  • the computer-readable medium may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage devices, magnetic disk storage devices or other magnetic storage devices, or may be used to carry or store instructions in the form of Or any other medium that can be accessed by a general-purpose or special-purpose computer or general-purpose or special-purpose processor. Also, any connection is properly termed a computer-readable medium.
  • coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave to send software from a website, server, or other remote source
  • coaxial cable Cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are all included in the definition of media.
  • magnetic disks and optical disks include compact disks (CDs), laser disks, optical disks, digital versatile disks (DVD), floppy disks, and Blu-ray disks. Disks usually reproduce data magnetically, while optical disks use lasers to optically reproduce data. . Combinations of the above content should also be included in the scope of computer-readable media.
  • the program can be stored in a computer-readable storage medium, as mentioned above.
  • the storage medium can be read-only memory, magnetic disk or optical disk, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种Kubernetes中节点的资源管理方法、计算机设备以及可读存储介质,方法包括以下步骤:初始化组件以启动主进程;通过所述主进程定义用于分别管理多种资源的多个子进程;响应于所述主进程检测到所述多种资源中存在于节点的若干个实际资源,启动每一个所述实际资源对应的子进程,并为每一个启动的所述子进程启动Grpc服务;利用所述主进程将成功启动Grpc服务的所述子进程对应的资源注册到Kubernetes中,以使所述成功启动Grpc服务的子进程对所述若干个实际资源进行管理;本发明提出的方案可以在不增加***组件数量的情况下,支持更多类型的资源注册到Kubernetes,不会增加额外的资源消耗,也不会提高***的运维复杂度。

Description

一种Kubernetes中节点的资源管理方法、设备以及介质
本申请要求于2020年02月24日提交中国专利局、申请号为202010112361.0、发明名称为“一种Kubernetes中节点的资源管理方法、设备以及介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及PCB领域,具体涉及一种Kubernetes中节点的资源管理方法、设备以及存储介质。
背景技术
Kubernetes基于其提供的资源管理机制,成为容器管理领域的主流开源项目,Kubernetes原生提供了对CPU、内存、硬盘这三类资源的管理机制,为了满足不同用户对资源类型扩展的需求,Kubernetes同时提供了一种叫做设备插件的机制,允许用户按照设备插件定义的接口,实现第三方资源的注册、分配、回收等操作,用户创建的容器只需要在创建时,指定该第三方资源的名称,设备插件机制就可以实现这类资源的分配,新创建的容器就可以使用这类资源进行计算。
在人工智能领域,也逐渐使用Kubernetes作为资源管理器,AI场景除需要基础的CPU、内存、硬盘这三类资源外,通常还需要GPU、FPGA、ASIC、InfiniBand等资源,以及为了满足业务需求自定义的资源类型。可以基于Kubernetes的设备插件机制将这些资源交由Kubernetes管理,Kubernetes的设备插件机制通常是一种资源需要一个组件用于完成该类资源的管理,当AI场景下一个节点需要GPU、FPGA、ASIC、InfiniBand四种资源时,就需要在该节点部署4个组件,当集群有大量节点时,就需要在每个节点都部署这4个组件,由于每个组件都需要占用节点的一部分资源,并提高了***的运维复杂度,在AI场景下,很多训练任务都会使用节点的全部资源,才能加速训练速度。因此需要有一种机制,来减少这种组件运行的资源消耗,将更多的资源释放给训练任务使用,同时降低***的运维复杂度。
发明内容
有鉴于此,为了克服上述问题的至少一个方面,本发明实施例提出一种Kubernetes中节点的资源管理方法,包括以下步骤:
初始化组件以启动主进程;
通过所述主进程定义用于分别管理多种资源的多个子进程;
响应于所述主进程检测到所述多种资源中存在于节点的若干个实际资源,启动每一个所述实际资源对应的子进程,并为每一个启动的所述子进程启动Grpc服务;
利用所述主进程将成功启动Grpc服务的所述子进程对应的资源注册到Kubernetes中,以使所述成功启动Grpc服务的子进程对所述若干个实际资源进行管理。
在一些实施例中,通过所述主进程定义用于分别管理多种资源的多个子进程,进一步包括:
通过所述主进程为所述多个子进程分别定义资源名称以及预设的资源处理接口的属性。
在一些实施例中,使所述成功启动Grpc服务的子进程对所述若干个实际资源进行管理,进一步包括:
响应于接收到所述Kubernetes中的Kubelet组件为容器申请资源的请求,待申请资源对应的所述子进程通过所述Gprc服务为所述容器分配所述待申请资源。
在一些实施例中,还包括:
通过所述主进程记录所述容器与分配的所述待申请资源之间的对应关系;
将所述对应关系生成持久化文件,并将所述持久化文件保存到节点。
在一些实施例中,初始化组件以启动主进程,进一步包括:
加载所述持久化文件以获取所述节点的资源和容器的对应关系。
在一些实施例中,还包括:
为所述主进程启动Gprc服务;
通过所述主进程的Gprc服务查询所述节点的资源使用信息。
在一些实施例中,还包括:
对未启动的子进程对应的资源在所述节点中进行周期检测。
在一些实施例中,为每一个启动的所述子进程启动Grpc服务,进一步包括:
在所述节点本地保存与成功启动所述Gprc服务的子进程对应的套接字文件;
所述主进程基于多个所述套接字文件对所述成功启动Gprc服务的子进程的状态进行监控。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如上所述的任一种Kubernetes中节点的资源管理方法的步骤。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时执行如上所述的任一种Kubernetes中节点的资源管理方法的步骤。
本发明具有以下有益技术效果之一:本发明提出的方案具有很好的扩展性,可以在不增加***组件数量的情况下,可以支持更多类型的资源注册到Kubernetes,不会增加额外的资源消耗,也不会提高***的运维复杂度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明的实施例提供的Kubernetes中节点的资源管理方法的流程示意图;
图2为本发明的实施例提供的资源管理方法的流程框图;
图3为主进程、每类资源的子进程以及节点资源的关系框图;
图4为Kubelet调用本发明实施例提出的组件时的流程框图;
图5为本发明的实施例提供的计算机设备的结构示意图;
图6为本发明的实施例提供的计算机可读存储介质的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
根据本发明的一个方面,本发明的实施例提出一种Kubernetes中节点的资源管理方法,如图1所示,其可以包括步骤:S1,初始化组件以启动主进程;S2,通过所述主进程定义用于分别管理多种资源的多个子进程;S3,响应于所述主进程检测到所述多种资源中存在于节点的若干个实际资源,启动每一个所述实际资源对应的子进程,并为每一个启动的所述子进程启动Grpc服务;S4,利用所述主进程将成功启动Grpc服务的所述子进程对应的资源注册到Kubernetes中,以使所述成功启动Grpc服务的子进程对所述若干个实际资源进行管理。
本发明提出的方案基于Kubernetes的设备插件扩展机制,自定义资源注 册组件。并基于多进程、grpc通信、文件监控管理等机制,将多个资源的设备插件整合为一个组件,同时提供了一种进程状态监控机制,保证每类资源的管理进程正常运行,基于该组件可以实现多种资源类型注册到Kubernetes,并完成资源的分配,从而减少了***的组件数量,同时降低了***运维的复杂度。
具体的,如图2所示,该组件启动时,会定义一个主进程,同时为每类资源启动一个子进程(也即定义资源设备插件),并通过主进程按照Kubernetes设备插件的接口为每类资源的子进程定义该类资源的查询、分配方式,组件的主进程会提供统一的Kubernetes资源注册、子进程状态管理。当AI集群搭建时,只需要在每个节点部署该组件,组件的主进程通过管理各类资源的子进程,包括注册到Kubernetes、启动Grpc服务,停止Grpc服务,Grpc服务异常恢复,就可以将多类资源注册到Kubernetes以进行管理。Kubernetes的Kubelet组件在为容器分配资源时,全部都会调用该组件的接口,完成资源的分配,并绑定到容器。从而减少了***的组件数量,降低了运维的复杂度。
在一些实施例中,步骤S2通过所述主进程定义用于分别管理多种资源的多个子进程,进一步包括:
通过所述主进程为所述多个子进程分别定义资源名称以及预设的资源处理接口的属性。
具体的,在组件的初始化阶段,可以通过主进程完成每类资源的协程定义(也即定义多个子进程),定义每一个子进程的资源名称以及设备插件要求的资源处理接口,其中接口主要包括Kubernetes的设备插件机制要求的四个接口(GetDevicePluginOptions、PreStartContainer、ListAndWatch、Allocate),以及这些接口需要的数据信息。
在一些实施例中,在步骤S3响应于所述主进程检测到所述多种资源中存在于节点的若干个实际资源,启动每一个所述实际资源对应的子进程中,具体的,当组件初始化以启动主进程后,主进程能够通过对应的检测函数自动检测到该节点已经有的资源类型,例如当节点含有GPU资源时,可以通过Nvidia提供的nvml函数库确认该节点是否有GPU,当节点含有IB卡设 备时,可以通过rdmamap函数库获取到该节点是否含有IB卡设备。这样当检测到存在的资源类型时,才能启动该类资源对应的子进程。
在一些实施例中,方法还包括:
对未启动的子进程对应的资源在所述节点中进行周期检测。
具体的,当在节点无法检测到存在的资源类型时,启动周期检测进程,只有当检测到该资源类型时,启动该类资源对应的协程。
需要说明的是,子进程在组件初始化阶段即通过主进程定义完成,只有当检测到该节点有对应的资源时,才会启动对应的子进程,而该节点如果不存在某些资源时,则不启动这些资源对应的子进程,并且只有当周期检测进程检测到相应的资源后,才会启动之前未被启动的子进程。
例如,当子进程启动后,主进程、每类资源的协程(子进程)、主机资源的关系可以如图3所示,通过主进程可以来管理多个协程,每一个协程可以管理对应的资源,图3示出的主进程可以管理ASIC协程、GPU协程、FPGA协程以及IB卡协程,而这些协程又可以管理对应的ASIC资源、GPU资源、FPGA资源以及IB卡资源。这样即可实现通过子进程的方式管理各类资源的设备插件实现,每个子进程实现管理主机上的一类资源。
在一些实施例中,在步骤S3为每一个启动的所述子进程启动Grpc服务中,进一步包括:
在所述节点本地保存与成功启动所述Gprc服务的子进程对应的套接字文件;
所述主进程基于多个所述套接字文件对所述成功启动Gprc服务的子进程的状态进行监控。
具体的,对于管理每类资源的子进程的设备插件实现方法,可以通过Grpc服务实现,其中每个子进程均需要启动一个grpc服务,并在本地保存一个该进程的套接字文件,例如对于GPU资源,我们可以定义该套接字文件为:/var/lib/kubelet/device-plugins/gpu.sock,基于该文件,组件主进程可以对该子进程的状态进行监控。同时,如图2所示,每个子进程还可以通过Gprc服务实现对资源的分配管理。
在一些实施例中,在步骤S4使所述成功启动Grpc服务的子进程对所述 若干个实际资源进行管理中,进一步包括:
响应于接收到所述Kubernetes中的Kubelet组件为容器申请资源的请求,待申请资源对应的所述子进程通过所述Gprc服务为所述容器分配所述待申请资源。
具体的,当业务层创建一个容器后,需要使用这些资源时,仍然安装原Kuberentes的资源申请方式即可,例如当容器需要GPU资源时,则可以通过Kubernetes中的Kubelet组件为容器申请该GPU资源,然后Kubelet组件则通过调用本发明实施例提出的组件实现为所述容器分配GPU资源。
在一些实施例中,方法还包括:
通过所述主进程记录所述容器与分配的所述待申请资源之间的对应关系;
将所述对应关系生成持久化文件,并将所述持久化文件保存到节点。
具体的,如图4所示,当Kubelet调用本发明实施例提出的组件,申请为容器分配资源时,组件会将该资源与容器对应关系进行记录并持久化到本地文件;图4中,Pod为Kubernetes中的最小单元,每个Pod包括一个或多个容器,通过记录资源与Pod对应关系可以实现该资源与Pod中的容器的对应关系的记录。
在一些实施例中,在步骤S1初始化组件以启动主进程中,进一步包括:
加载所述持久化文件以获取所述节点的资源和容器的对应关系。
如图2所示,当通过检测Kubernetes的状态后,需要对Kubelet组件进行重启,此时也需要重启主进程,也即初始化本发明实施例提出的组件,则组件初始化并启动主进程时,会首先加载该本地文件,用于恢复该节点的资源和容器对应关系。这样,通过查询主机节点的资源和容器对应关系,完成节点资源使用情况的汇总,能够比较方便节点运维,以及排查集群使用期间的资源使用问题。
在一些实施例中,方法还包括:
为所述主进程启动Gprc服务;
通过所述主进程的Gprc服务查询所述节点的资源使用信息。
具体的,组件的主进程启动Grpc服务后,可以使得第三方查询该节点 的资源使用情况,例如可以获取GPU资源被哪些容器使用,IB卡被哪些容器使用、FPGA被哪些容器使用等信息。
本发明提出的方案能够对AI场景下基于Kubernetes管理AI训练需要的多类资源时,通过自研新的资源注册管理机制,能够让多类资源,只使用一个自研组件,就可以完成多类资源的注册和分配,基于该机制,可以有效降低AI集群下的***组件数量,在不影响Kubernetes管理多类资源的情况下,将多个组件合并为一个组件,从而降低***组件的资源占用率,将更多的资源释放给AI训练任务使用。同时基于该组件,可以自动发现该节点存在哪类资源,并提供节点资源使用情况的查询接口。因此本发明提出的方案具有很好的扩展性,可以在不增加***组件数量的情况下,可以支持更多类型的资源注册到Kubernetes,不会增加额外的资源消耗,也不会提高***的运维复杂度。
基于同一发明构思,根据本发明的另一个方面,如图5所示,本发明的实施例还提供了一种计算机设备501,包括:
至少一个处理器520;以及
存储器510,存储器510存储有可在处理器上运行的计算机程序511,处理器520执行程序时执行如上的任一种Kubernetes中节点的资源管理方法的步骤。
基于同一发明构思,根据本发明的另一个方面,如图6所示,本发明的实施例还提供了一种计算机可读存储介质601,计算机可读存储介质601存储有计算机程序指令610,计算机程序指令610被处理器执行时执行如上的任一种Kubernetes中节点的资源管理方法的步骤。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
此外,典型地,本发明实施例公开的装置、设备等可为各种电子终端 设备,例如手机、个人数字助理(PDA)、平板电脑(PAD)、智能电视等,也可以是大型终端设备,如服务器等,因此本发明实施例公开的保护范围不应限定为某种特定类型的装置、设备。本发明实施例公开的客户端可以是以电子硬件、计算机软件或两者的组合形式应用于上述任意一种电子终端设备中。
此外,根据本发明实施例公开的方法还可以被实现为由CPU执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被CPU执行时,执行本发明实施例公开的方法中限定的上述功能。
此外,上述方法步骤以及***单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储介质实现。
此外,应该明白的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM可以以多种形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR SDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、以及直接Rambus RAM(DRRAM)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个***的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范 围。
结合这里的公开所描述的各种示例性逻辑块、模块和电路可以利用被设计成用于执行这里功能的下列部件来实现或执行:通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。通用处理器可以是微处理器,但是可替换地,处理器可以是任何传统处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP和/或任何其它这种配置。
结合这里的公开所描述的方法或算法的步骤可以直接包含在硬件中、由处理器执行的软件模块中或这两者的组合中。软件模块可以驻留在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域已知的任何其它形式的存储介质中。示例性的存储介质被耦合到处理器,使得处理器能够从该存储介质中读取信息或向该存储介质写入信息。在一个替换方案中,存储介质可以与处理器集成在一起。处理器和存储介质可以驻留在ASIC中。ASIC可以驻留在用户终端中。在一个替换方案中,处理器和存储介质可以作为分立组件驻留在用户终端中。
在一个或多个示例性设计中,功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则可以将功能作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质来传送。计算机可读介质包括计算机存储介质和通信介质,该通信介质包括有助于将计算机程序从一个位置传送到另一个位置的任何介质。存储介质可以是能够被通用或专用计算机访问的任何可用介质。作为例子而非限制性的,该计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储设备、磁盘存储设备或其它磁性存储设备,或者是可以用于携带或存储形式为指令或数据结构的所需程序代码并且能够被通用或专用计算机或者通用或专用处理器访问的任何其它介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线路 (DSL)或诸如红外线、无线电和微波的无线技术来从网站、服务器或其它远程源发送软件,则上述同轴线缆、光纤线缆、双绞线、DSL或诸如红外线、无线电和微波的无线技术均包括在介质的定义。如这里所使用的,磁盘和光盘包括压缩盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘、蓝光盘,其中磁盘通常磁性地再现数据,而光盘利用激光光学地再现数据。上述内容的组合也应当包括在计算机可读介质的范围内。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

Claims (10)

  1. 一种Kubernetes中节点的资源管理方法,其特征在于,包括以下步骤:
    初始化组件以启动主进程;
    通过所述主进程定义用于分别管理多种资源的多个子进程;
    响应于所述主进程检测到所述多种资源中存在于节点的若干个实际资源,启动每一个所述实际资源对应的子进程,并为每一个启动的所述子进程启动Grpc服务;
    利用所述主进程将成功启动Grpc服务的所述子进程对应的资源注册到Kubernetes中,以使所述成功启动Grpc服务的子进程对所述若干个实际资源进行管理。
  2. 如权利要求1所述的方法,其特征在于,通过所述主进程定义用于分别管理多种资源的多个子进程,进一步包括:
    通过所述主进程为所述多个子进程分别定义资源名称以及预设的资源处理接口的属性。
  3. 如权利要求1所述的方法,其特征在于,使所述成功启动Grpc服务的子进程对所述若干个实际资源进行管理,进一步包括:
    响应于接收到所述Kubernetes中的Kubelet组件为容器申请资源的请求,待申请资源对应的所述子进程通过所述Gprc服务为所述容器分配所述待申请资源。
  4. 如权利要求3所述的方法,其特征在于,还包括:
    通过所述主进程记录所述容器与分配的所述待申请资源之间的对应关系;
    将所述对应关系生成持久化文件,并将所述持久化文件保存到节点。
  5. 如权利要求4所述的方法,其特征在于,初始化组件以启动主进程,进一步包括:
    加载所述持久化文件以获取所述节点的资源和容器的对应关系。
  6. 如权利要求4或5所述的方法,其特征在于,还包括:
    为所述主进程启动Gprc服务;
    通过所述主进程的Gprc服务查询所述节点的资源使用信息。
  7. 如权利要求1所述的方法,其特征在于,还包括:
    对未启动的子进程对应的资源在所述节点中进行周期检测。
  8. 如权利要求1所述的方法,其特征在于,为每一个启动的所述子进程启动Grpc服务,进一步包括:
    在所述节点本地保存与成功启动所述Gprc服务的子进程对应的套接字文件;
    所述主进程基于多个所述套接字文件对所述成功启动Gprc服务的子进程的状态进行监控。
  9. 一种计算机设备,包括:
    至少一个处理器;以及
    存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如权利要求1-8任意一项所述的方法的步骤。
  10. 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行如权利要求1-8任意一项所述的方法的步骤。
PCT/CN2020/123800 2020-02-24 2020-10-27 一种Kubernetes中节点的资源管理方法、设备以及介质 WO2021169342A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/801,897 US11915067B2 (en) 2020-02-24 2020-10-27 Resource management method for node in kubernetes, device, and medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010112361.0 2020-02-24
CN202010112361.0A CN111367659B (zh) 2020-02-24 2020-02-24 一种Kubernetes中节点的资源管理方法、设备以及介质

Publications (1)

Publication Number Publication Date
WO2021169342A1 true WO2021169342A1 (zh) 2021-09-02

Family

ID=71210095

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/123800 WO2021169342A1 (zh) 2020-02-24 2020-10-27 一种Kubernetes中节点的资源管理方法、设备以及介质

Country Status (3)

Country Link
US (1) US11915067B2 (zh)
CN (1) CN111367659B (zh)
WO (1) WO2021169342A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113722050A (zh) * 2021-11-02 2021-11-30 阿里云计算有限公司 应用诊断辅助方法、计算设备及机器可读存储介质
CN115361283A (zh) * 2022-10-20 2022-11-18 深圳依时货拉拉科技有限公司 基于k8s的云主机管理方法、装置、计算机设备

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111367659B (zh) * 2020-02-24 2022-07-12 苏州浪潮智能科技有限公司 一种Kubernetes中节点的资源管理方法、设备以及介质
CN114465896A (zh) * 2022-03-30 2022-05-10 深信服科技股份有限公司 一种配置信息处理方法、装置、设备及可读存储介质
CN115174654B (zh) * 2022-07-14 2023-05-23 山东省计算中心(国家超级计算济南中心) 一种基于FPGA和InfiniBand网络的异地通信方法及***
CN115965517B (zh) * 2023-01-09 2023-10-20 摩尔线程智能科技(北京)有限责任公司 图形处理器资源管理方法及装置、电子设备和存储介质
CN115964353B (zh) * 2023-03-10 2023-08-22 阿里巴巴(中国)有限公司 一种分布式文件***及其访问计量方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106027643A (zh) * 2016-05-18 2016-10-12 无锡华云数据技术服务有限公司 一种基于Kubernetes容器集群管理***的资源调度方法
CN106776005A (zh) * 2016-11-23 2017-05-31 华中科技大学 一种面向容器化应用的资源管理***及方法
CN110515704A (zh) * 2019-08-30 2019-11-29 广东浪潮大数据研究有限公司 基于Kubernetes***的资源调度方法及装置
US20200012526A1 (en) * 2017-02-03 2020-01-09 Microsoft Technology Licensing, Llc Method for deploying virtual machines in cloud computing systems based on predicted lifetime
CN110780998A (zh) * 2019-09-29 2020-02-11 武汉大学 基于Kubernetes的动态负载均衡资源调度方法
CN111367659A (zh) * 2020-02-24 2020-07-03 苏州浪潮智能科技有限公司 一种Kubernetes中节点的资源管理方法、设备以及介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7137040B2 (en) * 2003-02-12 2006-11-14 International Business Machines Corporation Scalable method of continuous monitoring the remotely accessible resources against the node failures for very large clusters
CN103744643B (zh) * 2014-01-10 2016-09-21 浪潮(北京)电子信息产业有限公司 一种多线程程序下多节点并行架构的方法及装置
US10791063B1 (en) * 2015-04-06 2020-09-29 EMC IP Holding Company LLC Scalable edge computing using devices with limited resources
EP3593496B1 (en) * 2017-04-19 2022-05-04 Huawei Technologies Co., Ltd. System and method for low latency node local scheduling in distributed resource management
WO2019068031A1 (en) * 2017-09-30 2019-04-04 Oracle International Corporation DYNAMIC MIGRATION OF CONTAINER GROUPS
EP3824473A1 (en) * 2018-07-18 2021-05-26 NVIDIA Corporation Virtualized computing platform for inferencing, advanced processing, and machine learning applications
US10846155B2 (en) * 2018-10-16 2020-11-24 Samsung Electronics Co., Ltd. Method for NVMe SSD based storage service using RPC and gRPC tunneling over PCIe +
US11102281B2 (en) * 2019-02-15 2021-08-24 International Business Machines Corporation Tool for managing and allocating resources in a clustered computing environment
US11269728B2 (en) * 2019-03-20 2022-03-08 International Business Machines Corporation Scalable multi-framework multi-tenant lifecycle management of deep learning applications
US11030009B2 (en) * 2019-03-28 2021-06-08 Atlassian Pty Ltd. Systems and methods for automatically scaling compute resources based on demand
US11216309B2 (en) * 2019-06-18 2022-01-04 Juniper Networks, Inc. Using multidimensional metadata tag sets to determine resource allocation in a distributed computing environment
CN110445669A (zh) * 2019-06-26 2019-11-12 苏州浪潮智能科技有限公司 一种基于协程的服务器的监控方法、设备及可读介质
WO2021196080A1 (en) * 2020-04-01 2021-10-07 Vmware Information Technology (China) Co., Ltd. Auto deploying network elements for heterogeneous compute elements
US11487555B2 (en) * 2020-06-09 2022-11-01 Tencent America LLC Running PBS jobs in kubernetes

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106027643A (zh) * 2016-05-18 2016-10-12 无锡华云数据技术服务有限公司 一种基于Kubernetes容器集群管理***的资源调度方法
CN106776005A (zh) * 2016-11-23 2017-05-31 华中科技大学 一种面向容器化应用的资源管理***及方法
US20200012526A1 (en) * 2017-02-03 2020-01-09 Microsoft Technology Licensing, Llc Method for deploying virtual machines in cloud computing systems based on predicted lifetime
CN110515704A (zh) * 2019-08-30 2019-11-29 广东浪潮大数据研究有限公司 基于Kubernetes***的资源调度方法及装置
CN110780998A (zh) * 2019-09-29 2020-02-11 武汉大学 基于Kubernetes的动态负载均衡资源调度方法
CN111367659A (zh) * 2020-02-24 2020-07-03 苏州浪潮智能科技有限公司 一种Kubernetes中节点的资源管理方法、设备以及介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113722050A (zh) * 2021-11-02 2021-11-30 阿里云计算有限公司 应用诊断辅助方法、计算设备及机器可读存储介质
CN115361283A (zh) * 2022-10-20 2022-11-18 深圳依时货拉拉科技有限公司 基于k8s的云主机管理方法、装置、计算机设备
CN115361283B (zh) * 2022-10-20 2023-03-24 深圳依时货拉拉科技有限公司 基于k8s的云主机管理方法、装置、计算机设备

Also Published As

Publication number Publication date
CN111367659B (zh) 2022-07-12
CN111367659A (zh) 2020-07-03
US11915067B2 (en) 2024-02-27
US20230084772A1 (en) 2023-03-16

Similar Documents

Publication Publication Date Title
WO2021169342A1 (zh) 一种Kubernetes中节点的资源管理方法、设备以及介质
US11467755B2 (en) Method and system for enabling agentless backup and restore operations on a container orchestration platform
WO2019179026A1 (zh) 电子装置、集群访问域名自动生成方法及存储介质
US10684791B2 (en) System and method for environment aware backup and restoration
US20150106822A1 (en) Method and system for supporting resource isolation in multi-core architecture
WO2021196597A1 (zh) 业务插件加载实现方法、装置和终端设备
US20190332443A1 (en) Method and system for allocating and migrating workloads across an information technology environment based on persistent memory availability
US9910881B1 (en) Maintaining versions of control plane data for a network-based service control plane
US20210216523A1 (en) Data Storage Method, Metadata Server, and Client
US11330078B1 (en) Method and system for managing updates of a data manager
WO2021139431A1 (zh) 微服务的数据同步方法、装置、电子设备及存储介质
WO2023016414A1 (zh) 凭据的轮转方法、计算设备及存储介质
US11977559B2 (en) Providing instant and distributed access to a source blob via copy-on-read blobs and link blobs
WO2017157111A1 (zh) 防止内存数据丢失的的方法、装置和***
US20070174836A1 (en) System for controlling computer and method therefor
CN109032753A (zh) 一种异构虚拟机硬盘托管方法、***、存储介质及Nova平台
CN117170820A (zh) 集群节点的配置共享方法、***、终端及存储介质
WO2023155591A1 (zh) 进度信息管控方法、微服务装置、电子设备及存储介质
CN111831393A (zh) 一种管理虚拟机的方法、一种服务器和存储介质
US20230114321A1 (en) Cloud Data Ingestion System
US11775393B2 (en) Method and system for mapping data protection services to data cluster components
CN111562968B (zh) 一种实现ICS对Kata container管理的方法、装置、设备和介质
CN112015515B (zh) 一种虚拟网络功能的实例化方法及装置
US10911307B2 (en) System and method for out of the box solution-level configuration and diagnostic logging and reporting
US11599352B2 (en) Method of creating an intelligent upgrade flow for a heterogeneous data center

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20922183

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20922183

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 20922183

Country of ref document: EP

Kind code of ref document: A1