具有多个作业计数器的kubernetes

时间:2019-10-01 14:29:56

标签: kubernetes kubernetes-pod

kubernetes的新手,我正在尝试使用不带k8s的排队系统来移动当前的管道。

我有一个perl脚本,该脚本为我必须处理的每个样本生成批处理作业(yml文件)列表。 然后我运行this.http.post(url, parameters, { responseType: 'text' });

例如,每个样品需要顺序处理并经过不同的处理

示例:

SampleA->干净->质量-> some_calculation

SampleB->干净->质量-> some_calculation

以此类推,获取300个样本。

因此,想法是准备所有yml文件并按顺序运行它们。工作正常。

但是,使用这种方法,我需要等待所有样本都已处理(也就是说,在我运行下一个作业质量之前,所有清洁作业都需要完成)。

在这种情况下最好的方法是独立运行每个样本?怎么样?

以下yml描述了一项工作的一个示例。您会看到我正在使用计数器(sample1(A)的mergesreads-1)

kubectl apply --recursive -f 16S_jobscripts/

1 个答案:

答案 0 :(得分:1)

如果我对您的理解正确,则可以将parallel-jobsJob Patterns结合使用。

  

它确实支持一组独立但并行的处理   相关工作项。

您也可以考虑使用Argo。 https://github.com/argoproj/argo

  

Argo Workflows是一个开源的容器本机工作流引擎,用于   在Kubernetes上协调并行作业现“ Argo工作流程”为   作为Kubernetes CRD(自定义资源定义)实现。

请告诉我是否有帮助。