CN112437129B - 集群的管理方法及集群的管理装置 - Google Patents

集群的管理方法及集群的管理装置 Download PDF

Info

Publication number
CN112437129B
CN112437129B CN202011249402.7A CN202011249402A CN112437129B CN 112437129 B CN112437129 B CN 112437129B CN 202011249402 A CN202011249402 A CN 202011249402A CN 112437129 B CN112437129 B CN 112437129B
Authority
CN
China
Prior art keywords
cluster
actual
target
task
virtual node
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.)
Active
Application number
CN202011249402.7A
Other languages
English (en)
Other versions
CN112437129A (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.)
Guangzhou Huya Technology Co Ltd
Original Assignee
Guangzhou Huya 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 Guangzhou Huya Technology Co Ltd filed Critical Guangzhou Huya Technology Co Ltd
Priority to CN202011249402.7A priority Critical patent/CN112437129B/zh
Publication of CN112437129A publication Critical patent/CN112437129A/zh
Application granted granted Critical
Publication of CN112437129B publication Critical patent/CN112437129B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了集群的管理方法及集群的管理装置,其中,集群的管理方法包括:获取到任务的创建指令,其中,创建指令包括任务的创建需求;基于创建需求在集群的虚拟集群中选择与创建需求匹配的目标虚拟节点,并通过目标虚拟节点创建任务;从实际集群选择与目标虚拟节点对应且满足创建需求的目标实际集群,以通过目标实际集群运行任务。上述方案,能够能均衡各实际集群之间的资源使用,提高各实际集群的资源有效利用率。

Description

集群的管理方法及集群的管理装置
技术领域
本申请涉及虚拟集群技术领域,特别是涉及集群的管理方法及集群的管理装置。
背景技术
随着互联网业务的迅猛发展,越来越多的企业采用集群的方式构建容器管理平台。而在混合云场景下,容器平台往往会管理多个集群,横跨自建机房和多个云厂商之间。其中,每个集群隶属于各自的控制面,彼此之间相互独立,同时受到云厂商的限制,不同集群之间资源无法共享。
且,由于多个集群之间的控制面相互独立,资源无法共享,导致不同集群之间的资源存在倾斜,部分集群资源紧张,部分集群又很空闲,如何平衡多个集群之间的资源使用也会带来额外的管理成本,依赖上层的多集群管理和均衡。
因此,如何解决多集群服务的资源统一均衡分配,实现多集群资源整体的最大化利用是该领域信息系统亟待解决的技术问题。
发明内容
本申请主要解决的技术问题是提供集群的管理方法及集群的管理装置,实现多集群服务的资源统一均衡分配。
为了解决上述问题,本申请第一方面提供了一种集群的管理方法,方法包括:获取到任务的创建指令,其中,创建指令包括任务的创建需求;基于创建需求在集群的虚拟集群中选择与创建需求匹配的目标虚拟节点,并通过目标虚拟节点创建任务;从实际集群选择与目标虚拟节点对应且满足创建需求的目标实际集群,以通过目标实际集群运行任务。
其中,基于创建需求在集群的虚拟集群中选择与创建需求匹配的目标虚拟节点,并通过目标虚拟节点创建任务,包括:通过虚拟集群的实际节点监听到创建指令;通过实际节点基于创建指令的创建需求选择与创建需求匹配的目标虚拟节点,并通过实际节点在目标虚拟节点上创建任务。
其中,从实际集群选择与目标虚拟节点对应且满足创建需求的目标实际集群,以通过目标实际集群运行任务,包括:调用集群的代理组件从实际集群中选择与目标虚拟节点对应且满足创建需求的目标实际集群,以通过目标实际集群运行任务。
其中,通过实际节点基于创建指令的创建需求选择与创建需求匹配的目标虚拟节点,并通过实际节点在目标虚拟节点上创建任务,包括:通过实际节点选择与创建需求匹配的虚拟节点管理组件;其中,虚拟节点管理组件运行于实际节点;将虚拟节点管理组件对应的虚拟节点确定为目标虚拟节点;通过虚拟节点管理组件在目标虚拟节点上创建任务。
其中,调用集群的代理组件从实际集群选择与目标虚拟节点对应且满足创建需求的目标实际集群,以通过目标实际集群运行任务,包括:通过虚拟节点管理组件将创建需求发送至代理组件;调用代理组件从实际集群选择与目标虚拟节点对应且满足创建需求的目标实际集群,以通过目标实际集群运行任务。
其中,获取到任务的创建指令,其中,创建指令包括任务的创建需求之前,还包括:在虚拟集群的实际节点中启动多个虚拟节点管理组件;通过多个虚拟节点管理组件在虚拟集群中创建多个虚拟节点。
其中,从实际集群选择与目标虚拟节点对应且满足创建需求的目标实际集群,以通过目标实际集群运行任务之后,还包括:通过代理组件监听任务的运行状态;按照预设频率调用目标虚拟节点对应的虚拟节点管理组件获取运行状态;通过虚拟节点管理组件将运行状态同步到目标虚拟节点的任务状态中。
其中,调用集群的代理组件从实际集群选择与目标虚拟节点对应且满足创建需求的目标实际集群,以通过目标实际集群运行任务,包括:调用集群的代理组件将任务转换为目标实际集群的对应的编排方式;通过目标实际集群运行任务。
其中,从实际集群选择与目标虚拟节点对应且满足创建需求的目标实际集群,以通过目标实际集群运行任务,包括:从实际集群选择与目标虚拟节点对应且满足创建需求的多个实际集群;从多个实际集群中选择与创建需求匹配度最高的实际集群,并确定为目标实际集群。
其中,集群的管理方法还包括:获取到任务的删除指令;将删除指令传输至代理组件;通过集群的代理组件将删除指令传输至目标实际集群;删除目标实际集群中的任务。
为了解决上述问题,本申请第二方面提供了一种集群的管理装置,包括:虚拟集群,虚拟集群包括虚拟集群控制面以及多个实际节点,虚拟集群控制面分别与多个实际节点网络连接;其中,虚拟集群控制面用于获取到任务的创建指令,多个实际节点用于基于创建需求在虚拟集群中选择与创建需求匹配的目标虚拟节点,并通过目标虚拟节点创建任务;代理组件,与多个实际节点网络连接,用于从实际集群选择与目标虚拟节点对应且满足创建需求的目标实际集群;多个实际集群,分别与代理组件网络连接,用于运行任务。
本申请的有益效果是:区别于现有技术的情况,本申请的集群的管理方法通过先获取用户包含有创建需求的创建指令,再先基于创建指令在虚拟集群中选择与创建需求匹配的目标虚拟节点,并通过目标虚拟节点创建任务,最后从实际集群选择与目标虚拟节点对应且满足创建需求的目标实际集群,以通过目标实际集群运行任务。本实施例能够基于用户的创建需求均衡各实际集群之间的资源使用,提高各实际集群的资源有效利用率,从而减少了实际集群的实体扩容需求,减少扩容成本。
附图说明
图1是本申请集群的管理方法一实施例的流程示意图;
图2是本申请集群的管理方法另一实施例的流程示意图;
图3是图2实施例集群一实施例的结构示意图;
图4是本实施例任务的删除方法的一实施例的流程示意图;
图5是本申请集群的管理装置一实施例的结构示意图。
具体实施方式
下面结合说明书附图,对本申请实施例的方案进行详细说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。
本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
请参阅图1,图1是本申请集群的管理方法一实施例的流程示意图。具体而言,可以包括如下步骤:
步骤S11:获取到任务的创建指令,其中,创建指令包括任务的创建需求。
集群就是指将多个服务器集中起来一起进行同一种服务的服务器运行方式。集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个计算机损坏后,整个集群系统依然能正常运行。在本实施例中,集群包括虚拟集群和多个实际集群,实际集群用于实际运行任务,以满足用户的创建需求;虚拟集群用于面向用户,接收用户的创建需求。
在本步骤中,获取到任务的创建指令。其中,创建指令由用户向集群发出,用户在发出创建指令时,创建指令包括任务的创建需求。在一个具体的应用场景中,创建需求可以包括运行任务的区域要求、运行任务的服务器要求或运行任务的内存要求等,在此不做限定。
本实施例的任务既可以是进程,也可以是线程。进程是表示资源分配的基本单位,又是调度运行的基本单位。线程则是某一进程中一路单独运行的程序。也就是说,线程存在于进程之中。一个进程由一个或多个线程构成,各线程共享相同的代码和全局数据,但各有其自己的堆栈。
步骤S12:基于创建需求在集群的虚拟集群中选择与创建需求匹配的目标虚拟节点,并通过目标虚拟节点创建任务。
基于用户发布的创建需求在集群的虚拟集群中选择与创建需求匹配的目标虚拟节点,并通过目标虚拟节点创建任务。其中,虚拟集群可以由少量实际节点和大量虚拟节点组成。在一个具体的应用场景中,虚拟集群中的虚拟节点可以在接收到用户发送的创建指令之前提前进行创建,以实现虚拟集群的提前扩容,也可以在接收到用户发送的创建指令之后,基于创建指令的创建需求进行创建。其中,在虚拟节点的创建过程中,会设置虚拟节点的相关信息,例如:虚拟节点对应的区域信息或服务器信息等,在此不做限定。
在本步骤中,可以基于公平(保证每个虚拟节点都能被分配资源)、资源利用率高(集群所有资源最大化被使用)、效率(尽快的对大批量的任务分别完成选择目标虚拟节点)以及灵活(允许用户根据自己的需求选择目标虚拟节点)等标准进行目标虚拟节点的选取。
在一个具体的应用场景中,目标虚拟节点的选取过程可以首先过滤掉不满足创建需求的虚拟节点,然后对满足创建的虚拟节点按照优先级排序,最后从中选择优先级最高的虚拟节点,并将其作为目标虚拟节点。
步骤S13:从实际集群选择与目标虚拟节点对应且满足创建需求的目标实际集群,以通过目标实际集群运行任务。
在选定了任务的目标虚拟节点后,从多个实际集群中选择与目标虚拟节点对应,且满足创建指令的创建需求的目标实际集群,以在目标实际集群运行该任务。其中,实际集群是指通过实体服务器构建起来的集群,实际集群中的节点只有实际节点,以通过实际节点运行任务进程或线程。
由于虚拟集群中的虚拟节点在创建时,设置有虚拟节点的相关信息,则在选取实际集群时,可以基于目标虚拟节点的相关信息和创建需求对多个实际集群进行挑选,从而选择与目标虚拟节点对应,且满足创建指令的创建需求的目标实际集群。
在一个具体的应用场景中时,若在选择虚拟节点的过程中,基于用户希望在广州的区域范围内运行任务时,会选取带有广州区域信息的目标虚拟节点。则在选择实际集群时,可以基于与目标虚拟节点对应的广州区域,对多个实际集群进行过滤,从而在设置于广州区域的实际集群中,再基于用户其他具体的创建需求选择最终的目标实际集群,从而在目标实际集群上运行任务。
其中,本实施例中任务实际运行在目标实际集群中,而目标虚拟节点中的创建任务与目标实际集群中实际运行任务对应,其并不在目标虚拟节点中运行。
通过上述方法,本实施例的集群的管理方法通过先获取用户包含有创建需求的创建指令,再先基于创建指令在虚拟集群中选择与创建需求匹配的目标虚拟节点,并通过目标虚拟节点创建任务,最后从实际集群选择与目标虚拟节点对应且满足创建需求的目标实际集群,以通过目标实际集群运行任务。本实施例能够基于用户的创建需求均衡各实际集群之间的资源使用,提高各实际集群的资源有效利用率,从而减少了实际集群的实体扩容需求,减少扩容成本,并协调各实际集群之间的资源利用,从而使整个集群获得快速的节点弹性能力,以应对突发的扩容需求。
请参阅图2-3,图2是本申请集群的管理方法另一实施例的流程示意图。图3是图2实施例集群一实施例的结构示意图。
本实施例的集群10包括虚拟集群A、代理组件C以及实际集群B。其中,虚拟集群A包括控制面a1、实际节点a2和虚拟节点-1和虚拟节点-2。实际集群B包括第一实际集群B1和第二实际集群B2,而第一实际集群B1中包括控制面B11和实际节点B12。第二实际集群B2中包括控制面B21和实际节点B22。(其中,本实施例中所展示的实际集群、实际节点、虚拟节点等的数量并不受附图限制,图中所展示仅为距离示意,具体的,虚拟集群中实际节点的数量、虚拟节点管理组件的数量、虚拟节点的数量、实际集群的数量、各实际集群中实际节点的数量在此不做限定)。
在一个具体的应用场景中,集群10可以采用基于virtual-kubelet的kubernetes的应用方式进行构建。其中,kubernetes是谷歌开源的容器集群管理系统,提供应用部署、维护、扩展机制等功能,利用kubernetes能方便管理跨集群运行容器化的应用。Virtual-kubelet是kubenetes社区的一个开源项目,它定义了一系列kubelet和apiserver交互的接口,把这些接口全部实现就能模拟kubelet和apiserver进行交互,实现kubernetes节点的能力。虚拟kubernetes集群能均衡各集群之间的资源使用,可以在自建机房之间以及自建机房到云上集群的统一使用资源,突破单一集群的限制。
其中,虚拟集群A的控制面a1是对外提供服务的虚拟集群A的控制面,呈现为一个近乎无限资源的大集群,集群10包括少量实际节点a2和虚拟节点-1、虚拟节点-2...,实际节点a2用于运行虚拟节点管理组件-1、虚拟节点管理组件-2...,各虚拟节点管理着用户创建的工作负载容器,而工作负载容器的实际载体在是通过对应的虚拟节点管理组件运行在实际集群B上。
虚拟节点管理组件是基于virtual-kubelet实现的管理组件,模拟kubelet的能力向虚拟集群A的控制面a1注册为虚拟节点,实现了完整的容器生命周期管理和节点生命周期管理,将虚拟集群A中的容器创建传递给代理组件C,并周期性同步实际集群B的实际容器状态,保证虚拟集群A容器和实际集群容器B的状态一致。
代理组件C作为集群10的资源代理层,面向虚拟节点管理组件实现容器生命周期管理的接口,将虚拟节点管理组件的容器管理请求转换成对实际集群B的容器管理请求,保持实际集群B容器和虚拟集群A容器的状态一致,同时屏蔽实际集群B在kubernetes版本、机器异构分布、自建机房和云厂商等差异,对虚拟集群A呈现统一的资源池。
步骤S21:在虚拟集群的实际节点中启动多个虚拟节点管理组件,通过多个虚拟节点管理组件在虚拟集群中创建多个虚拟节点。
在用户发布任务的创建指令前。集群可以预先在虚拟集群的实际节点中启动多个虚拟节点管理组件,多个虚拟节点管理组件启动后将自己注册到虚拟集群的控制面中,从而对应创建多个虚拟节点。多个虚拟节点被预先创建出来以随时应对用户的创建需求,减少集群的响应时间,提高集群的创建效率。其中,虚拟节点的创建和删除几乎零成本,且虚拟节点的创建和删除所花费的时间仅在秒级,提前创建多个虚拟节点基本不会带来资源浪费,因为复用实际集群的资源池,不会额外带来低载空载的实际节点,当某个实际集群资源不足时,可以选择均衡到其他实际集群或者对实际集群进行扩容,从而带来更低的资源碎片和浪费,并能在一定程度上提高集群的创建效率。虚拟集群可以创建源源不断的虚拟节点,而实际的资源由多个实际集群提供,从而可以在多个实际集群间均衡资源,达到实际集群资源的最大利用率。
在其他实施例中,本步骤也可以在获取到用户的创建指令之后进行,以针对用户的创建需求,对应创建相关的虚拟节点,在此不做限定。本实施例通过虚拟节点的扩容设置对用户提供了近乎无限资源的虚拟集群,拓宽了用户的创建需求上限。
其中,在创建虚拟节点时,可以设置虚拟节点的相关信息,例如:预先创建100个广州的虚拟节点时,可以对这100个虚拟节点设置广州相关的区域信息。
在一个具体的应用场景中,可以在虚拟集群A的实际节点a2的Pod中启动虚拟节点管理组件-1和虚拟节点管理组件-2。虚拟节点管理组件-1和虚拟节点管理组件-2在启动后,将自己注册到虚拟集群A的控制面a1中,从而在虚拟集群A中对应创建虚拟节点-1和虚拟节点-2。其中,实际节点中的Pod是实际节点中能够创建或部署的最小/最简单的基本单位。而一个Pod代表集群上正在运行的一个进程。一个Pod封装一个应用容器(也可以有多个容器),存储资源、一个独立的网络IP以及管理控制容器运行方式的策略选项。本申请中所需创建或运行的任务也可以以Pod为单位进行创建或运行。在一个具体的应用场景中,任务也可以以Pod进程的形式进行创建或运行。
步骤S22:获取到任务的创建指令,其中,创建指令包括任务的创建需求。
获取到任务的创建指令。其中,创建指令由用户向集群发出,用户在发出创建指令时,创建指令包括任务的创建需求。在一个具体的应用场景中,创建需求可以包括运行任务的区域要求、运行任务的服务器要求或运行任务的内存要求等任务相关的实质需求条件,在此不做限定。
步骤S23:通过虚拟集群的实际节点监听到创建指令,通过实际节点选择与创建需求匹配的虚拟节点管理组件,其中,虚拟节点管理组件运行于实际节点,将虚拟节点管理组件对应的虚拟节点确定为目标虚拟节点,通过虚拟节点管理组件在目标虚拟节点上创建任务。
通过虚拟集群中的实际节点上的虚拟节点管理组件对虚拟集群的控制面进行实时监听,当监听到控制面中用户向集群发布的创建指令后,虚拟节点管理组件基于虚拟节点的相关信息选择与创建指令的创建需求匹配的虚拟节点。虚拟节点对应的虚拟节点管理组件监听到虚拟节点的选取结果后将虚拟节点管理组件对应的虚拟节点确定为目标虚拟节点,并在目标虚拟节点上创建任务。其中,任务被创建在目标虚拟节点上后,并不在目标虚拟节点上实际运行,任务需要在实际集群中进行运行。
在一个具体的应用场景中,通过虚拟集群A中的实际节点a2上的虚拟节点管理组件-1、虚拟节点管理组件-2...对虚拟集群的控制面a1进行实时监听,当监听到控制面a1中用户向集群10发布的创建指令,获取到用户需要创建任务1、任务2以及任务3的创建指令后,虚拟节点管理组件-1、虚拟节点管理组件-2...基于虚拟节点-1、虚拟节点-2...的相关信息和任务1、任务2以及任务3的创建需求选择到与创建指令的创建需求匹配的虚拟节点-1、虚拟节点-2,虚拟节点-1和虚拟节点-2对应的虚拟节点管理组件-1和虚拟节点管理组件-2监听到虚拟节点-1和虚拟节点-2的选取结果后将虚拟节点-1和虚拟节点-2确定为目标虚拟节点,并在虚拟节点-1和虚拟节点-2上创建任务。具体地,基于创建指令的创建需求在虚拟节点-1上创建任务1,在虚拟节点-2上创建任务2和创建任务3。也就是基于正常的kubernetes调度流程,将任务1调度到虚拟节点-1上,将任务2以及任务3调度到虚拟节点-2上。
其中每个虚拟节点上可以创建多个任务,多个任务由响应多次创建指令创建,本实施例的任务1、任务2以及任务3只针对步骤S21中获得的单次创建指令进行创建。
步骤S24:通过虚拟节点管理组件将创建需求发送至代理组件,调用代理组件从实际集群选择与目标虚拟节点对应且满足创建需求的目标实际集群,以通过目标实际集群运行任务。
目标虚拟节点对应的虚拟节点管理组件会调用代理组件的接口将任务的编排传输至代理组件,从而调用代理组件从多个实际集群中选择与目标虚拟节点对应且满足创建需求的目标实际集群,以通过目标实际集群运行任务。其中,确定了目标实际集群后,调用集群的代理组件将任务转换为目标实际集群的对应的编排方式,再通过目标实际集群运行任务,以无需在面向用户的虚拟集群中改变集群的原始编排方式,从而对用户屏蔽集群编排方式,并不带来额外的迁移成本的效果。
在一个具体的应用场景中,当目标虚拟节点设置的相关信息中有广州的区域信息时,则位于广州的实际集群则与目标虚拟节点对应。目标虚拟节点设置的相关信息可以包括区域信息、服务器型号信息、服务器内存信息等,在此不做限定。
其中,选取目标实际集群的过程,具体为,先从实际集群选择与目标虚拟节点对应且满足创建需求的实际集群,当与目标虚拟节点对应且满足创建需求的实际集群有多个时,从多个实际集群中选择与创建需求匹配度最高的实际集群,并确定为任务的目标实际集群。在一个具体的应用场景中,当与目标虚拟节点对应且满足创建需求的实际集群有多个时,可以将多个实际集群的资源与创建需求之间差值最小的实际集群作为目标实际集群。在一个具体的应用场景中,当与目标虚拟节点对应且满足创建需求的实际集群有10个时,而任务的创建需求包括任务内存需求为100M(兆),则可以进一步选取与剩余内存资源与100M之间的差值最小的某个实际集群作为目标实际集群。
在一个具体的应用场景中,通过虚拟节点管理组件-1将任务1的创建需求发送至代理组件C,通过虚拟节点管理组件-2将任务2、任务3的创建需求发送至代理组件C。并调用代理组件C从各实际集群B中分别选择与虚拟节点-1和虚拟节点-2对应且满足各任务的创建需求的目标实际集群。在本实施场景中,第一实际集群B1与虚拟节点-1对应且满足任务1的创建需求,则将第一实际集群B1作为任务1的目标实际集群。第二实际集群B2与虚拟节点-2对应且满足任务2、任务3的创建需求,则将第二实际集群B2作为任务2、任务3的目标实际集群。第一实际集群B1的控制面B11接收到代理层C运行请求开始在实际节点B12上创建并运行任务1,第二实际集群B2的控制面B21接收到代理层C运行请求开始在实际节点B22上创建并运行任务2、任务3。
目标实际集群创建并运行任务后,通过代理组件监听任务在实际集群中的运行状态,并按照预设频率调用目标虚拟节点对应的虚拟节点管理组件获取运行状态,以通过虚拟节点管理组件将运行状态同步到目标虚拟节点的任务状态中,从而将实际集群中的任务的运行状态通过虚拟节点中创建的任务反馈给用户。其中,预设频率可以基于实际需求进行设置,例如:5秒/次或2分钟/次等,在此不做限定。
在一个具体的应用场景中,第一实际集群B1创建并运行了任务1后,代理组件C通过第一实际集群B1的控制面B11实时监控任务1在实际节点B12中的运行状态,并将任务1的运行状态存储至代理组件C的内存中。虚拟管理组件-1按照预设频率获取到代理组件C中存储的任务1的运行状态,并对应修改虚拟节点-1中的任务1的任务状态,从而向用户反馈第一实际集群B1中任务1的运行状态。
请参阅图4,图4是本实施例任务的删除方法的一实施例的流程示意图。
步骤S31:获取到任务的删除指令。
虚拟集群获取到用户发布的任务的删除指令,其中,删除指令是在获取到用户的创建指令后获取的。
在一个具体的应用场景中,用户向虚拟集群A的控制面a1发布任务的删除指令,虚拟集群A的控制面a1获取到用户发布的删除指令。
步骤S32:将删除指令传输至代理组件。
虚拟集群的实际节点中与任务对应的虚拟节点管理组件监听到虚拟集群的控制面所获取的删除指令后,虚拟节点管理组件将删除指令传输至代理组件。
在一个具体的应用场景中,若用户的删除指令需要删除任务1,则虚拟集群A的实际节点a2中与任务1对应的虚拟节点管理组件-1监听到虚拟集群A的控制面a1所获取的删除指令后,将删除指令传输至代理组件C。
步骤S33:通过集群的代理组件将删除指令传输至目标实际集群。
虚拟节点管理组件将删除指令传输至代理组件后,通过集群的代理组件将删除指令传输至目标实际集群,以通知目标实际集群删除实际节点中的任务。
在一个具体的应用场景中,虚拟节点管理组件-1对应删除虚拟节点-1中的任务1时,还通过集群10的代理组件C将删除指令传输至第一实际集群B1,以通知第一实际集群B1删除实际节点B12中的任务1。
步骤S34:删除目标实际集群中的任务。
目标实际集群中的控制面接收到删除指令后,删除对应实际节点中的任务。而目标实际集群已删除任务的信息也会随着代理组件对目标时机集群的控制面的实时监听和虚拟节点管理组件对代理组件的周期性获取信息,最后通过虚拟节点管理组件删除虚拟节点中的任务,从而完成任务的删除。
在一个具体的应用场景中,第一实际集群B1中的控制面B11接收到删除指令后,删除对应实际节点B12中的任务1。而目标实际集群已删除任务的信息也会随着代理组件C对控制面B11的实时监听和虚拟节点管理组件-1对代理组件C周期性获取信息,最后通过虚拟节点管理组件-1删除虚拟节点-1中的任务1的状态,从而完成任务的删除。
通过上述方式,本实施例的集群的管理方法通过先在虚拟集群的实际节点中启动多个虚拟节点管理组件,通过多个虚拟节点管理组件在虚拟集群中创建多个虚拟节点。从而提前为用户的任务创建提供虚拟节点,提高集群的创建效率。
进而获取到任务的创建指令后,通过虚拟集群的实际节点监听到创建指令,通过实际节点选择与创建需求匹配的虚拟节点管理组件,其中,虚拟节点管理组件运行于实际节点,将虚拟节点管理组件对应的虚拟节点确定为目标虚拟节点,通过虚拟节点管理组件在目标虚拟节点上创建任务。通过虚拟节点管理组件将创建需求发送至代理组件,调用代理组件从实际集群选择与目标虚拟节点对应且满足创建需求的目标实际集群,以通过目标实际集群运行任务。从而通过代理组件和虚拟节点管理组件的设置打破不同集群之间资源相互独立的现状,实现实际集群的资源共享,自动选取适合任务运行的实际集群,提高了各实际集群的利用率,减少了各实际集群资源利用不均的现象发生。整个集群不用再受到单集群节点资源的限制,不再受到跨云厂商和自建机房等硬件条件的限制,打平统一资源的前提下不引入额外的管理成本。
本实施例还通过代理组件的设置向用户屏蔽了底层实际集群的细节,减少用户心智负担,且在达到多集群共享资源和跨集群弹性的能力前提下,不改变集群原生编排的使用方式,不带来额外的迁移成本。并使得用户仅需掌握虚拟集群对应的操作方式,而无需面对多个不同的实际集群中不同的操作方式,进一步减少用户面对不同集群的心智负担。
请参阅图5,图5是本申请集群的管理装置一实施例的结构示意图。集群的管理装置20包括:虚拟集群21、代理组件22以及实际集群23。其中,虚拟集群21包括虚拟集群控制面211以及多个实际节点212。虚拟集群控制面211分别与多个实际节点212网络连接。代理组件22与多个实际节点212网络连接,而多个实际集群23,分别与代理组件22网络连接。
其中,虚拟集群控制面211用于获取到任务的创建指令,多个实际节点212用于基于创建需求在虚拟集群21中选择与创建需求匹配的目标虚拟节点,并通过目标虚拟节点创建任务;代理组件22用于从实际集群23选择与所述目标虚拟节点对应且满足创建需求的目标实际集群,以通过目标实际集群运行任务。而实际集群23则用于运行任务。
在一个具体的应用场景中,集群的管理装置20还可以包括:虚拟集群21、代理组件22以及实际集群23。虚拟集群21包括虚拟集群控制面211和多个实际节点212,其中,各实际节点212中设置有多个Pod,各Pod上分别设置有虚拟节点管理组件2121。各实际节点212通过对应的虚拟节点管理组件2121与虚拟集群控制面211网络连接,同时也通过对应的虚拟节点管理组件2121与代理组件22网络连接。而代理组件22也与多个实际集群23网络连接。各实际集群23包括控制面2311和多个实际集群的实际节点2312。
实际节点212上的虚拟节点管理组件2121可以将自己注册到虚拟集群控制面211中,以形成多个虚拟节点2123。当用户向虚拟集群控制面211发布创建指令时,虚拟集群控制面211接收到创建指令,实际节点212上的虚拟节点管理组件2121通过对虚拟集群控制面211实时监听,获取到创建指令,并基于创建需求在虚拟集群21的多个虚拟节点2123中选择与创建需求匹配的目标虚拟节点,并通过目标虚拟节点创建任务。实际节点212上的虚拟节点管理组件2121还将创建需求发送至代理组件22,以调用代理组件22从实际集群23选择与目标虚拟节点对应且满足创建需求的目标实际集群,以通过目标实际集群上的实际节点2312运行任务。
通过上述结构,本实施例集群的管理装置能够通过虚拟集群、代理组件以及实际集群的结构设置,通过代理组件从实际集群选择与目标虚拟节点对应且满足创建需求的目标实际集群,以通过目标实际集群运行任务。从而通过代理组件和多个实际集群的设置打破不同集群之间资源相互独立的现状,实现实际集群的资源共享,自动选取适合任务运行的实际集群,提高了各实际集群的利用率,减少了各实际集群资源利用不均的现象发生。整个集群不用再受到单集群节点资源的限制,不再受到跨云厂商和自建机房等硬件条件的限制,打平统一资源的前提下不引入额外的管理成本。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (9)

1.一种集群的管理方法,其特征在于,所述集群的管理方法包括:
获取到任务的创建指令,其中,所述创建指令包括所述任务的创建需求;
通过虚拟集群的实际节点监听到所述创建指令;
通过所述实际节点选择与所述创建需求匹配且优先级最高的虚拟节点管理组件;其中,所述虚拟节点管理组件运行于所述实际节点,所述优先级包括资源利用率优先级;
将所述虚拟节点管理组件对应的虚拟节点确定为目标虚拟节点;
通过所述虚拟节点管理组件在所述目标虚拟节点上创建所述任务;从实际集群选择与所述目标虚拟节点对应且满足所述创建需求的目标实际集群,以通过所述目标实际集群运行所述任务。
2.根据权利要求1所述的集群的管理方法,其特征在于,所述从实际集群选择与所述目标虚拟节点对应且满足所述创建需求的目标实际集群,以通过所述目标实际集群运行所述任务,包括:
调用所述集群的代理组件从实际集群中选择与所述目标虚拟节点对应且满足所述创建需求的目标实际集群,以通过所述目标实际集群运行所述任务。
3.根据权利要求2所述的集群的管理方法,其特征在于,所述调用所述集群的代理组件从实际集群选择与所述目标虚拟节点对应且满足所述创建需求的目标实际集群,以通过所述目标实际集群运行所述任务,包括:
通过所述虚拟节点管理组件将所述创建需求发送至所述代理组件;
调用所述代理组件从实际集群选择与所述目标虚拟节点对应且满足所述创建需求的目标实际集群,以通过所述目标实际集群运行所述任务。
4.根据权利要求2所述的集群的管理方法,其特征在于,所述获取到任务的创建指令,其中,所述创建指令包括所述任务的创建需求之前,还包括:
在所述虚拟集群的实际节点中启动多个虚拟节点管理组件;
通过所述多个虚拟节点管理组件在所述虚拟集群中创建多个虚拟节点。
5.根据权利要求2所述的集群的管理方法,其特征在于,所述从实际集群选择与所述目标虚拟节点对应且满足所述创建需求的目标实际集群,以通过所述目标实际集群运行所述任务之后,还包括:
通过所述代理组件监听所述任务的运行状态;
按照预设频率调用所述目标虚拟节点对应的虚拟节点管理组件获取所述运行状态;
通过所述虚拟节点管理组件将所述运行状态同步到所述目标虚拟节点的任务状态中。
6.根据权利要求2~5任一项所述的集群的管理方法,其特征在于,所述调用所述集群的代理组件从实际集群选择与所述目标虚拟节点对应且满足所述创建需求的目标实际集群,以通过所述目标实际集群运行所述任务,包括:
调用所述集群的代理组件将所述任务转换为所述目标实际集群的对应的编排方式;
通过所述目标实际集群运行所述任务。
7.根据权利要求1~5任一项所述的集群的管理方法,其特征在于,所述从实际集群选择与所述目标虚拟节点对应且满足所述创建需求的目标实际集群,以通过所述目标实际集群运行所述任务,包括:
从实际集群选择与所述目标虚拟节点对应且满足所述创建需求的多个实际集群;
从所述多个实际集群中选择与所述创建需求匹配度最高的实际集群,并确定为所述目标实际集群。
8.根据权利要求2~5任一项所述的集群的管理方法,其特征在于,所述集群的管理方法还包括:
获取到所述任务的删除指令;
将所述删除指令传输至代理组件;
通过所述集群的代理组件将所述删除指令传输至所述目标实际集群;
删除所述目标实际集群中的所述任务。
9.一种集群的管理装置,其特征在于,包括:
虚拟集群,所述虚拟集群包括虚拟集群控制面以及多个实际节点,所述虚拟集群控制面分别与所述多个实际节点网络连接;
其中,所述虚拟集群控制面用于获取到任务的创建指令,其中,所述创建指令包括所述任务的创建需求,多个所述实际节点用于通过所述虚拟集群的实际节点监听到所述创建指令;通过所述实际节点选择与所述创建需求匹配且优先级最高的虚拟节点管理组件;其中,所述虚拟节点管理组件运行于所述实际节点,所述优先级包括资源利用率优先级;将所述虚拟节点管理组件对应的虚拟节点确定为目标虚拟节点;通过所述虚拟节点管理组件在所述目标虚拟节点上创建所述任务;
代理组件,与多个实际节点网络连接,用于从实际集群选择与所述目标虚拟节点对应且满足所述创建需求的目标实际集群;
多个实际集群,分别与所述代理组件网络连接,用于运行所述任务。
CN202011249402.7A 2020-11-10 2020-11-10 集群的管理方法及集群的管理装置 Active CN112437129B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011249402.7A CN112437129B (zh) 2020-11-10 2020-11-10 集群的管理方法及集群的管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011249402.7A CN112437129B (zh) 2020-11-10 2020-11-10 集群的管理方法及集群的管理装置

Publications (2)

Publication Number Publication Date
CN112437129A CN112437129A (zh) 2021-03-02
CN112437129B true CN112437129B (zh) 2022-07-19

Family

ID=74699416

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011249402.7A Active CN112437129B (zh) 2020-11-10 2020-11-10 集群的管理方法及集群的管理装置

Country Status (1)

Country Link
CN (1) CN112437129B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113626138B (zh) * 2021-06-30 2022-12-20 济南浪潮数据技术有限公司 一种应用程序访问方法和相关装置
CN113839814B (zh) * 2021-09-22 2022-02-18 银河麒麟软件(长沙)有限公司 去中心化的Kubernetes集群联邦实现方法及系统
CN113835844B (zh) * 2021-09-29 2024-05-24 新华三大数据技术有限公司 一种容器集群的管理方法、装置及云计算平台
CN115328752B (zh) * 2022-08-17 2023-03-21 成都道客数字科技有限公司 一种用于Kubernetes控制面测试的集群模拟方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103810023A (zh) * 2014-03-06 2014-05-21 中国科学院信息工程研究所 一种云平台中分布式应用的智能部署方法及系统
CN111858034A (zh) * 2020-06-29 2020-10-30 苏州浪潮智能科技有限公司 一种资源的管理方法、系统、设备以及介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9183016B2 (en) * 2013-02-27 2015-11-10 Vmware, Inc. Adaptive task scheduling of Hadoop in a virtualized environment
CN104270416B (zh) * 2014-09-12 2018-03-13 杭州华为数字技术有限公司 负载均衡控制方法及管理节点
CN105187512A (zh) * 2015-08-13 2015-12-23 航天恒星科技有限公司 一种虚拟机集群负载均衡方法及系统
CN111614746B (zh) * 2020-05-15 2022-03-22 北京金山云网络技术有限公司 云主机集群的负载均衡方法、装置及服务器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103810023A (zh) * 2014-03-06 2014-05-21 中国科学院信息工程研究所 一种云平台中分布式应用的智能部署方法及系统
CN111858034A (zh) * 2020-06-29 2020-10-30 苏州浪潮智能科技有限公司 一种资源的管理方法、系统、设备以及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TDDS:基于虚拟集群系统的任务部署与调度;冯琳等;《计算机研究与发展》;20130515(第05期);第2节 *

Also Published As

Publication number Publication date
CN112437129A (zh) 2021-03-02

Similar Documents

Publication Publication Date Title
CN112437129B (zh) 集群的管理方法及集群的管理装置
CN106126346B (zh) 一种大规模分布式数据采集系统及方法
CN107689953B (zh) 一种面向多租户云计算的容器安全监控方法及系统
CN104618693B (zh) 一种基于云计算的监控视频在线处理任务管理方法及系统
CN105207798B (zh) 软件定义网络中的业务编排方法及装置
US10686728B2 (en) Systems and methods for allocating computing resources in distributed computing
CN103064742A (zh) 一种hadoop集群的自动部署系统及方法
CN114666333A (zh) 一种基于多租户理论面向云计算资源调度问题的控制方法
CN102081554A (zh) 云计算操作系统及其内核控制系统及方法
CN110958311A (zh) 一种基于yarn的共享集群弹性伸缩系统及方法
WO2022267646A1 (zh) 一种容器集的部署方法及装置
CN112199192B (zh) 基于服务器部署Kubernetes集群精细化管理配额的方法及系统
CN114615268B (zh) 基于Kubernetes集群的服务网络、监控节点、容器节点及设备
CN110618821A (zh) 基于Docker的容器集群系统及快速搭建方法
CN113835834A (zh) 一种基于k8s容器集群计算节点的扩容方法及系统
CN115391058B (zh) 一种基于sdn的资源事件处理方法、资源创建方法及系统
CN112306640A (zh) 容器分配方法及其装置、设备、介质
CN115237547B (zh) 一种非侵入式hpc计算集群的统一容器集群托管系统和方法
CN113824801B (zh) 一种智能融合终端统一接入管理组件系统
CN114745377A (zh) 边缘云集群服务系统及实现方法
CN115080601A (zh) 一种基于国产cpu和os的异构终端统一平台管理方法及系统
CN108696550A (zh) 快速构建和复制云的系统和方法
CN114500530A (zh) 一种民用边缘信息系统自动调整方法
CN112653571A (zh) 一种基于虚拟机与容器的混合调度方法
CN114157569A (zh) 集群系统及其构建方法和构建装置

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
GR01 Patent grant
GR01 Patent grant