通过 kubectl 获取上次成功完成 cronjob 的时间戳



我在 kubernetes 中每隔几分钟运行一次 cronjob,并希望设置一个警报,在 cronjob 停止工作时通知我。

我预计它有时会失败,它调用两个 REST 端点,它们并不总是可用。

我想知道上次成功运行是否发生在 x 分钟前。为此,我需要最后一个成功完成时间戳。

我想使用kubectl命令行工具。我该怎么做?

这比我想象的要容易,这是我使用kubectljq的解决方案:

kubectl get job -l component=<cronjob> -n <namespace> -o json | 
jq -r '.items[] | select(.status.succeeded) | .status.completionTime' | 
sort -r | head -n 1

kubectl获取 cronjob 的所有作业执行并将它们打印为 json。

然后jq选择所有成功的作业并打印其完成时间。

sorthead然后选择最新的时间戳。

最新更新