728x90
[K8s] Job, CronJob
https://heywantodo.tistory.com/35
앞선 컨트롤러 포스팅에서 job과 cronjob을 짤막하게 설명했는데, 내용이 헷갈리는 부분이 있어
따로 정리해보고자 한다.
Job
파드의 애플리케이션 실행이 완료/종료되는 것에 초점을 맞춘 컨트롤러
https://kubernetes.io/ko/docs/concepts/workloads/controllers/job/
하나 이상의 파드를 생성하고, 지정된 수의 파드가 성공적으로 종료될 때까지 계속해서 파드의 실행을 재시도한다.
실행이 완료되면 성공적으로 완료된 잡을 추적하여 지정된 수의 성공완료에 도달하면 잡이 완료된다.
잡을 사용하면 여러 파드를 병렬로 실행할 수 있다.
apiVersion: batch/v1
kind: Job
metadata:
name: pi
spec:
template:
spec:
containers:
- name: pi
image: perl:5.34.0
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
restartPolicy: Never
backoffLimit: 4
k create -f job.yaml
다음 예시는 파이의 2000자리 까지 계산해서 출력하는 예시다.
job을 실행 후 job의 상태가 completion이 되면 pod의 상태 또한 completed다.
이때 pod의 log를 확인해보면 2000자리까지 출력하여 job을 성공적으로 수행 한 모습을 볼 수 있다.
CronJob
Job을 크론 형식으로 쓰여진 주어진 일정에따라 주기적으로 동작시키는 컨트롤러
https://kubernetes.io/ko/docs/concepts/workloads/controllers/cron-jobs/
다음 예시는 현재 시간과 hello 메시지를 1분 마다 출력한다.
apiVersion: batch/v1
kind: CronJob
metadata:
name: hello
spec:
schedule: "* * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: hello
image: busybox:1.28
imagePullPolicy: IfNotPresent
command:
- /bin/sh
- -c
- date; echo Hello from the Kubernetes cluster
restartPolicy: OnFailure
반응형
'🐳 Container > K8S' 카테고리의 다른 글
[K8s] RBAC(Role-Based Access Control) (0) | 2024.04.09 |
---|---|
[K8s] ServiceAccount (0) | 2024.04.08 |
[K8s] Probe (Liveness, Readiness, Startup) (0) | 2024.01.15 |
[Minikube] Windows에 Minikube 설치 (0) | 2023.08.24 |
[K8s] 컨피그 맵(Config map) (0) | 2023.08.18 |