私はkubernetesウェブサイトの例に基づいて仕事の定義をしています。Kubernetes - 一度だけジョブを実行する方法
apiVersion: batch/v1
kind: Job
metadata:
name: pi-with-timeout-6
spec:
activeDeadlineSeconds: 30
completions: 1
paralleism: 1
template:
metadata:
name: pi
spec:
containers:
- name: pi
image: perl
command: ["exit", "1"]
restartPolicy: Never
私はこのジョブを1回実行し、失敗した場合は再起動しません。 comand exit 1 kubernetesがexit 0コードを取得するために新しいポッドを実行しようとすると、activeDeadlineSecondsのタイムアウトに達する。それを避けるにはコンパイルを確認するためにkubernetesでビルドコマンドを実行したいと思います。コンパイルが失敗した場合、0以外の終了コードが表示されます。コンパイルを再度実行したくないです。
可能ですか?どうやって?
「バックオフ方針とは、ポッド限界に失敗しました」しかし、どのように/停止コマンドが完了すると、ポッドを殺すために?ジョブの場合、実行中のポッドは停止します。 –
@ rishabh.bhardwaj 'restartPolicy'を' Never'に設定した場合、私の答えのように、ポッドを終了した後に停止します。 – Nebril
ジョブの代わりにポッドを使用する際の問題は、ノードが強制終了されたり、ユーザーの制御下にない他の問題のような偽の理由でポッドが失敗することです。 – ithkuil