kubernetes - 等待 Kubernetes 作业完成
问题描述
这是我正在运行的作业列表:
>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-* 工作完成。我在这里找到了这篇文章,但对于某些已完成的工作,它将返回 TRUE。我真的很想等待所有的 trimming-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
用法:
$ wait ([-f FILENAME] | resource.group/resource.name | resource.group [( -l label | --all)]) [ --for =delete|--for condition =available]
您可以将标签与 一起使用kubectl wait
,因此只需执行以下操作即可等待所有修剪作业:
kubectl wait jobs -l jobgroup=trimming --for=condition=complete
推荐阅读
- c - 使用 Strassen 算法进行矩阵乘法的 C 代码有什么问题?
- maven - Package debian with contents from target/classes using Maven
- .htaccess - 调用虚拟目录时需要查看文件是否存在
- shell - 如何将下一行附加到上一行,直到输入字符串匹配
- git - 使用来自利用 Atlassian 的 Bitbucket 的 repo 的 githook
- java - 更换不工作的字符串 Bukkit
- javascript - onupgradeneeded 事件中版本更改事务的正确代码结构
- r - 从数据框中删除特定列缺少数据的行
- php - 如何检查它的字符串在一个单词中有混合字母?
- typescript - TypeScript 从泛型类型创建对象