这是我正在运行的作业列表:

>kubectl get jobs
NAME                 COMPLETIONS   DURATION   AGE
create-samplenames   1/1           32s        25h
download-db          1/1           20s        26h
download-fastq       1/1           20s        26h
download-scripts     1/1           22s        32m
trimming-fasta-1     0/1           63s        63s
trimming-fasta-2     0/1           63s        63s
trimming-fasta-3     0/1           63s        63s
trimming-fasta-4     0/1           62s        62s

我正在等待,直到trimming-fasta- *工作完成。我已经找到了here这个帖子,但是对于某些已完成的工作,它将返回TRUE。我真的很想等所有的trim-fasta- *工作都完成了吗?
until kubectl  get jobs   -o jsonpath='{.items[*].status.conditions[?(@.type=="Complete")].status}' ; do sleep 1 ; done
True True True True(base) [david@archlinux otustaxonomy]$

任何只检查裁切作业的想法。顺便说一句,他们都属于同一个工作组,但没有找到任何要检查工作组完成情况的东西
apiVersion: batch/v1
kind: Job
metadata:
  name: trimming-fasta-$idx
  namespace: namespace-test
  labels:
    jobgroup: trimming
spec:....

任何的想法 ??

最佳答案

按照 kubectl wait 的用法:



您可以将标签与kubectl wait一起使用,因此只需执行以下操作即可等待所有修整作业:
kubectl wait jobs -l jobgroup=trimming --for=condition=complete

关于kubernetes - 等待kubernetes作业完成,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58188736/

10-13 08:02
查看更多