具有多个作业计数器的kubernetes

具有多个作业计数器的kubernetes,kubernetes,kubernetes-pod,Kubernetes,Kubernetes Pod,我是库伯内特斯的新手,我正在尝试移动一条现有的管道,我们使用的是没有K8的queing系统 我有一个perl脚本,它为我必须处理的每个示例生成一个批处理作业列表(yml文件)。 然后我运行kubectl apply--recursive-f 16S\u jobscripts/ 例如,每个样品需要按顺序处理,并经过不同的处理 例如: 样品->清洁->质量->一些计算 样本->清洁->质量->一些计算 等等,300个样品 因此,我们的想法是准备所有的yml文件并按顺序运行它们。这是有效的 但是,使用

我是库伯内特斯的新手,我正在尝试移动一条现有的管道,我们使用的是没有K8的queing系统

我有一个perl脚本,它为我必须处理的每个示例生成一个批处理作业列表(yml文件)。 然后我运行
kubectl apply--recursive-f 16S\u jobscripts/

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

例如:

样品->清洁->质量->一些计算

样本->清洁->质量->一些计算

等等,300个样品

因此,我们的想法是准备所有的yml文件并按顺序运行它们。这是有效的

但是,使用这种方法,我需要等待所有样本都被处理(假设在我运行下一个作业之前,所有干净的作业都需要完成)

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

下面的yml描述了一份工作的一个样本。您可以看到,我正在使用一个计数器(mergereads-1用于样本1(a))


如果我理解正确,你可以使用

它确实支持对一组独立但 相关工作项目

<>也可以考虑使用ARGO。

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


如果有帮助,请告诉我

SampleB开始之前是否需要完成清洁->质量->一些计算?你能详细描述一下当前的工作流程和期望的工作流程吗?根据您目前提供的内容,很难理解。我希望每个样本都可以独立运行。所以Samamreac->clean->然后是quality->然后是一些计算,理想情况下,我希望每个样本彼此独立运行。你会怎么做?嗨,是的,很有帮助。对不起,我的描述不够清楚。但我要研究的是argo,它似乎适合并行运行所有样本。你知道有任何教程或简单的例子使用这两种工作模式吗?很高兴听到这个。我找到了一些你可能会觉得有用的。
apiVersion: batch/v1
kind: Job
metadata:
  name: merge-reads-1
  namespace: namespace-id-16s
  labels:
    jobgroup: mergereads
spec:
  template:
    metadata:
      name: mergereads-1
      labels:
        jobgroup: mergereads
    spec:
      containers:
        - name: mergereads-$idx
          image: .../bbmap:latest
          command: ['sh', '-c']
          args: ['
          cd workdir &&

          bbmerge.sh -Xmx1200m in1=files/trimmed/1.R1.trimmed.fq.gz in2=files/trimmed/1.R2.trimmed.fq.gz  out=files/mergedpairs/1.merged.fq.gz  merge=t mininsert=300 qtrim2=t minq=27 ratiomode=t &&
          ls files/mergedpairs/ 
          ']

          resources:
            limits:
              cpu: 1
              memory: 2000Mi
            requests:
              cpu: 0.8
              memory: 1500Mi
          volumeMounts:
            - mountPath: '/workdir'
              name: db
      volumes:
        - name: db
          persistentVolumeClaim:
            claimName: workdir
      restartPolicy: Never