gpt4 book ai didi

kubernetes - 具有多个作业计数器的kubernetes

转载 作者:行者123 更新时间:2023-12-02 12:14:52 25 4
gpt4 key购买 nike

kubernetes的新手,我试图移动当前使用的管道,而我们使用的是不带k8s的排队系统。

我有一个perl脚本,可为我要处理的每个样本生成批处理作业(yml文件)列表。
然后我运行kubectl apply --recursive -f 16S_jobscripts/
例如,每个样本都需要顺序处理并经历不同的处理

范例:

SampleA->清洁->质量-> some_calculation

SampleB->清洁->质量-> some_calculation

以此类推300个样本

因此,想法是准备所有yml文件并按顺序运行它们。可以了

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

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

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

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

最佳答案

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

It does support parallel processing of a set of independent but related work items.



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

Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. Argo Workflows is implemented as a Kubernetes CRD (Custom Resource Definition).



请让我知道是否有帮助。

关于kubernetes - 具有多个作业计数器的kubernetes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58187036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com