如何在 Kubernetes 作業中為每次嘗試設定截止時間/逾時 (backoffLimit)?

如何在 Kubernetes 作業中為每次嘗試設定截止時間/逾時 (backoffLimit)?

我有一項工作想在 Kubernetes 中重試幾次。一個作業可以有一個backoffLimit和一個activeDeadlineSeconds集合。到目前為止很酷。

然而,不幸的是,後一種設定優先於第一種設定。我的作業會阻塞很長時間直到失敗,所以我希望有一種方法可以在新的 Pod 中重試該任務每個重試有期限。

例如,嘗試五次,每次嘗試的截止時間為 30 秒。

這在 Kubernetes 中可能嗎?

答案1

如何在 Kubernetes 作業中為每次嘗試設定截止時間/逾時 (backoffLimit)?

這在 Kubernetes 中可能嗎?

在 K8s 中您無法做到這一點,您必須將邏輯實現到您在pod.

正如我們在文檔中所讀到的作業終止和清理 你有提到過。

請注意,Job 的.spec.activeDeadlineSeconds優先順序高於其.spec.backoffLimit。因此,重試一個或多個失敗 Pod 的作業一旦達到 指定的時間限制activeDeadlineSeconds,即使backoffLimit尚未達到,也不會部署其他 Pod。

相關內容