如何使用 kubectl 确定 K8s 作业是失败还是成功?
How to find out if a K8s job failed or succeeded using kubectl?
我有一个运行了一段时间的 Kubernetes 作业,我需要检查它是失败了还是成功了。
我会定期检查:
kubectl describe job/myjob | grep "1 Succeeded"
这行得通,但我担心 kubernetes 的更改会破坏它;比如,消息更改为“1 成功完成”(愚蠢的文字,但你知道我的意思)现在我的 grep 将找不到它要找的东西。
有什么建议吗?这是在 bash 脚本中完成的。
您可以使用 jsonpath 过滤从工作中获取此信息到 select 您感兴趣的工作的 .status.succeeded 字段。它只会 return 您的值有兴趣。
来自 kubectl explain job.status.succeeded
:
The number of pods which reached phase Succeeded.
此命令将为您获取指定特定作业的字段:
kubectl get job <jobname> -o jsonpath={.status.succeeded}
我有一个运行了一段时间的 Kubernetes 作业,我需要检查它是失败了还是成功了。
我会定期检查:
kubectl describe job/myjob | grep "1 Succeeded"
这行得通,但我担心 kubernetes 的更改会破坏它;比如,消息更改为“1 成功完成”(愚蠢的文字,但你知道我的意思)现在我的 grep 将找不到它要找的东西。
有什么建议吗?这是在 bash 脚本中完成的。
您可以使用 jsonpath 过滤从工作中获取此信息到 select 您感兴趣的工作的 .status.succeeded 字段。它只会 return 您的值有兴趣。
来自 kubectl explain job.status.succeeded
:
The number of pods which reached phase Succeeded.
此命令将为您获取指定特定作业的字段:
kubectl get job <jobname> -o jsonpath={.status.succeeded}