CN116010027A - 管理任务处理集群的方法、执行任务的方法及容器集群 - Google Patents
管理任务处理集群的方法、执行任务的方法及容器集群 Download PDFInfo
- Publication number
- CN116010027A CN116010027A CN202211653506.3A CN202211653506A CN116010027A CN 116010027 A CN116010027 A CN 116010027A CN 202211653506 A CN202211653506 A CN 202211653506A CN 116010027 A CN116010027 A CN 116010027A
- Authority
- CN
- China
- Prior art keywords
- task processing
- cluster
- node
- container
- task
- 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
Links
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供管理任务处理集群的方法、执行任务的方法及容器集群,其中所述管理任务处理集群的方法包括:响应于用户提交任务处理集群创建请求,根据所述任务处理集群创建请求确定待创建任务处理集群的信息;利用所述待创建任务处理集群的信息和任务处理集群的资源定义,生成所述任务处理集群的管理节点的配置信息和计算节点的配置信息;基于包含任务执行环境的容器镜像、所述管理节点的配置信息和所述计算节点的配置信息,在所述容器集群的工作节点上,创建用作所述管理节点的容器组和用作所述计算节点的容器组,得到任务处理集群。
Description
技术领域
本说明书实施例涉及计算机技术领域,特别涉及管理任务处理集群的方法。
背景技术
任务处理集群,包含可用于大型计算节点集群的高度可伸缩和容错的集群管理器和作业调度系统,被世界范围内的超级计算机和计算集群广泛采用。任务处理集群的集群管理器和作业调度系统,作为典型HPC(High Performance Comput ing,高性能计算机群)环境的默认调度程序,适用于管理基于批处理的分布式工作负载。
虽然目前的任务处理集群拥有出色的任务调度能力,但创建方式仍然存在不合理之处,无法充分利用资源,无法让用户通过简便的操作按需灵活创建和扩展任务处理集群。因此,如何充分利用资源,让用户能够通过简便的操作,按需灵活扩展任务处理集群,成为亟需要解决的问题。
发明内容
有鉴于此,本说明书实施例提供了管理任务处理集群的方法。本说明书一个或者多个实施例同时涉及管理任务处理集群的装置,执行任务的方法,执行任务的装置,容器集群,计算设备,计算机可读存储介质和计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种管理任务处理集群的方法,包括:响应于用户提交任务处理集群创建请求,根据所述任务处理集群创建请求确定待创建任务处理集群的信息;利用所述待创建任务处理集群的信息和任务处理集群的资源定义,生成所述任务处理集群的管理节点的配置信息和计算节点的配置信息;基于包含任务执行环境的容器镜像、所述管理节点的配置信息和所述计算节点的配置信息,在所述容器集群的工作节点上,创建用作所述管理节点的容器组和用作所述计算节点的容器组,得到任务处理集群。
根据本说明书实施例的第二方面,提供了一种管理任务处理集群的装置,配置于容器集群的容器控制器,包括:创建信息确定模块,被配置为响应于用户提交任务处理集群创建请求,根据所述任务处理集群创建请求确定待创建任务处理集群的信息。配置信息生成模块,被配置为利用所述待创建任务处理集群的信息和任务处理集群的资源定义,生成所述任务处理集群的管理节点的配置信息和计算节点的配置信息。容器创建模块,被配置为基于包含任务执行环境的容器镜像、所述管理节点的配置信息和所述计算节点的配置信息,在所述容器集群的工作节点上,创建用作所述管理节点的容器组和用作所述计算节点的容器组,得到任务处理集群。
根据本说明书实施例的第三方面,提供了一种管理任务处理集群的方法,应用于用户端,包括:显示用于创建任务处理集群的资源对象模板;接收用户在所述资源对象模板中输入的待创建任务处理集群的信息;响应于接收到提交命令,将包含所述待创建任务处理集群的信息的所述资源对象模板携带在任务处理集群创建请求中,发送给容器集群的控制节点,使所述容器集群的容器控制器响应于所述任务处理集群创建请求,在所述容器集群的工作节点上创建对应的任务处理集群。
根据本说明书实施例的第四方面,提供了一种管理任务处理集群的装置,配置于用户端,包括:模板显示模块,被配置为显示用于创建任务处理集群的资源对象模板。模板信息接收模块,被配置为接收用户在所述资源对象模板中输入的待创建任务处理集群的信息。请求提交模块,被配置为响应于接收到提交命令,将包含所述待创建任务处理集群的信息的所述资源对象模板携带在任务处理集群创建请求中,发送给容器集群的控制节点,使所述容器集群的容器控制器响应于所述任务处理集群创建请求,在所述容器集群的工作节点上创建对应的任务处理集群。
根据本说明书实施例的第五方面,提供了一种执行任务的方法,应用于任务处理集群的管理节点,所述任务处理集群基于如上述应用于容器控制器的所述管理任务处理集群的方法创建,所述执行任务的方法包括:接收用户端提交的任务;利用所述管理节点中的任务执行环境的调度机制,向所述任务处理集群的多个任务计算节点分发所述任务对应的子任务,使所述子任务在所述多个任务计算节点并行执行。
根据本说明书实施例的第六方面,提供了一种执行任务的装置,配置于任务处理集群的管理节点,所述任务处理集群基于如上述应用于容器控制器的所述管理任务处理集群的方法创建,所述执行任务的装置包括:任务接收模块,被配置为接收用户端提交的任务。任务分发模块,被配置为利用所述管理节点中的任务执行环境的调度机制,向所述任务处理集群的多个任务计算节点分发所述任务对应的子任务,使所述子任务在所述多个任务计算节点并行执行。
根据本说明书实施例的第七方面,提供了一种容器集群,包括:容器控制器和由所述容器控制器利用如上述的管理任务处理集群的方法创建的任务处理集群。
根据本说明书实施例的第八方面,提供了一种计算设备,包括:存储器和处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现本说明书任意实施例所述的管理任务处理集群的方法或实现本说明书任意实施例所述的执行任务的方法的步骤。
根据本说明书实施例的第九方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现本说明书任意实施例所述的管理任务处理集群的方法或实现本说明书任意实施例所述执行任务的方法的步骤。
根据本说明书实施例的第十方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行本说明书任意实施例所述的管理任务处理集群的方法或执行本说明书任意实施例所述的执行任务的方法的步骤。
本说明书一个实施例实现了管理任务处理集群的方法,该方法响应于用户提交任务处理集群创建请求,根据所述任务处理集群创建请求确定待创建任务处理集群的信息,利用所述待创建任务处理集群的信息和任务处理集群的资源定义,生成所述任务处理集群的管理节点的配置信息和所述计算节点的配置信息,基于包含任务执行环境的容器镜像、所述管理节点的配置信息和所述计算节点的配置信息,在所述容器集群的工作节点上,创建用作所述管理节点的容器组和用作所述计算节点的容器组,得到任务处理集群。可见,用户通过在容器集群中提交任务处理集群创建请求,即可使容器集群自动使用包含任务执行环境的镜像,在容器集群的工作节点上,按用户提出的需求,拉起作为任务处理集群的管理节点的容器组和作为计算节点的容器组,得到任务处理集群,无需用户手动设置集群配置,操作简便;另外由于任务处理集群的管理节点和计算节点均创建在容器集群的工作节点上,而容器集群的工作节点数量众多,用户可以按需灵活创建任意多个任务处理集群,达到充分利用资源,按需灵活扩展任务处理集群的目的;而且,对于习惯了使用任务处理集群的用户来说,能够在基于容器集群的任务处理集群中方便地利用任务处理集群出色的任务调度能力,进行机器学习任务或其他任务的提交,在不改变用户使用习惯的同时,能够充分利用容器集群的自动化部署、维护等出色的功能、使用众多开发者在容器集群上提供的工具。
附图说明
图1是本说明书一个实施例提供的管理任务处理集群的方法的场景示意图;
图2是本说明书一个实施例提供的管理任务处理集群的方法的流程图;
图3是本说明书一个实施例提供的角色和域名匹配关系示意图;
图4是本说明书一个实施例提供的容器控制器的内部架构示意图;
图5是本说明书一个实施例提供的模块处理流程示意图;
图6是本说明书一个实施例提供的管理任务处理集群的装置的框图;
图7是本说明书一个实施例提供的执行任务的方法的流程图;
图8是本说明书一个实施例提供的执行任务的装置的框图;
图9是本说明书一个实施例提供的容器集群的框图;
图10是本说明书一个实施例提供的应用于用户端的管理任务处理集群的方法的流程图;
图11是本说明书一个实施例提供的用户端界面示意图;
图12是本说明书一个实施例提供的配置于用户端的管理任务处理集群的装置的框图;
图13是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
容器编排工具:是用于管理云平台中多个主机上容器的应用,提供了应用部署,规划,更新,维护的机制。
任务处理集群:包含可用于大型计算节点集群的高度可伸缩和容错的集群管理器和作业调度系统,被世界范围内的超级计算机和计算集群广泛采用。
容器控制器:是容器编排工具的扩展工具,利用自定义资源对象来管理应用和组件,允许用户以容器集群的容器编排工具的声明式风格来管理应用及服务。容器控制器定义了在容器集群中打包和部署复杂应用的方法,用于解决特定应用或服务关于如何运行、部署及出现问题时如何处理提供的一种自定义方式,即基于自定义资源定义实现自定义资源的生命周期管理服务。例如,容器控制可以用来创建、配置和管理复杂的有状态应用,如数据库、缓存和监测系统等等。
服务:也称为service,是容器编排工具的一种资源类型,是一种可以访问容器组逻辑分组的策略。在容器集群中,容器组是应用程序的载体,可以通过容器组的I P来访问应用程序,但是容器组的I P地址不是固定的,不便直接采用容器组的I P进行访问,因此,容器编排工具提供了service这种资源类型。service会对提供同一个service的多个容器组进行聚合,提供一个统一的入口地址。通过访问service的入口地址就能访问到后面的容器组。
有状态负载类型:是容器编排工具的一种资源类型,有状态负载类型的容器组具有唯一的标识,对于具有N个容器组的一个有状态负载类型的资源,其中的每个容器组被分配一个序号,如从0到N-1,每个序号在该资源上是唯一的。
容器组,也称为Pod,是容器集群的基本调度单位,一个容器组代表着容器集群中运行的一个进程,它内部封装了一个或多个紧密相关的容器,因此,容器以容器组的形式运行在容器集群中。
由于任务处理集群的任务执行环境能够与高性能计算机群框架如跨语言的通讯协议等相集成,从而能够管理批量的分布式任务。虽然任务处理集群拥有出色的任务调度能力,但针对机器学习或者深度学习的模型训练任务来说,任务处理集群仍然有诸多不便导致使用体验并不出色。具体体现如下:
深度学习或机器学习通常使用GPU(Graph ics Process ing Un it,图形处理器)进行模型训练,目前使用任务处理集群调度GPU执行任务时,通常需要配置环境变量以便使用通用并行计算架构,针对多机多卡训练还需配置复杂的各类参数,这对于目前主要以物理机调度为主的任务处理集群的调度系统而言无疑会导致调试困难与移植困难;
目前任务处理集群缺乏运行深度学习任务流水线的工具,而这些工具当前已经在一些云原生服务中进行了广泛的支持;
目前任务处理集群使用静态资源分配模型,使用任务处理集群,难以为每个任务分配适当类型和数量的资源。
针对目前任务处理集群的诸多不足,本说明书实施例提供的方法考虑通过云原生的方式来兼容任务处理集群的任务执行环境,给用户带来云原生场景下任务处理集群的使用体验,且充分利用容器集群的资源,让用户通过简便的操作按需灵活创建和扩展任务处理集群。具体地,在本说明书中,提供了管理任务处理集群的方法,本说明书同时涉及执行任务的方法,管理任务处理集群的装置,执行任务的装置,容器集群,计算设备,和计算机可读存储介质,在下面的实施例中逐一进行详细说明。
参见图1,图1示出了根据本说明书一个实施例提供的管理任务处理集群的方法的场景示意图。本说明书一个实施例中,为了使任务处理集群运行在容器集群上,将所述管理任务处理集群的方法应用于容器控制器,来实现容器集群对任务处理集群的管控。具体地,如图1所示,本说明书实施例提供的方法,应用于容器集群的容器编排工具中的容器控制器。容器集群中包括控制节点和工作节点。其中,控制节点负责整个集群的管理和控制;工作节点,是工作负载节点,被控制节点分配一些工作负载,当某个工作节点宕机时,其上的工作负载会被控制节点自动转移到其他工作节点上。一个工作节点中,可以运行一个或多个容器组。所述容器控制器可以运行于工作节点的任一容器组上。所述容器控制器的处理过程包括:容器控制器预先将任务处理集群的资源定义注册到容器集群的资源注册表,所述资源定义包括:至少一个管理节点的资源定义和多个计算节点的资源定义。用户可以通过在用户端1显示的用于创建任务处理集群的资源对象模板,输入待创建任务处理集群的信息。在用户触发提交命令的情况下,用户端1将包含所述待创建任务处理集群的信息的所述资源对象模板携带在任务处理集群创建请求中,发送给容器集群的控制节点,以使所述容器集群的容器控制器响应于所述任务处理集群创建请求,在所述容器集群的工作节点上创建对应的任务处理集群。所述容器控制器监听到所述任务处理集群创建请求,根据所述任务处理集群创建请求确定待创建任务处理集群的信息,利用所述待创建任务处理集群的信息和所述资源定义,生成所述管理节点的配置信息和所述计算节点的配置信息。为了便于任务处理集群的节点之间的通信,所述容器控制器为每个节点创建对应的服务,为所述服务创建域名,使所述节点能够对外通过所述域名进行通信。所述容器控制器基于包含任务执行环境的容器镜像、所述管理节点的配置信息和所述计算节点的配置信息,在所述容器集群的工作节点上,创建用作所述管理节点的容器组和用作所述计算节点的容器组。所述配置信息挂载至对应节点的容器组中对应的路径,使容器组具有相应的属性,得到任务处理集群。
所述任务处理集群中的一个节点也即容器集群中的一个容器组。例如,如图1所示,所述容器控制器运行于容器集群的工作节点2的容器组Pod4,容器集群的工作节点1中的容器组Pod 1用作任务处理集群的管理节点,容器集群的工作节点1中的容器组Pod2用作任务处理集群的计算节点A,容器集群的工作节点2中的容器组Pod3用作任务处理集群的计算节点B。
在任务处理集群创建完成的情况下,用户端2可以提交例如机器学习任务或任意用途的高性能计算任务到所述任务处理集群的管理节点,所述管理节点能够利用所述管理节点中的任务执行环境的调度机制,向所述任务处理集群的多个任务计算节点分发所述任务对应的子任务,使所述子任务在所述多个任务计算节点并行执行。例如,计算节点可以调用相应的机器学习模型执行机器学习任务。
另外,如果用户创建的任务处理集群申请了GPU资源,则计算节点对应的容器组可以挂载上GPU设备,使任务处理集群的计算节点在执行任务时可以使用GPU设备来执行。
可见,在上述应用场景中,容器控制器预先在容器集群中注册任务处理集群的资源定义,基于用户的任务处理集群创建请求,在容器集群中拉起一个或多个任务处理集群,实现了在容器集群上运行任务处理集群的效果,使传统的任务处理集群的调度机制走向云原生化,并且简化了用户创建任务处理集群的操作,能够充分利用容器集群的资源,使用户按需灵活扩展任务处理集群。
需要说明的是,上述应用场景仅用于对本说明书实施例提供的方法进行示例性说明,并不构成对本说明书实施例提供的方法的限制。本说明书实施例提供的方法可以通过各种基于容器技术的容器集群进行任务处理集群的创建。
还需要说明的是,本说明书所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
参见图2,图2示出了根据本说明书一个实施例提供的一种管理任务处理集群的方法的流程图,具体包括以下步骤。
步骤202:响应于用户提交任务处理集群创建请求,根据所述任务处理集群创建请求确定待创建任务处理集群的信息。
为了容器集群能够识别任务处理集群这种资源类型,可以预先将任务处理集群的资源定义注册到容器集群的资源注册表,所述资源定义包括:至少一个管理节点的资源定义和多个计算节点的资源定义。
所述任务处理集群的资源,是为了在容器集群中可以创建任务处理集群,通过容器编排工具提供的资源自定义形式定义的一种资源类型。资源定义,是容器集群的容器编排工具为提高可扩展性,让开发者自定义资源的一种方式。例如,所述资源定义,可以表现为一段声明,用于定义用户自定义的资源对象。通过将任务处理集群的资源定义注册到容器集群的资源注册表,容器集群中的程序能够识别并使用该资源。资源定义注册到容器集群的资源注册表,表示在资源注册表里创建一条记录来保存该资源的定义,这样,该资源能够成为容器集群中能够被解析和识别的合法资源。
其中,管理节点和计算节点的资源定义,描述了节点的期望状态,也即节点应具有的属性,如节点名称,节点数量等等。
以任务处理集群的资源名称为“S l urmJob”为例,可以通过容器编排工具标准的用户自定义资源的声明方式进行“S l urmJob”的资源定义。所述资源定义可以写在序列化字段格式的声明文件中。所述声明文件也可以理解为资源配置清单,如配置文件格式的yaml文件。所述声明文件中,可以包含多个属性字段,有的属性字段在资源定义注册时,对应的字段值已知,有的属性字段对应的字段值约束了取值范围,但具体字段值为空,等待用户提供相应信息或者由容器集群获取并维护。例如:任务处理集群的集群名称,节点数量等属性字段对应的字段值通常由用户提供。再例如:管理节点和计算节点的节点名称可以后续用户创建任务处理集群时自动生成,无需用户指定。具体如:所述声明文件中的属性字段包括:版本字段,对应的字段值用于定义资源版本,在资源定义注册时已知,例如,v1表示第一个版本;资源类型字段,对应的字段值为自定义类型,在资源定义注册时已知;资源名称字段,对应的字段值用于定义资源名称,如“S l urmJob”,在资源定义注册时已知;作用域(scope)字段,对应的字段值由容器集群维护,用于定义是否需要区分工作空间,例如可以为需要区分工作空间,在资源定义注册时已知;状态(status)字段,对应的字段值用于表征任务状态,可由容器集群获取并维护;验证参数部分采用规范的字段结构标准来制定出spec字段,对应的字段值为资源如“S l urmJob”的期望状态。具体地,在spec字段中,按照任务处理集群中管理节点和计算节点的划分,定义出管理节点与计算节点两种角色,在资源定义注册时已知。另外,还可以包括角色的属性字段(propert ies),对应的字段值用于定义角色的名称(即节点名称)和数量,其中,节点数量可以约束取值范围,例如,限制管理节点的数量为1,限制计算节点的数量至少为1,具体字段值等待用户提供。
将资源“S l urmJob”注册到容器集群后,用户可以在用户端显示的“S l urmJob”资源的资源对象模块中输入管理节点和计算节点的相关信息,触发提交命令后,使容器控制器自动创建“S l urmJob”类型的资源对象,得到任务处理集群。
所述任务处理集群创建请求,可以理解为对任务处理集群的资源申请。
所述根据所述任务处理集群创建请求确定待创建任务处理集群的信息的步骤,可以包括:从所述任务处理集群创建请求中获取其携带的待创建任务处理集群的信息,和/或,根据所述任务处理集群创建请求自动生成待创建任务处理集群的信息。例如,所述任务处理集群创建请求中携带的信息包括:待创建任务处理集群的集群名称和计算节点的数量。再例如,容器控制器可以根据所述任务处理集群创建请求自动生成管理节点和计算节点的节点名称。当然,管理节点和计算节点的节点名称也可以直接在用户端自动生成,由用户端将节点名称携带在所述任务处理集群创建请求中再发送给容器集群,本说明书实施例提供的方法对此并不进行限制。
例如,应用本说明书实施例提供的方法的容器控制器能够监听到该请求被提交到控制节点,从而响应用户提交任务处理集群创建请求。
另外,所述任务处理集群创建请求,可以携带了包含所述待创建任务处理集群的信息的所述资源对象模板,从而使容器控制器获取所述待创建任务处理集群的信息。所述资源对象模板中允许用户填充的内容,由所述资源定义决定。例如,在所述资源定义决定了用户需要提供任务处理集群的集群名称,管理节点和计算节点的节点数量的情况下,所述待创建任务处理集群的信息,例如可以包括待创建任务处理集群的集群名称、计算节点的节点数量。
步骤204:利用所述待创建任务处理集群的信息和任务处理集群的资源定义,生成所述任务处理集群的管理节点的配置信息和计算节点的配置信息。
所述配置信息,指节点启动时节点的相关属性信息,常见的如名称、数量等。如,管理节点、计算节点的配置信息可以包括节点数量、节点资源定义、队列定义等。另外,还可以生成扩展资源的配置信息,例如GPU、FPGA等扩展资源的信息。
例如,生成的配置信息具体可以表现为配置文件实例。
生成配置信息的作用是为了让容器镜像和配置解耦,以便实现容器镜像的可移植性和可复用性。根据用户提交的任务处理集群创建请求来动态的生成配置信息,挂载至不同角色的容器组中对应的路径里去,能够使容器组具有相应的属性。也即,本说明书实施例提供的方法,能够根据用户对任务处理集群的资源申请情况来动态地生成配置信息,由配置信息决定任务处理集群的规模,实现任务处理集群的自动化配置。
步骤206:基于包含任务执行环境的容器镜像、所述管理节点的配置信息和所述计算节点的配置信息,在所述容器集群的工作节点上,创建用作所述管理节点的容器组和用作所述计算节点的容器组,得到任务处理集群。
可以理解的是,本说明书实施例提供的方法创建的任务处理集群包括管理节点和计算节点两种角色,其中,管理节点负责对整个集群的管理,计算节点负责具体的任务的执行。根据本说明书实施例提供的方法,容器控制器把任务处理集群的节点抽象成容器集群的容器组的形式。
所述任务执行环境,是指具有集群管理能力和任务调度能力的程序,程序内包含相应管理和调度机制的执行命令。例如,所述任务执行环境可以包括高性能计算集群的任务调度客户端,具有容错性和高度可扩展的超级计算集群资源管理和任务调度能力。利用所述任务执行环境的容器镜像创建的任务处理集群,对资源和任务进行管理,可以避免资源管理和任务调度相互干扰,提高运行效率。需要说明的是,创建管理节点的容器组与创建计算节点的容器组,所使用的容器镜像可以相同,也可以不同,只要容器镜像中包含能够实现管理节点的任务执行环境,包含能够实现计算节点的任务执行环境,即可创建具有对应执行能力的容器组。例如,创建得到的任务处理集群,基于所述任务执行环境的调度机制,用户可以进行实时交互式运行并行任务、批处理式任务或分配式任务等任务提交,提交后可以利用相关命令进行资源操作请求或任务操作请求,例如查询作业状态等。
根据本说明书实施例提供的应用于容器控制器的管理任务处理集群的方法,用户只要在容器集群中提交任务处理集群创建请求,即可使容器集群自动使用包含任务执行环境的镜像,在容器集群的工作节点上,按用户提出的需求,拉起作为任务处理集群的管理节点的容器组和作为计算节点的容器组,得到任务处理集群,无需用户手动设置集群配置,操作简便;另外由于任务处理集群的管理节点和计算节点均创建在容器集群的工作节点上,而容器集群的工作节点数量众多,用户可以按需灵活创建任意多个任务处理集群,达到充分利用资源,按需灵活扩展任务处理集群的目的;而且,对于习惯了使用任务处理集群的用户来说,能够在基于容器集群的任务处理集群中方便地利用任务处理集群出色的任务调度能力,进行机器学习任务或其他任务的提交,在不改变用户使用习惯的同时,能够充分利用容器集群的自动化部署、维护等出色的功能、使用众多开发者在容器集群上提供的工具。
本说明书一个或多个实施例中,容器控制器还可以监听用户提交对任务处理集群的操作请求,所述操作请求包括任务处理集群的创建请求、更新请求或删除请求,当监听到用户提交对任务处理集群的操作请求时,将所述操作请求放入任务队列,基于容器集群的多线程,从所述任务队列获取对任务处理集群的操作请求,根据获取的所述操作请求,启动所述操作请求对应的处理。
所述更新请求,可以包括对任务处理集群任意配置的更新,如计算节点数量的更新等。所述删除请求,可以包括删除任务处理集群的删除请求。所述多线程,是指多个线程并发执行的技术。在该实施例中,由于利用容器集群的多线程从队列中获取操作请求,并启动对应的处理,基于多线程技术提高处理性能,提高对请求做出响应的效率。例如,创建任务处理集群的请求对应的处理包括生成配置信息、服务发现、用作管理节点的容器组和用作计算节点的容器组的创建等。再例如,当启动任务处理集群的更新请求或删除请求对应的处理时,根据所述更新请求或删除请求,对所述任务处理集群进行更新或删除。
本说明书一个或多个实施例中,为了实现镜像的可移植性和可复用性,借助于容器集群让镜像和配置文件解耦的配置文件实例的生成方式,来生成配置信息。具体地,所述利用所述待创建任务处理集群的信息和所述资源定义,生成所述管理节点的配置信息和所述计算节点的配置信息,包括:基于所述任务处理集群的资源定义,确定所述任务处理集群的所述管理节点的初始化配置文件和所述计算节点的初始化配置文件,所述初始化配置文件中至少包括:节点名称字段、节点I P字段和端口字段;利用所述待创建任务处理集群的信息,获取所述配置文件中的字段对应的字段值,所述待创建任务处理集群的信息包括待创建任务处理集群的集群名称、管理节点和计算节点的节点名称和节点数量;将所述字段值写入所述初始化配置文件中的对应字段;生成所述初始化配置文件对应的配置文件实例。
例如,所述初始化配置文件中,可以预留了需要根据用户创建需求动态获取字段值的若干个字段,如管理节点名称、I P、端口、计算节点名称、分区等字段。根据用户实际提交的请求,将上述字段的字段值进行替换,根据容器集群和命名空间,生成配置文件实例,等待配置文件实例的消费。
需要说明的是,由于容器集群的工作节点数量众多,因此,根据本说明书实施例提供的方法,用户可以按需灵活创建任意多个任务处理集群,达到充分利用资源,按需灵活扩展任务处理集群的目的。具体地,所述生成所述初始化配置文件对应的配置文件实例,包括:当待创建任务处理集群为多个时,生成多个待创建任务处理集群各自的配置文件实例。所述基于包含任务执行环境的容器镜像、所述管理节点的配置信息和所述计算节点的配置信息,在所述容器集群的工作节点上,创建用作所述管理节点的容器组和用作所述计算节点的容器组,得到任务处理集群,包括:分别针对所述多个待创建任务处理集群,基于包含任务执行环境的容器镜像、所针对的待创建任务处理集群的配置文件实例,在所述容器集群的工作节点上,创建用作所述管理节点的容器组和用作所述计算节点的容器组,得到多个任务处理集群。
本说明书实施例提供的方法,对于创建用作所述管理节点的容器组和用作所述计算节点的容器组的具体实施方式不限,所述容器组可以采用任意负载类型的资源进行创建。本说明书一个或多个实施例中,管理节点的容器组与计算节点的容器组的名称根据用户提交的创建任务处理集群请求携带的集群名称,自动生成,例如,容器组的名称可以由任务处理集群名称和节点名称组成,所述节点名称中可以包含表示所述节点为管理节点或计算节点的角色信息。由于在管理节点与计算节点的容器组的名称是唯一固定的情况下,能够便于管理节点和计算节点的容器组与管理节点和计算节点的配置信息无缝打通,因此,为了保证管理节点与计算节点的容器组的名称是唯一固定的,管理节点的容器组使用容器组资源创建,计算节点的容器组使用有状态负载类型资源创建。具体地,所述基于包含任务执行环境的容器镜像、所述管理节点的配置信息和所述计算节点的配置信息,在所述容器集群的工作节点上,创建用作所述管理节点的容器组和用作所述计算节点的容器组,包括:
基于包含任务执行环境的容器镜像,使用容器组资源,在所述容器集群的工作节点上,创建用作所述管理节点的容器组;
基于包含任务执行环境的容器镜像,使用有状态负载类型资源,在所述容器集群的工作节点上,创建用作所述计算节点的容器组;
将所述管理节点的配置信息挂载到用作所述管理节点的容器组;
将所述计算节点的配置信息挂载到用作所述计算节点的容器组。
在上述实施例中,使用容器组资源来进行管理节点的抽象,使用有状态负载类型的资源来进行计算节点的抽象,任务处理集群中的管理节点可以是一个,计算节点可以是多个。由于上述实施例直接使用容器组资源作为任务处理集群的管理节点的资源,因此,可以直接用管理节点对应的容器组的状态来表征任务处理集群的状态。而使用有状态负载类型的资源创建用作计算节点的容器组,由于有状态负载类型的资源原生支持多个副本,因此,可以复用有状态负载类型的资源原生能力支持多个副本,进行计算节点数目的控制,与上述spec里面的副本进行对接;而且,有状态负载类型的资源创建的容器组具有唯一的标识,对于具有N个副本的有状态负载类型的资源,有状态负载类型的每个容器组将被分配一个序号,如从0到N-1,N表示正整数,该序号在有状态负载类型的资源上是唯一的,不管该资源被调度在哪个节点上,在任务处理集群名称固定,节点名称固定的情况下,容器组的名称可以由任务处理集群名称和节点名称组成,固定不变,这就保障了容器组的名称的唯一性,可以与由节点名称标识的配置信息无缝打通,为后续维护计算节点数提供了实现前提。
另外,为了使任务处理集群的节点之间能够进行服务发现以便相互通信,本说明书一个或多个实施例中,以域名的方式进行服务发现。这是由于容器组的I P是动态的,不固定,使用容器组的I P进行服务发现,会导致节点之间难以相互定位,访问不便。因此,该实施例中,以域名的方式进行服务发现来解决任务处理集群各个节点之间的服务发现问题。具体地,所述方法还可以包括:
确定所述管理节点和所述计算节点的节点数量;
创建所述节点数量个服务,一个服务对应一个节点,所述节点包括所述管理节点或所述计算节点;
为所述服务创建域名,建立所述域名与所述节点的I P地址之间的映射关系,使所述节点对外通过所述域名进行通信。
所述服务发现,是指服务/应用之间相互定位的过程。
例如,可以利用任务处理集群固定的集群名称,根据用户提交的创建任务处理集群请求生成的节点名称和容器集群固定的集群域名后缀来创建所述域名。相应地,所述域名中的信息包括:待创建任务处理集群的集群名称、所述节点的节点名称和所述容器集群的集群域名后缀,所述节点名称中包含表示所述节点为管理节点或计算节点的角色信息。该实施例中,通过容器集群的服务(service)来解决任务处理集群各个节点之间的服务发现问题,这样,任务处理集群中的节点,可以通过任务处理集群名称+节点名称(对应角色)+集群域名后缀(如svc.c l uster.loca l)的方式来进行容器组的域名解析,定位节点。以用户在默认命名空间下创建一个名称为S l urm-test的S l urmJob为例,假设需要3个整机资源,则角色和域名匹配关系如图3所示。如匹配关系301为例,该匹配关系301表示在物理机Node-A上,拉起了用作管理节点的容器组,该容器组的名字为任务处理集群名称+节点名称,也即s l urm-test-master,则该容器组对应的服务的域名为s l urm-test-master.defua lt.svc.c l uster.loca l。
结合上述基于有状态负载类型的资源创建容器组的实施例,通过服务(service)来控制有状态负载类型的容器组的网络域名,每个容器组单独一个域名,方便容器组之间通过域名访问。例如,用作计算节点的容器组可以使用容器集群提供的用作服务发现的工具进行域名到I P的解析。
下面,对结合上述多个实施例的容器控制器的内部架构进行示例性说明。例如,图4示出了本说明书一个实施例提供的一种管理任务处理集群的方法的容器控制器的内部架构示意图,容器控制器的内部架构具体包括:预定义模块、控制模块、配置模块和节点服务模块。
基于图4所示的架构示意图,所述预定义模块、控制模块、配置模块和节点服务模块的处理流程如图5所示,包括:
预定义模块进行任务处理集群的资源定义,并将该资源定义注册到容器集群中的资源注册表。注册到容器集群后,用户只需要在资源对象模板中配置好管理节点和计算节点的相关信息,创建一个任务处理集群类型的资源对象,提交后便可使容器控制器自动根据用户所需资源创建一个私有化的任务处理集群。
控制模块监听用户提交对任务处理集群的创建请求等请求,并启动相应的处理。例如,控制模块可以监听任务处理集群的创建/更新/删除等请求,并将请求放入队列中等待处理。
配置模块根据用户提交的任务处理集群创建请求,动态的生成对应的配置文件实例,挂载至不同角色的容器组对应的路径里去。
节点服务模块为管理节点和计算节点分别创建服务(service),为服务创建域名。这样,任务处理集群中用作节点的容器组可以利用容器集群提供的服务发现工具基于域名进行服务发现,容器组之间可以互相使用域名通信,为构造虚拟的任务处理集群创造更加便利的前提条件。
控制模块基于容器集群的多线程从队列中获取请求,并进行相应的创建、更新、删除等处理。如控制模块根据请求创建任务处理集群中用作管理节点的一个容器组和用作计算节点的多个容器组。
基于上述各模块的处理,能够创建出用作管理节点的容器组和用作计算节点的容器组,得到任务处理集群,最后对该任务处理集群设置创建成功状态。其中,管理节点,用于实现对任务处理集群的控制,用户可以向管理节点提交原生任务处理集群中的各种命令来实现对生成的虚拟任务处理集群的控制,包括对集群资源的查看与修改,任务的提交、查看、删除等操作。计算节点,用于执行从管理节点上提交的任务和命令,计算节点数量可以根据用户提交的任务处理集群创建请求进行设定。需要说明的是,当用户只申请单机资源时,此时管理节点与计算节点可以在同一个物理机器上,该物理机器同时具有管理节点和计算节点的作用。
上述为本实施例的容器控制器的内部架构的示意性方案。需要说明的是,该容器控制器的内部架构的技术方案与上述的管理任务处理集群的方法的技术方案属于同一构思,容器控制器的内部架构的技术方案未详细描述的细节内容,均可以参见上述管理任务处理集群的方法的技术方案的描述。
与上述方法实施例相对应,本说明书还提供了管理任务处理集群的装置实施例,图6示出了本说明书一个实施例提供的一种管理任务处理集群的装置的框图。所述管理任务处理集群的装置配置于容器集群的容器控制器。如图6所示,该装置包括:
创建信息确定模块602,可以被配置为响应于用户提交任务处理集群创建请求,根据所述任务处理集群创建请求确定待创建任务处理集群的信息。
配置信息生成模块604,可以被配置为利用所述待创建任务处理集群的信息和任务处理集群的资源定义,生成所述任务处理集群的管理节点的配置信息和计算节点的配置信息。
容器创建模块606,可以被配置为基于包含任务执行环境的容器镜像、所述管理节点的配置信息和所述计算节点的配置信息,在所述容器集群的工作节点上,创建用作所述管理节点的容器组和用作所述计算节点的容器组,得到任务处理集群。
另外,该装置还可以包括:资源定义注册模块,可以被配置为预先将任务处理集群的资源定义注册到容器集群的资源注册表,所述资源定义包括:至少一个管理节点的资源定义和多个计算节点的资源定义。根据本说明书实施例提供的装置,用户通过在容器集群中提交任务处理集群创建请求,即可使容器集群自动使用包含任务执行环境的镜像,在容器集群的工作节点上,按用户提出的需求,拉起作为任务处理集群的管理节点的容器组和作为计算节点的容器组,得到任务处理集群,无需用户手动设置集群配置,操作简便;另外由于任务处理集群的管理节点和计算节点均创建在容器集群的工作节点上,而容器集群的工作节点数量众多,用户可以按需灵活创建任意多个任务处理集群,达到充分利用资源,按需灵活扩展任务处理集群的目的;而且,对于习惯了使用任务处理集群的用户来说,能够在基于容器集群的任务处理集群中方便地利用任务处理集群出色的任务调度能力,进行机器学习任务或其他任务的提交,在不改变用户使用习惯的同时,能够充分利用容器集群的自动化部署、维护等出色的功能、使用众多开发者在容器集群上提供的工具。
可选地,所述装置还包括:监听模块,被配置为监听用户提交对任务处理集群的操作请求,所述操作请求包括任务处理集群的创建请求、更新请求或删除请求。队列缓存模块,被配置为当监听到用户提交对任务处理集群的操作请求时,将所述操作请求放入任务队列。请求提取模块,被配置为基于容器集群的多线程,从所述任务队列获取对任务处理集群的操作请求。请求处理模块,被配置为根据获取的所述操作请求,启动所述操作请求对应的处理。
可选地,所述装置还包括:集群操作模块,被配置为当启动任务处理集群的更新请求或删除请求对应的处理时,根据所述更新请求或删除请求,对所述任务处理集群进行更新或删除。
可选地,所述配置信息生成模块,包括:初始配置确定子模块,被配置为基于所述任务处理集群的资源定义,确定所述任务处理集群的所述管理节点的初始化配置文件和所述计算节点的初始化配置文件,所述初始化配置文件中至少包括:节点名称字段、节点I P字段和端口字段。配置信息获取子模块,被配置为利用所述待创建任务处理集群的信息,获取所述配置文件中的字段对应的字段值,所述待创建任务处理集群的信息包括待创建任务处理集群的集群名称、管理节点和计算节点的节点名称和节点数量。配置信息写入子模块,被配置为将所述字段值写入所述初始化配置文件中的对应字段。配置实例生成子模块,被配置为生成所述初始化配置文件对应的配置文件实例。
可选地,所述配置实例生成子模块,被配置为当待创建任务处理集群为多个时,生成多个待创建任务处理集群各自的配置文件实例。所述容器创建模块,被配置为分别针对所述多个待创建任务处理集群,基于包含任务执行环境的容器镜像、所针对的待创建任务处理集群的配置文件实例,在所述容器集群的工作节点上,创建用作所述管理节点的容器组和用作所述计算节点的容器组,得到多个任务处理集群。
可选地,所述容器创建模块,包括:管理节点创建子模块,被配置为基于包含任务执行环境的容器镜像,使用容器组资源,在所述容器集群的工作节点上,创建用作所述管理节点的容器组。计算节点创建子模块,被配置为基于包含任务执行环境的容器镜像,使用有状态负载类型资源,在所述容器集群的工作节点上,创建用作所述计算节点的容器组。配置信息挂载子模块,被配置为将所述管理节点的配置信息挂载到用作所述管理节点的容器组,将所述计算节点的配置信息挂载到用作所述计算节点的容器组。
可选地,所述装置还可以包括:服务创建模块,被配置为确定所述管理节点和所述计算节点的节点数量,创建所述节点数量个服务,一个服务对应一个节点,所述节点包括所述管理节点或所述计算节点;域名确定模块,被配置为为所述服务创建域名,建立所述域名与所述节点的I P地址之间的映射关系,使所述节点对外通过所述域名进行通信。
可选地,所述域名中的信息包括:待创建任务处理集群的集群名称、所述节点的节点名称和所述容器集群的集群域名后缀,所述节点名称中包含表示所述节点为管理节点或计算节点的角色信息。
上述为本实施例的一种管理任务处理集群的装置的示意性方案。需要说明的是,该管理任务处理集群的装置的技术方案与上述的管理任务处理集群的方法的技术方案属于同一构思,管理任务处理集群的装置的技术方案未详细描述的细节内容,均可以参见上述管理任务处理集群的方法的技术方案的描述。
参见图7,图7示出了根据本说明书一个实施例提供的一种执行任务的方法的流程图,该方法应用于任务处理集群的管理节点,所述任务处理集群基于如上述管理任务处理集群的方法创建。具体地,所述执行任务的方法包括:
步骤702:接收用户端提交的任务。
步骤704:利用所述管理节点中的任务执行环境的调度机制,向所述任务处理集群的多个任务计算节点分发所述任务对应的子任务,使所述子任务在所述多个任务计算节点并行执行。
另外,管理节点还可以接收用户端提交的资源操作请求或任务操作请求;利用所述管理节点中的任务执行环境的调度机制,执行所述资源操作请求或任务操作请求;所述资源操作请求包括对任务处理集群资源的查看操作或修改操作,所述任务操作请求包括对所述任务的查看操作或删除操作。
可见,基于如上述管理任务处理集群的方法创建的任务处理集群,能够让用户沿用传统任务处理集群的使用习惯,用户可以向管理节点提交原生任务处理集群中的各种命令来实现对生成的虚拟任务处理集群的控制,包括对集群资源的查看与修改,任务的提交、查看、删除等操作,方便地在基于容器集群的任务处理集群中利用任务处理集群出色的任务调度能力,进行机器学习任务或其他任务的提交,充分利用容器集群的自动化部署、维护等出色的功能、使用众多开发者在容器集群上提供的工具。
参见图8,图8示出了根据本说明书一个实施例提供的一种执行任务的装置的框图,该装置配置于任务处理集群的管理节点,所述任务处理集群基于如上述管理任务处理集群的方法创建。具体地,所述执行任务的装置包括:
任务接收模块802,被配置为接收用户端提交的任务。
任务分发模块804,被配置为利用所述管理节点中的任务执行环境的调度机制,向所述任务处理集群的多个任务计算节点分发所述任务对应的子任务,使所述子任务在所述多个任务计算节点并行执行。
可选地,所述执行任务的装置还可以包括:操作接收模块,被配置为接收用户端提交的资源操作请求或任务操作请求。操作执行模块,被配置为利用所述管理节点中的任务执行环境的调度机制,执行所述资源操作请求或任务操作请求,所述资源操作请求包括对任务处理集群资源的查看操作或修改操作,所述任务操作请求包括对所述任务的查看操作或删除操作。
上述为本实施例的一种执行任务的装置的示意性方案。需要说明的是,该执行任务的装置的技术方案与上述的执行任务的方法的技术方案属于同一构思,执行任务的装置的技术方案未详细描述的细节内容,均可以参见上述执行任务的方法的技术方案的描述。
参见图9,图9示出了根据本说明书一个实施例提供的容器集群的框图。具体地,所述容器集群包括:容器控制器902和由所述容器控制器902利用如上述的管理任务处理集群的方法创建的任务处理集群904。
上述为本实施例的一种容器集群的示意性方案。需要说明的是,该容器集群的技术方案与上述的管理任务处理集群的方法的技术方案属于同一构思,容器集群的技术方案未详细描述的细节内容,均可以参见上述管理任务处理集群的方法的技术方案的描述。
参见图10,图10示出了根据本说明书一个实施例提供的应用于用户端的管理任务处理集群的方法的流程图。如图10所示,所述应用于用户端的管理任务处理集群的方法,包括:
步骤1002:显示用于创建任务处理集群的资源对象模板。
例如,如图11所示的用户端界面示意图,用户端界面上显示了用于创建任务处理集群的资源对象模板,资源对象模板中预留了待创建任务处理集群的集群名称的输入区域和计算节点的节点数量的输入区域。
步骤1004:接收用户在所述资源对象模板中输入的待创建任务处理集群的信息。
如图11所示的用户端界面示意图,用户可以在上述输入区域中输入对应的信息。
例如,假设计算节点数量为5个,五个计算节点的节点名称,可以根据用户输入的节点数量,自动生成管理节点的节点名称“master”,自动生成计算节点的节点名称“worker01”,“worker02”,“worker03”,“worker05”及“worker05”。
步骤1006:响应于接收到提交命令,将包含所述待创建任务处理集群的信息的所述资源对象模板携带在任务处理集群创建请求中,发送给容器集群的控制节点,使所述容器集群的容器控制器响应于所述任务处理集群创建请求,在所述容器集群的工作节点上创建对应的任务处理集群。
例如,如图11所示的用户端界面示意图,用户可以点击“提交创建请求”按钮,使用户端接收到提交命令,将包含所述待创建任务处理集群的信息的所述资源对象模板携带在任务处理集群创建请求中,发送给容器集群的控制节点。
参见图12,图12示出了根据本说明书一个实施例提供的配置于用户端的管理任务处理集群的装置的框图。如图12所示,所述配置于用户端的管理任务处理集群的装置,包括:
模板显示模块1202,可以被配置为显示用于创建任务处理集群的资源对象模板。
模板信息接收模块1204,可以被配置为接收用户在所述资源对象模板中输入的待创建任务处理集群的信息。
请求提交模块1206,可以被配置为响应于接收到提交命令,将包含所述待创建任务处理集群的信息的所述资源对象模板携带在任务处理集群创建请求中,发送给容器集群的控制节点,使所述容器集群的容器控制器响应于所述任务处理集群创建请求,在所述容器集群的工作节点上创建对应的任务处理集群。
上述为本实施例的一种用于用户端的管理任务处理集群的方法的示意性方案。需要说明的是,该用于用户端的管理任务处理集群的方法的技术方案与上述的用于容器控制器的管理任务处理集群的方法的技术方案属于同一构思,用于用户端的管理任务处理集群的方法的技术方案未详细描述的细节内容,均可以参见上述用于容器控制器的管理任务处理集群的方法的技术方案的描述。
图13示出了根据本说明书一个实施例提供的一种计算设备1300的结构框图。该计算设备1300的部件包括但不限于存储器1310和处理器1320。处理器1320与存储器1310通过总线1330相连接,数据库1350用于保存数据。
计算设备1300还包括接入设备1340,接入设备1340使得计算设备1300能够经由一个或多个网络1360通信。这些网络的示例包括公用交换电话网(PSTN,Pub l ic SwitchedTe lephone Network)、局域网(LAN,Loca l Area Network)、广域网(WAN,Wide AreaNetwork)、个域网(PAN,Persona l Area Network)或诸如因特网的通信网络的组合。接入设备1340可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC,networkinterface contro l ler))中的一个或多个,诸如I EEE802.11无线局域网(WLAN,Wi reless Loca l Area Network)无线接口、全球微波互联接入(Wi-MAX,Wor ldwide Interoperabi l ity for Microwave Access)接口、以太网接口、通用串行总线(USB,Universa l Ser ia l Bus)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC,Near Fie ldCommun icat ion)。
在本说明书的一个实施例中,计算设备1300的上述部件以及图13中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图13所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备1300可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或个人计算机(PC,Persona l Computer)的静止计算设备。计算设备1300还可以是移动式或静止式的服务器。
其中,处理器1320用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述管理任务处理集群的方法或执行任务的方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述管理任务处理集群的方法或执行任务的方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述管理任务处理集群的方法或执行任务的方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述管理任务处理集群的方法或执行任务的方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述管理任务处理集群的方法或执行任务的方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述管理任务处理集群的方法或执行任务的方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述管理任务处理集群的方法或执行任务的方法的步骤。
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述管理任务处理集群的方法或执行任务的方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述管理任务处理集群的方法或执行任务的方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-On ly Memory)、随机存取存储器(RAM,Random AccessMemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
Claims (14)
1.一种管理任务处理集群的方法,包括:
响应于用户提交任务处理集群创建请求,根据所述任务处理集群创建请求确定待创建任务处理集群的信息;
利用所述待创建任务处理集群的信息和任务处理集群的资源定义,生成所述任务处理集群的管理节点的配置信息和计算节点的配置信息;
基于包含任务执行环境的容器镜像、所述管理节点的配置信息和所述计算节点的配置信息,在所述容器集群的工作节点上,创建用作所述管理节点的容器组和用作所述计算节点的容器组,得到任务处理集群。
2.根据权利要求1所述的方法,还包括:
监听用户提交对任务处理集群的操作请求,所述操作请求包括任务处理集群的创建请求、更新请求或删除请求;
当监听到用户提交对任务处理集群的操作请求时,将所述操作请求放入任务队列;
基于容器集群的多线程,从所述任务队列获取对任务处理集群的操作请求;
根据获取的所述操作请求,启动所述操作请求对应的处理。
3.根据权利要求2所述的方法,还包括:
当启动任务处理集群的更新请求或删除请求对应的处理时,根据所述更新请求或删除请求,对所述任务处理集群进行更新或删除。
4.根据权利要求1所述的方法,还包括:
预先将任务处理集群的资源定义注册到容器集群的资源注册表,所述资源定义包括:至少一个管理节点的资源定义和多个计算节点的资源定义。
5.根据权利要求1所述的方法,所述利用所述待创建任务处理集群的信息和任务处理集群的资源定义,生成所述任务处理集群的管理节点的配置信息和所述计算节点的配置信息,包括:
基于任务处理集群的资源定义,确定所述任务处理集群的管理节点的初始化配置文件和计算节点的初始化配置文件,所述初始化配置文件中至少包括:节点名称字段、节点IP字段和端口字段;
利用所述待创建任务处理集群的信息,获取所述配置文件中的字段对应的字段值,所述待创建任务处理集群的信息包括待创建任务处理集群的集群名称、管理节点和计算节点的节点名称和节点数量;
将所述字段值写入所述初始化配置文件中的对应字段;
生成所述初始化配置文件对应的配置文件实例。
6.根据权利要求5所述的方法,所述生成所述初始化配置文件对应的配置文件实例,包括:
当待创建任务处理集群为多个时,生成多个待创建任务处理集群各自的配置文件实例;
所述基于包含任务执行环境的容器镜像、所述管理节点的配置信息和所述计算节点的配置信息,在所述容器集群的工作节点上,创建用作所述管理节点的容器组和用作所述计算节点的容器组,得到任务处理集群,包括:
分别针对所述多个待创建任务处理集群,基于包含任务执行环境的容器镜像、所针对的待创建任务处理集群的配置文件实例,在所述容器集群的工作节点上,创建用作所述管理节点的容器组和用作所述计算节点的容器组,得到多个任务处理集群。
7.根据权利要求1所述的方法,所述基于包含任务执行环境的容器镜像、所述管理节点的配置信息和所述计算节点的配置信息,在所述容器集群的工作节点上,创建用作所述管理节点的容器组和用作所述计算节点的容器组,包括:
基于包含任务执行环境的容器镜像,使用容器组资源,在所述容器集群的工作节点上,创建用作所述管理节点的容器组;
基于包含任务执行环境的容器镜像,使用有状态负载类型资源,在所述容器集群的工作节点上,创建用作所述计算节点的容器组;
将所述管理节点的配置信息挂载到用作所述管理节点的容器组;
将所述计算节点的配置信息挂载到用作所述计算节点的容器组。
8.根据权利要求1-7任一项所述的方法,还包括:
确定所述管理节点和所述计算节点的节点数量;
创建所述节点数量个服务,一个服务对应一个节点,所述节点包括所述管理节点或所述计算节点;
为所述服务创建域名,建立所述域名与所述节点的IP地址之间的映射关系,使所述节点对外通过所述域名进行通信。
9.根据权利要求8所述的方法,所述域名中的信息包括:待创建任务处理集群的集群名称、所述节点的节点名称和所述容器集群的集群域名后缀,所述节点名称中包含表示所述节点为管理节点或计算节点的角色信息。
10.一种管理任务处理集群的方法,应用于用户端,包括:
显示用于创建任务处理集群的资源对象模板;
接收用户在所述资源对象模板中输入的待创建任务处理集群的信息;
响应于接收到提交命令,将包含所述待创建任务处理集群的信息的所述资源对象模板携带在任务处理集群创建请求中,发送给容器集群的控制节点,使所述容器集群的容器控制器响应于所述任务处理集群创建请求,在所述容器集群的工作节点上创建对应的任务处理集群。
11.一种执行任务的方法,应用于任务处理集群的管理节点,所述任务处理集群基于如权利要求1至9任一项所述的管理任务处理集群的方法创建,所述方法包括:
接收用户端提交的任务;
利用所述管理节点中的任务执行环境的调度机制,向所述任务处理集群的多个任务计算节点分发所述任务对应的子任务,使所述子任务在所述多个任务计算节点并行执行。
12.一种容器集群,包括:容器控制器和由所述容器控制器利用如权利要求1至9任一项所述的管理任务处理集群的方法创建的任务处理集群。
13.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至9任意一项所述管理任务处理集群的方法或实现权利要求10所述执行任务的方法的步骤。
14.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至9任意一项所述管理任务处理集群的方法或实现权利要求10所述执行任务的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211653506.3A CN116010027A (zh) | 2022-12-21 | 2022-12-21 | 管理任务处理集群的方法、执行任务的方法及容器集群 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211653506.3A CN116010027A (zh) | 2022-12-21 | 2022-12-21 | 管理任务处理集群的方法、执行任务的方法及容器集群 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116010027A true CN116010027A (zh) | 2023-04-25 |
Family
ID=86036608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211653506.3A Pending CN116010027A (zh) | 2022-12-21 | 2022-12-21 | 管理任务处理集群的方法、执行任务的方法及容器集群 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116010027A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116501474A (zh) * | 2023-06-08 | 2023-07-28 | 之江实验室 | 一种批量同质任务的处理系统、方法以及装置 |
CN116662938A (zh) * | 2023-07-28 | 2023-08-29 | 深圳竹云科技股份有限公司 | 基于容器集群管理系统的授权方法、应用运行方法及装置 |
CN117348501A (zh) * | 2023-12-05 | 2024-01-05 | 深圳市大族封测科技股份有限公司 | 一种多运动控制卡的联动控制方法及联动控制系统 |
-
2022
- 2022-12-21 CN CN202211653506.3A patent/CN116010027A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116501474A (zh) * | 2023-06-08 | 2023-07-28 | 之江实验室 | 一种批量同质任务的处理系统、方法以及装置 |
CN116501474B (zh) * | 2023-06-08 | 2023-09-22 | 之江实验室 | 一种批量同质任务的处理系统、方法以及装置 |
CN116662938A (zh) * | 2023-07-28 | 2023-08-29 | 深圳竹云科技股份有限公司 | 基于容器集群管理系统的授权方法、应用运行方法及装置 |
CN116662938B (zh) * | 2023-07-28 | 2024-03-29 | 深圳竹云科技股份有限公司 | 基于容器集群管理系统的授权方法、应用运行方法及装置 |
CN117348501A (zh) * | 2023-12-05 | 2024-01-05 | 深圳市大族封测科技股份有限公司 | 一种多运动控制卡的联动控制方法及联动控制系统 |
CN117348501B (zh) * | 2023-12-05 | 2024-02-13 | 深圳市大族封测科技股份有限公司 | 一种多运动控制卡的联动控制方法及联动控制系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2020200723B2 (en) | Systems and methods for blueprint-based cloud management | |
CN109194506B (zh) | 区块链网络部署方法、平台及计算机存储介质 | |
JP7092736B2 (ja) | コンテナオーケストレーションサービスを使用した動的ルーティング | |
CN116010027A (zh) | 管理任务处理集群的方法、执行任务的方法及容器集群 | |
CN110462589A (zh) | 本地装置协调器中的按需代码执行 | |
CN112104723B (zh) | 一种多集群的数据处理系统及方法 | |
CN110658794B (zh) | 一种制造执行系统 | |
CN108513657B (zh) | 数据转换方法及备份服务器 | |
CN104813614A (zh) | 用于iaas的管理的异步框架 | |
US10447553B2 (en) | Systems and methods for service-aware mapping of a system infrastructure | |
CN110352401A (zh) | 具有按需代码执行能力的本地装置协调器 | |
WO2018192478A1 (zh) | 云管理平台、虚拟机管理方法及其系统 | |
EP4376387A2 (en) | Container orchestration system (cos) services discovery across multiple cos clusters based on cos cluster domain name system | |
TWI707561B (zh) | 虛擬網路功能的管理系統和管理方法 | |
US11138215B2 (en) | Method and system for implementing parallel database queries | |
CN114996750A (zh) | 数据共享方法以及装置 | |
CN110489203A (zh) | 一种容器调度框架系统 | |
CN117729251A (zh) | 边缘计算设备、嵌入式设备、控制系统及其构建方法 | |
CN116204307A (zh) | 兼容不同计算框架的联邦学习方法和联邦学习系统 | |
JP2024501005A (ja) | コンテナクラスタのための管理方法および装置 | |
JP2004094411A (ja) | 広域ネットワーク内の透過的な作業環境を有するシン−クライアントのローミングシステムおよび方法 | |
Xiong et al. | Amino-a distributed runtime for applications running dynamically across device, edge and cloud | |
US20230385121A1 (en) | Techniques for cloud agnostic discovery of clusters of a containerized application orchestration infrastructure | |
US20230246916A1 (en) | Service map conversion with preserved historical information | |
CN118051316A (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 |