通过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,然后选择最新的时间戳。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...