Kubernetes-ジョブ
ジョブの主な機能は、1つ以上のポッドを作成し、ポッドの成功について追跡することです。指定された数のポッドが正常に完了するようにします。指定された数のポッドの正常な実行が完了すると、ジョブは完了したと見なされます。
ジョブの作成
次のコマンドを使用してジョブを作成します-
apiVersion: v1
kind: Job ------------------------> 1
metadata:
name: py
spec:
template:
metadata
name: py -------> 2
spec:
containers:
- name: py ------------------------> 3
image: python----------> 4
command: ["python", "SUCCESS"]
restartPocliy: Never --------> 5
上記のコードでは、次のように定義しています。
kind: Job → 私たちはその種類をジョブとして定義しました kubectl その yaml 使用されているファイルは、ジョブタイプポッドを作成するためのものです。
Name:py → これは使用しているテンプレートの名前であり、仕様によってテンプレートが定義されています。
name: py → 名前を付けました py コンテナ仕様の下で、それから作成されるポッドを識別するのに役立ちます。
Image: python → ポッド内で実行されるコンテナを作成するためにプルするイメージ。
restartPolicy: Never →このイメージの再起動の条件はneverとして指定されます。つまり、コンテナーが強制終了された場合、またはコンテナーがfalseの場合、コンテナー自体は再起動されません。
名前で保存されているyamlで次のコマンドを使用してジョブを作成します py.yaml。
$ kubectl create –f py.yaml
上記のコマンドはジョブを作成します。ジョブのステータスを確認する場合は、次のコマンドを使用します。
$ kubectl describe jobs/py
上記のコマンドはジョブを作成します。ジョブのステータスを確認する場合は、次のコマンドを使用します。
スケジュールされた仕事
Kubernetesでのスケジュールされたジョブは Cronetes、Kubernetesジョブを取得し、Kubernetesクラスターで起動します。
- ジョブをスケジュールすると、指定した時点でポッドが実行されます。
- 自動的に呼び出されるパロディジョブが作成されます。
Note −スケジュールされたジョブの機能はバージョン1.4でサポートされており、betch / v2alpha 1APIは –runtime-config=batch/v2alpha1 APIサーバーを起動している間。
ジョブの作成に使用したものと同じyamlを使用して、スケジュールされたジョブにします。
apiVersion: v1
kind: Job
metadata:
name: py
spec:
schedule: h/30 * * * * ? -------------------> 1
template:
metadata
name: py
spec:
containers:
- name: py
image: python
args:
/bin/sh -------> 2
-c
ps –eaf ------------> 3
restartPocliy: OnFailure
上記のコードでは、次のように定義しています。
schedule: h/30 * * * * ? →ジョブを30分ごとに実行するようにスケジュールします。
/bin/sh: これは/ bin / shでコンテナに入ります
ps –eaf → マシン上でps-eafコマンドを実行し、コンテナー内で実行中のすべてのプロセスを一覧表示します。
このスケジュールされたジョブの概念は、指定された時点で一連のタスクを作成して実行し、プロセスを完了しようとするときに役立ちます。