コンテナのentrypointコマンドでGNU timeout
ユーティリティを使用してタイムアウトを自己申告できます。
apiVersion: batch/v1
kind: Job
metadata:
name: pi
spec:
template:
metadata:
name: pi
spec:
containers:
- name: pi
image: perl
command: ["/usr/bin/timeout", "10", "perl", "-Mbignum=bpi", "-wle", "print bpi(4000)"]
restartPolicy: Never
が
あなたは数字で遊ぶことができます
(マニフェストがhttps://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/#running-an-example-jobから採用)とそれにタイムアウトを参照してください。
例えば、PIの最初の4000個の数字を計算し、次の仕事は、10秒後にタイムアウトしますか否か。一般的に、私のワークステーションでは、約4000桁のpiの計算には約23秒かかるので、5秒に設定すると常に失敗します.120秒に設定すると、常に動作します。
生存プローブの活用はどうですか?必要な時間だけ成功を返すプローブを作成し、期限に達するとfailure(1)を返してコンテナを破棄します。 livenessプローブの詳細:https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/ –