Kubernetes - Job, CronJob
2813 ワード
Job, CronJob - Kubernetes
この文章はクバーネディスの講座を参考に金泰民の大勢を整理したものだ.
ソース:https://www.inflearn.com/course/%EC%BF%A0%EB%B2%84%EB%84%A4%ED%8B%B0%EC%8A%A4-%EA%B8%B0%EC%B4%88/dashboard
🔍 テスト内容
ジョブ構成
CronJobの設定
Dockerイメージはキム・テミンを使ったイメージです
🚀 Job
Jobとは何かを見てみましょう.
Podの作成時:
手動で作成した場合
ReplicaSetを使用して作成:
ジョブによって作成:
ノードがオフの場合、コントローラが作成したPodは他のノードで再生されます.
ReplicaSetによって再作成されたPodが起動していない場合は、再起動できます.
これは、サービスが中断されないようにすることを目的としています.
Restartは、Podがそのままで、Containerのみを再起動することを意味します.
プロセスが動作していない場合、ジョブによって作成されたPodは完了します.
Finishは、Podをクリアするのではなく、ノード上のリソースを使用しないことを示します.
完了したPodに接続してログを表示したり、必要に応じてログを直接削除したりできます.
今からジョブを作ろう
Job1.yaml
apiVersion: batch/v1
kind: Job
metadata:
name: job-1
spec:
template:
spec:
restartPolicy: Never
containers:
- name: container
image: kubetm/init
command: ["sh", "-c", "echo 'job start';sleep 20; echo 'job end'"]
terminationGracePeriodSeconds: 0
20秒で終わるジョブjobの作成に伴いpodの作成も表示されます.
Sat,26 Mar 2022:29:22,Podは実行中です.
20秒後にPodの状態を確認しましょう
Podが閉じていることを確認.
今Podに接続してログを確認しましょう!
kubectl logs -f pod/job-1-g5sfh
***
🚀 CronJob
CronJobは、周期的に時間ごとにJobを作成する役割です.
特定の時間に繰り返し使用するために、Job単位ではなくCronJobを作成します.
ex)予約メール、定期更新確認.
1分おきにJobのCronJobを生成する
cj.yaml
apiVersion: batch/v1
kind: CronJob
metadata:
name: cj
spec:
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
restartPolicy: Never
containers:
- name: container
image: kubetm/init
command: ["sh", "-c", "echo 'job start';sleep 20; echo 'job end'"]
terminationGracePeriodSeconds: 0
タイムゾーンに注意すると、1分おきにJobが作成されます.
これで終わりです。🙋🏻♂️
Reference
この問題について(Kubernetes - Job, CronJob), 我々は、より多くの情報をここで見つけました https://velog.io/@sungjin0757/Kubernetes-Job-CronJobテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol