我正在嘗試創建一個backofflimit值設定為的 Kubernetes 作業4。所以我想知道,如果 Job 中有一個失敗的 Pod,我想在創建第二個 Pod 之前等待 n 分鐘或 n 秒。有沒有辦法我可以做到這一點?
apiVersion: batch/v1
kind: Job
metadata:
name: pi-test
spec:
template:
spec:
containers:
- name: pi
image: bitnami/git:latest
command: ["/bin/bash", "-c", "gits clone ls -b master"]
restartPolicy: OnFailure
backoffLimit: 4
activeDeadlineSeconds: 120
uj5u.com熱心網友回復:
您可以通過使用liveness probe來實作這一點
示例 Yaml #您可以根據需要進行更改。
apiVersion: batch/v1
kind: Job
metadata:
name: pi-test
spec:
template:
spec:
containers:
- name: pi
image: bitnami/git:latest
args:
- /bin/sh
- -c
- touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600
livenessProbe: # Check if healthy
exec:
command:
- cat
- /tmp/healthy
initialDelaySeconds: 5
periodSeconds: 5
command: ["/bin/bash", "-c", "gits clone ls -b master"]
restartPolicy: OnFailure
backoffLimit: 4
activeDeadlineSeconds: 120
注意initialDelaySeconds:如果你沒有設定初始延遲,探測器一啟動就會開始探測容器,這通常會導致探測失敗,因為應用程式還沒有準備好開始接收請求。如果失敗次數超過了失敗閾值,容器會在它能夠開始正確回應請求之前重新啟動。
Pod 退避失敗策略的注意事項:與 Job 關聯的失敗 Pod 由 Job 控制器重新創建,指數退避延遲(10 秒、20 秒、40 秒 ...)上限為 6 分鐘。參考:
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/446655.html
標籤:Kubernetes
