我有一个作业,我想在 Kubernetes 中重试几次。一个作业可以有一个backoffLimit
和一个activeDeadlineSeconds
集合。到目前为止还不错。
但不幸的是,后一种设置优先于前一种设置。我的作业会阻塞很长时间,直到失败,所以我想有一种方法可以在新的 pod 中重试该任务每个重试并设定截止期限。
例如,尝试五次,每次尝试的截止时间为 30 秒。
在 Kubernetes 中可以实现吗?
答案1
如何为 Kubernetes Job 中的每次尝试(backoffLimit)设置截止期限/超时?
...
在 Kubernetes 中可以实现吗?
您无法在 K8s 中执行此操作,您必须在所使用的脚本或图像中实现逻辑pod
。
正如我们在文档中看到的作业终止和清理 您曾提到过。
请注意,Job 的
.spec.activeDeadlineSeconds
优先级高于其.spec.backoffLimit
。因此,重试一个或多个失败 Pod 的 Job 在达到 指定的时间限制后将不会部署其他 PodactiveDeadlineSeconds
,即使backoffLimit
尚未达到。