5.2.2. ジョブの作成
ジョブオブジェクトを作成して OpenShift Container Platform にジョブを作成します。
手順
ジョブを作成するには、以下を実行します。
以下のような YAML ファイルを作成します。
apiVersion: batch/v1 kind: Job metadata: name: pi spec: parallelism: 11 completions: 12 activeDeadlineSeconds: 18003 backoffLimit: 64 ttlSecondsAfterFinished: 1005 template:6 metadata: name: pi spec: containers: - name: pi image: perl command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"] restartPolicy: OnFailure7 #...- 1
- オプション: ジョブを並行して実行する Pod レプリカの数を指定します。デフォルトは
1です。-
非並列ジョブの場合は、未設定のままにします。未設定の場合は、デフォルトの
1に設定されます。
-
非並列ジョブの場合は、未設定のままにします。未設定の場合は、デフォルトの
- 2
- オプション: ジョブの完了をマークするために必要な Pod の正常な完了の数を指定します。
-
非並列ジョブの場合は、未設定のままにします。未設定の場合は、デフォルトの
1に設定されます。 - 固定の完了数を持つ並列ジョブの場合、完了の数を指定します。
-
ワークキューのある並列ジョブでは、未設定のままにします。未設定の場合、デフォルトは
parallelism値に設定されます。
-
非並列ジョブの場合は、未設定のままにします。未設定の場合は、デフォルトの
- 3
- オプション: ジョブを実行できる最大期間を指定します。
- 4
- オプション: ジョブの再試行回数を指定します。このフィールドは、デフォルトでは 6 に設定されています。
- 5
- オプション: ジョブ完了後に自動的に削除されるまでの時間を秒単位で指定します。0 に設定すると、ジョブは完了後すぐに削除されます。この項目が含まれていない場合、ジョブは自動的に削除されません。
- 6
- コントローラーが作成する Pod のテンプレートを指定します。
- 7
- 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)'