CN112328385B - 基于插件化的多场景Kubernetes任务提交方法 - Google Patents

基于插件化的多场景Kubernetes任务提交方法 Download PDF

Info

Publication number
CN112328385B
CN112328385B CN202110000926.0A CN202110000926A CN112328385B CN 112328385 B CN112328385 B CN 112328385B CN 202110000926 A CN202110000926 A CN 202110000926A CN 112328385 B CN112328385 B CN 112328385B
Authority
CN
China
Prior art keywords
task
template
standard
task template
standard 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.)
Active
Application number
CN202110000926.0A
Other languages
English (en)
Other versions
CN112328385A (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.)
Peng Cheng Laboratory
Original Assignee
Peng Cheng Laboratory
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 Peng Cheng Laboratory filed Critical Peng Cheng Laboratory
Priority to CN202110000926.0A priority Critical patent/CN112328385B/zh
Publication of CN112328385A publication Critical patent/CN112328385A/zh
Application granted granted Critical
Publication of CN112328385B publication Critical patent/CN112328385B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了基于插件化的多场景Kubernetes任务提交方法,方法包括:将用户任务模块转译成标准任务模板;为标准任何模板设置对应的影响因子;对具有影响因子的标准任务模板进行检查,筛选出符合预设条件的标准任务模板;对符合预设条件的标准任务模板进行修饰;将修饰后的标准任务模板与唯一的调度器进行绑定,得到绑定后的标准任务模板;将绑定后的标准任务模板设置操作策略,并在设置完成后提交至Kubernetes资源管理服务。本发明将提交任务中所涉及的处理逻辑插件化,当提交任务时,可调用所有的插件运行,既能保证多场景任务成功运行,又能保持任务提交系统自身的可维护性和处理逻辑的松耦合。

Description

基于插件化的多场景Kubernetes任务提交方法
技术领域
本发明涉及任务提交技术领域,尤其涉及基于插件化的多场景Kubernetes任务提交方法。
背景技术
在过去几年中,Kubernetes资源管理系统由于能够对程序运行任务进行灵活管理和调度,得到了各界用户的青睐。用户提交任务到Kubernetes时,需要使用Kubernetes预制的或用户定制的任务模板,并在模板中填写该任务的运行容器镜像、任务名称、任务副本数量、任务启动命令、使用的调度器等参数。不同场景下的任务TFJob、MPIJob、MxNetJob等,提交都需要将各自的任务参数转换为Kubernetes的任务模板,再进行提交。传统的做法是在Kubernetes资源管理服务之前实现一个任务提交系统,在该系统内对不同场景的任务类型进行单独处理,处理后再将统一的任务模板提交给Kubernetes。这种传统的做法不够灵活,每次增加一种新场景任务就需要在任务提交系统中编写新的处理逻辑,不同的任务逻辑耦合紧密,不利于任务提交系统的独立维护。
因此,现有技术还有待改进和提高。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供基于插件化的多场景Kubernetes任务提交方法,旨在解决现有技技术中不容易在地面确定管道的缺陷,造成误开挖或者无法找到缺陷的问题。
为了解决上述技术问题,本发明所采用的技术方案如下:
第一方面,本发明提供一种基于插件化的多场景Kubernetes任务提交方法,其中,所述方法包括:
获取用户任务模板,根据模板转译模块将所述用户任务模块转译成标准任务模板;
根据因子生成模块,为所述标准任何模板设置对应的影响因子,得到具有影响因子的标准任务模板;
根据通行阀门模块,对所述具有影响因子的标准任务模板进行检查,筛选出符合预设条件的标准任务模板;
根据模板修饰模块,对所述符合预设条件的标准任务模板进行修饰,得到修饰后的标准任务模板;
根据任务调度器绑定模块,将所述修饰后的标准任务模板与唯一的调度器进行绑定,得到绑定后的标准任务模板;
根据事件通知模块,为所述绑定后的标准任务模板设置操作策略,并在设置完成后提交至Kubernetes资源管理服务。
在一种实现方式中,所述获取用户任务模板,根据模板转译模块将所述用户任务模块转译成标准任务模板,包括:
提取所述用户任务模板中的运行容器镜像、任务名称、任务副本数量、任务启动命令、使用的调度器;
将运行容器镜像、任务名称、任务副本数量、任务启动命令、使用的调度器填写至预制的标准任务模板中,完成模板转译。
在一种实现方式中,所述影响因子为优先级因子,所述优先级因子用于确定标准任务模板的运行顺序。
在一种实现方式中,所述预设条件为标准任务模板使用的CPU数量小于预设值,所述根据通行阀门模块,对所述具有影响因子的标准任务模板进行检查,筛选出符合预设条件的标准任务模板,包括:
获取所述具有影响因子的标准任务模板使用的CPU数量,并将所述CPU数量与预设值比较;
若所述CPU数量小于预设值,则确定所述具有影响因子的标准任务模板满足所述预设条件,并确定所述具有影响因子的标准任务模板检查通过;
若所述CPU数量大于预设值,则确定所述具有影响因子的标准任务模板不满足所述预设条件,并确定所述具有影响因子的标准任务模板检查不通过。
在一种实现方式中,所述根据通行阀门模块,对所述具有影响因子的标准任务模板进行检查,筛选出符合预设条件的标准任务模板,还包括:
若确定所述具有影响因子的标准任务模板检查不通过,则返回处理原因至任务提交前端界面,并显示给用户。
在一种实现方式中,所述根据模板修饰模块,对所述符合预设条件的标准任务模板进行修饰,得到修饰后的标准任务模板,包括:
在符合预设条件的标准任务模板的的预设字段中增加操作命令或者子项目,以实现对对所述符合预设条件的标准任务模板进行修饰。
第二方面,本发明实施例还提供一种基于插件化的多场景Kubernetes任务提交系统,其中,所述系统包括:
模板转译模块,用于将获取到的用户任务模块转译成标准任务模板;
因子生成模块,用于为所述标准任何模板设置对应的影响因子,得到具有影响因子的标准任务模板;
通行阀门模块,用于对所述具有影响因子的标准任务模板进行检查,筛选出符合预设条件的标准任务模板;
模板修饰模块,用于对所述符合预设条件的标准任务模板进行修饰,得到修饰后的标准任务模板;
任务调度器绑定模块,用于将所述修饰后的标准任务模板与唯一的调度器进行绑定,得到绑定后的标准任务模板;
事件通知模块,用于为所述绑定后的标准任务模板设置操作策略,并在设置完成后提交至Kubernetes资源管理服务。
在一种实现方式中,所述模板转译模块、所述因子生成模块、所述通行阀门模块、所述模板修饰模块、所述任务调度器绑定模块以及所述事件通知模块均设置为独立插件。
第三方面,本发明实施例还提供一种终端设备,其特征在于,所述终端设备包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的基于插件化的多场景Kubernetes任务提交程序,所述处理器执行所述基于插件化的多场景Kubernetes任务提交程序时,实现上述方案中的任一项所述的基于插件化的多场景Kubernetes任务提交方法的步骤。
第四方面,本发明实施例还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于插件化的多场景Kubernetes任务提交程序,所述基于插件化的多场景Kubernetes任务提交程序被处理器执行时,实现上述方案中任一项所述的基于插件化的多场景Kubernetes任务提交方法的步骤。
有益效果:与现有技术相比,本发明提供了一种基于插件化的多场景Kubernetes任务提交方法,本发明首先获取用户任务模板,根据模板转译模块将所述用户任务模块转译成标准任务模板。然后根据因子生成模块,为所述标准任何模板设置对应的影响因子,得到具有影响因子的标准任务模板。接着根据通行阀门模块,对所述具有影响因子的标准任务模板进行检查,筛选出符合预设条件的标准任务模板。再然后根据模板修饰模块,对所述符合预设条件的标准任务模板进行修饰,得到修饰后的标准任务模板。接着根据任务调度器绑定模块,将所述修饰后的标准任务模板与唯一的调度器进行绑定,得到绑定后的标准任务模板。最后根据事件通知模块,为所述绑定后的标准任务模板设置操作策略,并在设置完成后提交至Kubernetes资源管理服务。可见,本发明将提交任务中所涉及的处理逻辑插件化,当提交任务时,可调用所有的插件运行,既能保证多场景任务成功运行,又能保持任务提交系统自身的可维护性和处理逻辑的松耦合。
附图说明
图1为本发明实施例提供的基于插件化的多场景Kubernetes任务提交方法的具体实施方式的流程图。
图2为本发明实施例提供的基于插件化的多场景Kubernetes任务提交方法的具体应用时的示意图。
图3是本发明实施例提供的基于插件化的多场景Kubernetes任务提交装置的原理框图。
图4是本发明实施例提供的终端设备的内部结构原理框图。
具体实施方式
为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
在过去几年中,Kubernetes资源管理系统由于能够对程序运行任务进行灵活管理和调度,得到了各界用户的青睐。用户提交任务到Kubernetes时,需要使用Kubernetes预制的或用户定制的任务模板,并在模板中填写该任务的运行容器镜像、任务名称、任务副本数量、任务启动命令、使用的调度器等参数。不同场景下的任务TFJob、MPIJob、MxNetJob等,提交都需要将各自的任务参数转换为Kubernetes的任务模板,再进行提交。传统的做法是在Kubernetes资源管理服务之前实现一个任务提交系统,在该系统内对不同场景的任务类型进行单独处理,处理后再将统一的任务模板提交给Kubernetes。这种传统的做法不够灵活,每次增加一种新场景任务就需要在任务提交系统中编写新的处理逻辑,不同的任务逻辑耦合紧密,不利于任务提交系统的独立维护。
并且,经过研究发现,当前所有的Kubernetes任务提交平台,这些平台有的只能处理单个场景下单一类型任务的提交,有的只能处理少数种不同场景任务的提交。并且这些平台都难以扩展,当任务类型数量很大时无法为所有任务类型编写处理逻辑。此外,这些平台中不同任务类型的处理逻辑具有时间耦合性、数据耦合性或逻辑耦合性。当一种任务类型的处理逻辑出现故障往往会影响到其他任务类型的任务提交。这对于多场景下不同类型任务的提交造成了很大的阻碍,严重影响了用户体验。
为了解决现有技术的问题,本实施例提供一种基于插件化的多场景Kubernetes任务提交方法,通过本实施例的方法,可将提交任务中所涉及的处理逻辑插件化,当提交任务时,可调用所有的插件运行,既能保证多场景任务成功运行,又能保持任务提交系统自身的可维护性和处理逻辑的松耦合。具体实施时,本实施例首先获取用户任务模板,根据模板转译模块将所述用户任务模块转译成标准任务模板。然后根据因子生成模块,为所述标准任何模板设置对应的影响因子,得到具有影响因子的标准任务模板。接着根据通行阀门模块,对所述具有影响因子的标准任务模板进行检查,筛选出符合预设条件的标准任务模板。再然后根据模板修饰模块,对所述符合预设条件的标准任务模板进行修饰,得到修饰后的标准任务模板。接着根据任务调度器绑定模块,将所述修饰后的标准任务模板与唯一的调度器进行绑定,得到绑定后的标准任务模板。最后根据事件通知模块,为所述绑定后的标准任务模板设置操作策略,并在设置完成后提交至Kubernetes资源管理服务。可见,在整个任务提交流程中,将涉及到的所有逻辑实现插件化,从而实现了灵活的多场景任务提交机制。
示例性方法
本实施例中的基于插件化的多场景Kubernetes任务提交方法可应用于终端设备中,本实施例与传统的任务提交系统中,不同是是将不与不同场景任务类型自身相关的逻辑插件化,插件的实现由用户提供。我们的方法将整个任务提交系统分为两部分,分别为核心模块和用户插件。如图2中所示,核心模块包括模板翻译、因子生成、通行闸门、模板修饰、调度器绑定5个流程模块和1个事件通知模块。核心模块的5个阶段按顺序执行,用户可以在每个阶段定义自己的处理逻辑插件。具体地,如图1中所示,所述方法包括如下步骤:
步骤S100、获取用户任务模板,根据模板转译模块将所述用户任务模块转译成标准任务模板。
具体地,开发者用户可以编写各种场景的用户任务模板,比如kubeflow的TFJob,在模板转译阶段由对应的插件转译成本系统预制好的标准任务模板。所以本实施例中的模板转译模块是用于将用户任务模板到标准任务模板的转译。具体而言,核心模块会将用户自己定义模板对象如TFJob在此阶段的插件接口传递给用户处理。因此就需要提取所述用户任务模板中的运行容器镜像、任务名称、任务副本数量、任务启动命令、使用的调度器;然后将运行容器镜像、任务名称、任务副本数量、任务启动命令、使用的调度器填写至预制的标准任务模板中,完成模板转译。
步骤S200、根据因子生成模块,为所述标准任何模板设置对应的影响因子,得到具有影响因子的标准任务模板。
由于业务需要,在提交任务模板时会根据不同策略产生一些影响任务运行的影响因子,这个场景的特点是产生影响因子的策略相互独立,对同一个主题各自提出自己的意见,在之后会有一个角色聚合这个意见。此处以产生优先级因子为例,即所述影响因子可为优先级因子,开发者用户想要从不同维度评价一个任务的优先级,比如根据任务提交者的级别来确定该任务的运行顺序。开发者用户就可以在因子生成插件处编码实现逻辑,为每个任务生成一个优先级因子,每个优先级因子由3个关键字组成,分别为topic、advice、reason。例如根据插件逻辑为某个任务生成一个优先级因子,Json格式文本为{"topic":"priority","advice":"10","reason":"user is admin"},表明建议该任务优先级为10。生成了该优先级因子并不意味着任务的优先级立即发生变化,因子生成模块只作为一个生产者的角色,需要由后续的其他插件进行消费。此例子中生成的影响因子可在调度器绑定模块的逻辑中进行消费,即角色聚合。开发者用户可在调度器绑定插件中检查任务的优先级因子,并在调度器中设定该任务的优先级。因子生成模块的作用能够在一次性产生影响因子后,在后续的多处插件逻辑中使用,也能够组合多种因子使用。
步骤S300、根据通行阀门模块,对所述具有影响因子的标准任务模板进行检查,筛选出符合预设条件的标准任务模板。
为了防止用户提交者提交非法或不符合规定的任务,需要进行任务模板检查。任务提交系统的核心模块会进行一般性的检查,而与特定场景相关的检查逻辑则由开发者用户在通行闸门模块处进行规定。检查一个任务,并做出一个决定,这里规定只能做出三种决定:检查通过,流程继续;暂时不通过,可被唤醒,流程暂停;检查不通过,不可被唤醒,流程终止。也就是说,本实施例中的通行阀门模块可用于对具有影响因子的标准任务模板进行筛选,以确定出符合预设条件的标准任务模板。
在一种实现方式中,本实施例中的所述预设条件为标准任务模板使用的CPU数量小于预设值。因此在来对具有影响因子的标准任务模板进行检查时,可获取所述具有影响因子的标准任务模板使用的CPU数量,并将所述CPU数量与预设值比较;若所述CPU数量小于预设值,则确定所述具有影响因子的标准任务模板满足所述预设条件,并确定所述具有影响因子的标准任务模板检查通过。若所述CPU数量大于预设值,则确定所述具有影响因子的标准任务模板不满足所述预设条件,并确定所述具有影响因子的标准任务模板检查不通过。而如果确定所述具有影响因子的标准任务模板检查不通过,则返回处理原因至任务提交前端界面,并显示给用户。
步骤S400、根据模板修饰模块,对所述符合预设条件的标准任务模板进行修饰,得到修饰后的标准任务模板。
在本实施例中,模板修饰模块允许对所述符合预设条件的标准任务模板进行修饰,但是允许做增量的修改,不同修饰器之间的修饰结果不得有冲突。具体地,实施例可在符合预设条件的标准任务模板的的预设字段中增加操作命令或者子项目,以实现对所述符合预设条件的标准任务模板进行修饰比如在某场景下,所有任务在运行之前都需要创建一个文件进行日志记录,则可以获取日志记录,则可以在本任务提交系统的所述符合预设条件的标准任务模板的command字段中增加创建文件的操作命令。或者某场景下需要在容器内挂载宿主机一个磁盘,则可以在所述符合预设条件的标准任务模板中的volume字段中增加一个子项来实现。
步骤S500、根据任务调度器绑定模块,将所述修饰后的标准任务模板与唯一的调度器进行绑定,得到绑定后的标准任务模板。
在实施例中每个任务模板只能匹配唯一的调度器,因此,本实施例在进行调度器绑定时,绑定唯一的调度器,默认使用Kubernates提供的默认调度器。
步骤S600、根据事件通知模块,为所述绑定后的标准任务模板设置操作策略,并在设置完成后提交至Kubernetes资源管理服务。
由于任务生命周期中存在多个状态,比如Waiting、Running、Completed、Failed、Succeeded、Stopped,当在出现特定状态变更时,需要做一些操作,比如在任务结束时就可以进行该任务的统计工作。因此,本实施例就为所述绑定后的标准任务模板设置操作策略,这样就可以在任务模板出现状态变更时执行对应的操作。设置完成后,提交至Kubernetes资源管理服务。通过以上的核心模块和用户自定义的插件逻辑互相配合,就能够实现灵活的多场景任务提交。
可见,本实施例在整个任务提交流程中,将涉及到的所有逻辑实现插件化,从而实现了灵活的多场景任务提交机制。由于所有的处理逻辑均实现插件化,因此在需要增加新的场景时只需关注该场景需求,不需改动任务提交系统本身,做到场景独立。本实施例通过向任务提交系统的核心模块注册增加策略,也可以从禁用一些策略,用户可以随意组合,方便开源社区用户贡献代码,所有用户不需要在同一个项目修改代码,只需要提供自己的插件代码,也可以直接使用其他用户提供的插件。
示例性设备
如图3中所示,本发明实施例提供一种基于插件化的多场景Kubernetes任务提交装置,该装置包括:模板转译模块10、因子生成模块20、通行阀门模块30、模板修饰模块40、任务调度器绑定模块50、事件通知模块60。具体地,所述模板转译模块10,用于将获取到的用户任务模块转译成标准任务模板。所述因子生成模块20,用于为所述标准任何模板设置对应的影响因子,得到具有影响因子的标准任务模板。所述通行阀门模块30,用于对所述具有影响因子的标准任务模板进行检查,筛选出符合预设条件的标准任务模板。所述模板修饰模块40,用于对所述符合预设条件的标准任务模板进行修饰,得到修饰后的标准任务模板。所述任务调度器绑定模块50,用于将所述修饰后的标准任务模板与唯一的调度器进行绑定,得到绑定后的标准任务模板。所述事件通知模块60,用于为所述绑定后的标准任务模板设置操作策略,并在设置完成后提交至Kubernetes资源管理服务。并且,所述模板转译模块10、所述因子生成模块20、所述通行阀门模块30、所述模板修饰模块40、所述任务调度器绑定模块50以及所述事件通知模块60均设置为独立插件。
基于上述实施例,本发明还提供了一种终端设备,其原理框图可以如图4所示。该终端设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏、温度传感器。其中,该终端设备的处理器用于提供计算和控制能力。该终端设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该终端设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于插件化的多场景Kubernetes任务提交方法。该终端设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该终端设备的温度传感器是预先在终端设备内部设置,用于检测内部设备的运行温度。
本领域技术人员可以理解,图4中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的终端设备的限定,具体的终端设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种终端设备,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
获取用户任务模板,根据模板转译模块将所述用户任务模块转译成标准任务模板;
根据因子生成模块,为所述标准任何模板设置对应的影响因子,得到具有影响因子的标准任务模板;
根据通行阀门模块,对所述具有影响因子的标准任务模板进行检查,筛选出符合预设条件的标准任务模板;
根据模板修饰模块,对所述符合预设条件的标准任务模板进行修饰,得到修饰后的标准任务模板;
根据任务调度器绑定模块,为所述修饰后的标准任务模板与唯一的调度器进行绑定,得到绑定后的标准任务模板;
根据事件通知模块,为所述绑定后的标准任务模板设置操作策略,并在设置完成后提交至Kubernetes资源管理服务。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
综上,本发明公开了基于插件化的多场景Kubernetes任务提交方法,方法包括:将用户任务模块转译成标准任务模板;为标准任何模板设置对应的影响因子;对具有影响因子的标准任务模板进行检查,筛选出符合预设条件的标准任务模板;对符合预设条件的标准任务模板进行修饰;将修饰后的标准任务模板与唯一的调度器进行绑定,得到绑定后的标准任务模板;将绑定后的标准任务模板设置操作策略,并在设置完成后提交至Kubernetes资源管理服务。本发明将提交任务中所涉及的处理逻辑插件化,当提交任务时,可调用所有的插件运行,既能保证多场景任务成功运行,又能保持任务提交系统自身的可维护性和处理逻辑的松耦合。。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.一种基于插件化的多场景Kubernetes任务提交方法,其特征在于,所述方法包括:
获取用户任务模板,根据模板转译模块将所述用户任务模板转译成标准任务模板;
根据因子生成模块,为所述标准任务模板设置对应的影响因子,得到具有影响因子的标准任务模板;
根据通行阀门模块,对所述具有影响因子的标准任务模板进行检查,筛选出符合预设条件的标准任务模板;
根据模板修饰模块,对所述符合预设条件的标准任务模板进行修饰,得到修饰后的标准任务模板;
根据任务调度器绑定模块,将所述修饰后的标准任务模板与唯一的调度器进行绑定,得到绑定后的标准任务模板;
根据事件通知模块,为所述绑定后的标准任务模板设置操作策略,并在设置完成后提交至Kubernetes资源管理服务;
所述预设条件为标准任务模板使用的CPU数量小于预设值,所述根据通行阀门模块,对所述具有影响因子的标准任务模板进行检查,筛选出符合预设条件的标准任务模板,包括:
获取所述具有影响因子的标准任务模板使用的CPU数量,并将所述CPU数量与预设值比较;
若所述CPU数量小于预设值,则确定所述具有影响因子的标准任务模板满足所述预设条件,并确定所述具有影响因子的标准任务模板检查通过;
若所述CPU数量大于预设值,则确定所述具有影响因子的标准任务模板不满足所述预设条件,并确定所述具有影响因子的标准任务模板检查不通过。
2.根据权利要求1所述的基于插件化的多场景Kubernetes任务提交方法,其特征在于,所述获取用户任务模板,根据模板转译模块将所述用户任务模板转译成标准任务模板,包括:
提取所述用户任务模板中的运行容器镜像、任务名称、任务副本数量、任务启动命令、使用的调度器;
将运行容器镜像、任务名称、任务副本数量、任务启动命令、使用的调度器填写至预制的标准任务模板中,完成模板转译。
3.根据权利要求1所述的基于插件化的多场景Kubernetes任务提交方法,其特征在于,所述影响因子为优先级因子,所述优先级因子用于确定标准任务模板的运行顺序。
4.根据权利要求1所述的基于插件化的多场景Kubernetes任务提交方法,其特征在于,所述根据通行阀门模块,对所述具有影响因子的标准任务模板进行检查,筛选出符合预设条件的标准任务模板,还包括:
若确定所述具有影响因子的标准任务模板检查不通过,则返回处理原因至任务提交前端界面,并显示给用户。
5.根据权利要求1所述的基于插件化的多场景Kubernetes任务提交方法,其特征在于,所述根据模板修饰模块,对所述符合预设条件的标准任务模板进行修饰,得到修饰后的标准任务模板,包括:
在符合预设条件的标准任务模板的预设字段中增加操作命令或者子项目,以实现对所述符合预设条件的标准任务模板进行修饰。
6.一种基于插件化的多场景Kubernetes任务提交系统,其特征在于,所述系统包括:
模板转译模块,用于将获取到的用户任务模板转译成标准任务模板;
因子生成模块,用于为所述标准任务模板设置对应的影响因子,得到具有影响因子的标准任务模板;
通行阀门模块,用于对所述具有影响因子的标准任务模板进行检查,筛选出符合预设条件的标准任务模板;
模板修饰模块,用于对所述符合预设条件的标准任务模板进行修饰,得到修饰后的标准任务模板;
任务调度器绑定模块,用于将所述修饰后的标准任务模板与唯一的调度器进行绑定,得到绑定后的标准任务模板;
事件通知模块,用于为所述绑定后的标准任务模板设置操作策略,并在设置完成后提交至Kubernetes资源管理服务;
所述预设条件为标准任务模板使用的CPU数量小于预设值,所述通行阀门模块,包括:
获取所述具有影响因子的标准任务模板使用的CPU数量,并将所述CPU数量与预设值比较;
若所述CPU数量小于预设值,则确定所述具有影响因子的标准任务模板满足所述预设条件,并确定所述具有影响因子的标准任务模板检查通过;
若所述CPU数量大于预设值,则确定所述具有影响因子的标准任务模板不满足所述预设条件,并确定所述具有影响因子的标准任务模板检查不通过。
7.根据权利要求6所述的基于插件化的多场景Kubernetes任务提交系统,其特征在于,所述模板转译模块、所述因子生成模块、所述通行阀门模块、所述模板修饰模块、所述任务调度器绑定模块以及所述事件通知模块均设置为独立插件。
8.一种终端设备,其特征在于,所述终端设备包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的基于插件化的多场景Kubernetes任务提交程序,所述处理器执行所述基于插件化的多场景Kubernetes任务提交程序时,实现如权利要求1-5任一项所述的基于插件化的多场景Kubernetes任务提交方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于插件化的多场景Kubernetes任务提交程序,所述基于插件化的多场景Kubernetes任务提交程序被处理器执行时,实现如权利要求1-5任一项所述的基于插件化的多场景Kubernetes任务提交方法的步骤。
CN202110000926.0A 2021-01-04 2021-01-04 基于插件化的多场景Kubernetes任务提交方法 Active CN112328385B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110000926.0A CN112328385B (zh) 2021-01-04 2021-01-04 基于插件化的多场景Kubernetes任务提交方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110000926.0A CN112328385B (zh) 2021-01-04 2021-01-04 基于插件化的多场景Kubernetes任务提交方法

Publications (2)

Publication Number Publication Date
CN112328385A CN112328385A (zh) 2021-02-05
CN112328385B true CN112328385B (zh) 2021-04-06

Family

ID=74301474

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110000926.0A Active CN112328385B (zh) 2021-01-04 2021-01-04 基于插件化的多场景Kubernetes任务提交方法

Country Status (1)

Country Link
CN (1) CN112328385B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104166590A (zh) * 2013-05-20 2014-11-26 阿里巴巴集团控股有限公司 一种实现任务调度的方法及系统
CN111767134A (zh) * 2020-05-18 2020-10-13 鹏城实验室 一种多任务动态资源调度方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106569789B (zh) * 2015-10-13 2020-06-12 北京国双科技有限公司 任务提交的方法和装置
DE112016005867T5 (de) * 2015-12-21 2018-09-20 Amazon Technologies, Inc. Live-Pipeline-Vorlagen - Erstellung und Erweiterbarkeit der Vorlagen
US10467052B2 (en) * 2017-05-01 2019-11-05 Red Hat, Inc. Cluster topology aware container scheduling for efficient data transfer
US10810043B2 (en) * 2017-05-04 2020-10-20 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing a scheduler and workload manager with cyclical service level target (SLT) optimization
CN108694053A (zh) * 2018-05-14 2018-10-23 平安科技(深圳)有限公司 基于Ansible工具自动搭建Kubernetes主节点的方法及终端设备
CN109067862B (zh) * 2018-07-23 2020-10-16 北京邮电大学 API Gateway自动伸缩的方法与装置
CN108984205A (zh) * 2018-07-26 2018-12-11 浙江大学 一种基于容器技术的应用自动化构建与部署的方法及装置
US10778540B2 (en) * 2018-12-10 2020-09-15 Sap Se Scalable infrastructure for developing, running, and deploying arbitrary applications
CN110058863A (zh) * 2019-03-16 2019-07-26 平安城市建设科技(深圳)有限公司 Docker容器的构建方法、装置、设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104166590A (zh) * 2013-05-20 2014-11-26 阿里巴巴集团控股有限公司 一种实现任务调度的方法及系统
CN111767134A (zh) * 2020-05-18 2020-10-13 鹏城实验室 一种多任务动态资源调度方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Docker的源合云应用编排方案研究;孙庚泽;《中国优秀硕士学位论文全文数据库信息科技辑》;20170315(第3期);第22-58页 *

Also Published As

Publication number Publication date
CN112328385A (zh) 2021-02-05

Similar Documents

Publication Publication Date Title
US7272752B2 (en) Method and system for integrating test coverage measurements with model based test generation
US9632771B2 (en) Association of metadata with source code and applications and services premised thereon
US20080127303A1 (en) Generating security validation code automatically
CN108595342B (zh) 单元测试方法和装置
CN111399853A (zh) 机器学习模型与自定义算子的模板化部署方法
WO2019056720A1 (zh) 自动化测试用例管理方法、装置、设备及存储介质
CN110716878B (zh) 一种接口自动化测试方法、装置及系统
US20220237057A1 (en) Code consolidation system
CN111324540B (zh) 一种接口测试方法及装置
US8762781B2 (en) Method and apparatus useful in manufacturing test case operations
CN112328385B (zh) 基于插件化的多场景Kubernetes任务提交方法
US20210232495A1 (en) System and method for executing a test case
US8037357B2 (en) System and method for generating test job control language files
CN111881056A (zh) 一种自动化测试框架及测试方法
CN116501415A (zh) 命令执行方法及装置、电子设备、计算机可读存储介质
US20150082278A1 (en) Clone detection method and clone function commonalizing method
CN115080433A (zh) 基于流量回放的测试方法及装置
CN113204533A (zh) 日志级别调节方法、装置、计算机设备和存储介质
US20150370686A1 (en) Methods and apparatus for debugging of remote systems
CN111897714B (zh) 一种基于辅助测试工具的测试数据沉淀方法、装置及系统
CN117908930B (zh) 代码与代码文档的同步方法、装置、设备、介质及产品
US20230350788A1 (en) Method and system for providing delta code coverage information for work items
US20230028560A1 (en) Identification of diagnostic messages corresponding to exceptions
US20230350792A1 (en) System, method, and computer program for development driven test automation
CN117908930A (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