如何为 Kubernetes Job 中的每次尝试(backoffLimit)设置截止期限/超时?

如何为 Kubernetes Job 中的每次尝试(backoffLimit)设置截止期限/超时?

我有一个作业,我想在 Kubernetes 中重试几次。一个作业可以有一个backoffLimit和一个activeDeadlineSeconds集合。到目前为止还不错。

但不幸的是,后一种设置优先于前一种设置。我的作业会阻塞很长时间,直到失败,所以我想有一种方法可以在新的 pod 中重试该任务每个重试并设定截止期限。

例如,尝试五次,每次尝试的截止时间为 30 秒。

在 Kubernetes 中可以实现吗?

答案1

如何为 Kubernetes Job 中的每次尝试(backoffLimit)设置截止期限/超时?

...

在 Kubernetes 中可以实现吗?

您无法在 K8s 中执行此操作,您必须在所使用的脚本或图像中实现逻辑pod

正如我们在文档中看到的作业终止和清理 您曾提到过。

请注意,Job 的.spec.activeDeadlineSeconds优先级高于其.spec.backoffLimit。因此,重试一个或多个失败 Pod 的 Job 在达到 指定的时间限制后将不会部署其他 Pod activeDeadlineSeconds,即使backoffLimit尚未达到。

相关内容