【技术实现步骤摘要】
基于Argo的工作流连续调度方法和装置
[0001]本专利技术涉及容器编排领域,尤其涉及一种基于Argo的工作流连续调度方法和装置。
技术介绍
[0002]Argo(容器本地工作流引擎)是一个基于kubernetes CRD(自定义资源)实现的一个Workflow(工作流)开源工具,它基于kubernetes的调度能力实现了工作流的控制和任务的运行。
[0003]但是,Argo侧重于工作流任务的调度,多工作流之间的调度以及参数传递,大多是通过手动实现,消耗人力成本且不利于调度的灵活性。
技术实现思路
[0004]本专利技术的目的是提供一种基于Argo的工作流连续调度方法和装置,以解决需要手动实现多工作流之间的调度以及参数传递的问题,从而使工作流之间的调度更加灵活。
[0005]第一个方面,本专利技术实施例提供一种基于Argo的工作流连续调度方法,包括:
[0006]获取工作流模板;其中,所述工作流模板包含第一工作流脚本片段和触发第二工作流的脚本片段;所述触发第二工作流的脚本片段,配置了 ...
【技术保护点】
【技术特征摘要】
1.一种基于Argo的工作流连续调度方法,其特征在于,所述方法包括:获取工作流模板;其中,所述工作流模板包含第一工作流脚本片段和触发第二工作流的脚本片段;所述触发第二工作流的脚本片段,配置了第一工作流向第二工作流传参时的传参方式以及传参参数项;根据所述工作流模板,生成应用实例对应的工作流代码文件和argo events资源;利用所述工作流代码文件和所述argo events资源,实现第一工作流与第二工作流之间的连续调度。2.根据权利要求1所述的基于Argo的工作流连续调度方法,其特征在于,所述第一工作流脚本片段,通过容器编排方式定义了第一工作流的任务以及任务之间的依赖关系;所述任务包括任务名称、任务参数、任务参数值和任务执行逻辑;所述传参方式,是通过curl命令中webhook接口的API地址,调用webhook接口,以利用webhook接口实现第一工作流与第二工作流之间的参数传递;所述第一工作流脚本片段和所述触发第二工作流的脚本片段,编辑了用于指代应用实例的应用实例编号;所述工作流模板中curl命令中webhook接口的API地址、应用实例编号和任务参数值,均是以参数占位符填充的。3.根据权利要求2所述的基于Argo的工作流连续调度方法,其特征在于,所述根据所述工作流模板,生成与应用实例对应的工作流代码文件和argo events资源,包括:绑定工作流模板与应用实例,以得到实例化工作流模板;通过工作流服务接口调用argo events服务,以使argo events服务按照实例化工作流模板创建应用实例对应的argo events资源;其中,所述argo events资源包括:定时任务、第一触发器、第二触发器和webhook接口;将所述curl命令给定的webhook接口的API地址替换为创建的webhook接口的API地址,进而得到应用实例对应的工作流代码文件;其中,所述第一触发器,具备监听所述定时任务以及触发第一工作流执行的功能;所述第二触发器,具备监听所述创建的webhook接口以及触发第二工作流执行的功能。4.根据权利要求3所述的基于Argo的工作流连续调度方法,其特征在于,所述绑定工作流模板与应用实例,以得到实例化工作流模板,包括:在收到工作流模板与应用实例绑定指令的情况下,为应用实例自动生成应用实例编号;将所述工作流模板中的应用实例编号替换为所述生成的应用实例编号,同时将所述工作流模板中的任务参数值替换为应用实例中的任务参数值,以得到实例化工作流模板。5....
【专利技术属性】
技术研发人员:赵永旺,李强,王超,
申请(专利权)人:浪潮通信技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。