3.2.4. ジョブの作成
ジョブオブジェクトを作成して OpenShift Container Platform にジョブを作成します。
手順
ジョブを作成するには、以下を実行します。
以下のような YAML ファイルを作成します。
apiVersion: batch/v1 kind: Job metadata: name: pi spec: parallelism: 1 1 completions: 1 2 activeDeadlineSeconds: 1800 3 backoffLimit: 6 4 template: 5 metadata: name: pi spec: containers: - name: pi image: perl command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"] restartPolicy: OnFailure 6
オプションで、ジョブが並列で実行される Pod のレプリカ数を指定します。デフォルトは
1
に設定されます。-
非並列ジョブの場合は、未設定のままにします。未設定の場合は、デフォルトの
1
に設定されます。
-
非並列ジョブの場合は、未設定のままにします。未設定の場合は、デフォルトの
オプションで、ジョブを完了 (completed) としてマークするために必要な Pod の正常な完了数を指定します。
-
非並列ジョブの場合は、未設定のままにします。未設定の場合は、デフォルトの
1
に設定されます。 - 固定の完了数を持つ並列ジョブの場合、完了の数を指定します。
-
ワークキューのある並列ジョブでは、未設定のままにします。未設定の場合、デフォルトは
parallelism
値に設定されます。
-
非並列ジョブの場合は、未設定のままにします。未設定の場合は、デフォルトの
- オプションで、ジョブを実行できる最長期間を指定します。
- オプションで、ジョブの再試行回数を指定します。このフィールドは、デフォルトでは 6 に設定されています。
- コントローラーが作成する Pod のテンプレートを指定します。
Pod の再起動ポリシーを指定します。
-
Never
.ジョブを再起動しません。 -
OnFailure
.ジョブが失敗した場合にのみ再起動します。 Always
ジョブを常に再起動します。OpenShift Container Platform が失敗したコンテナーについて再起動ポリシーを使用する方法の詳細は、Kubernetes ドキュメントの State の例 を参照してください。
-
ジョブを作成します。
$ oc create -f <file-name>.yaml
oc create job
を使用して単一コマンドからジョブを作成し、起動することもできます。以下のコマンドは直前の例に指定されている同じジョブを作成し、これを起動します。
$ oc create job pi --image=perl -- perl -Mbignum=bpi -wle 'print bpi(2000)'