Job 개요
- 하나 이상의 Pod를 만들고 지정된 수의 Pod가 성공적으로 종료될 때까지 Pods실행을 계속 재시도
- Job을 사용하여 여러 Pod를 병렬로 실행 가능(기본값 1)
Job Manifest
job.yaml
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 # 재시도 횟수 설정
activeDeadlineSeconds: 100 #파드의 실행시간 설정
apiVersion: batch/v1
kind: Job
metadata:
name: pi
spec:
template:
spec:
completions: 5 # 목표 완료 파드 개수
parallelism: 2 # 동시 실행 가능 파드 개수
containers:
- name: pi
image: perl:5.34.0
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
restartPolicy: Never
backoffLimit: 4
- completions: 정해진 횟수 까지 파드가 반복적으로 실행
- parallelism: 정해진 개수 만큼 파드가 동시에 실행 가능
sansae@sansaeAir15m2 k8s-lab-workspace % k apply -f job.yaml
job.batch/pi created
sansae@sansaeAir15m2 k8s-lab-workspace % k get all
NAME READY STATUS RESTARTS AGE
pod/pi-kz68s 1/1 Running 0 4s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.0.0.1 <none> 443/TCP 48s
NAME COMPLETIONS DURATION AGE
job.batch/pi 0/1 5s 5s
sansae@sansaeAir15m2 k8s-lab-workspace % k get all
NAME READY STATUS RESTARTS AGE
pod/pi-kz68s 0/1 Completed 0 18s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.0.0.1 <none> 443/TCP 62s
NAME COMPLETIONS DURATION AGE
job.batch/pi 1/1 7s 18s
sansae@sansaeAir15m2 k8s-lab-workspace %
sansae@sansaeAir15m2 k8s-lab-workspace % k describe job pi
Name: pi
Namespace: default
Selector: batch.kubernetes.io/controller-uid=3ba192aa-4cbf-4fa4-b037-bd449d249492
Labels: batch.kubernetes.io/controller-uid=3ba192aa-4cbf-4fa4-b037-bd449d249492
batch.kubernetes.io/job-name=pi
controller-uid=3ba192aa-4cbf-4fa4-b037-bd449d249492
job-name=pi
Annotations: batch.kubernetes.io/job-tracking:
Parallelism: 1
Completions: 1
Completion Mode: NonIndexed
Start Time: Sat, 09 Mar 2024 23:57:54 +0900
Completed At: Sat, 09 Mar 2024 23:58:01 +0900
Duration: 7s
Active Deadline Seconds: 100s
Pods Statuses: 0 Active (0 Ready) / 1 Succeeded / 0 Failed
Pod Template:
Labels: batch.kubernetes.io/controller-uid=3ba192aa-4cbf-4fa4-b037-bd449d249492
batch.kubernetes.io/job-name=pi
controller-uid=3ba192aa-4cbf-4fa4-b037-bd449d249492
job-name=pi
Containers:
pi:
Image: perl:5.34.0
Port: <none>
Host Port: <none>
Command:
perl
-Mbignum=bpi
-wle
print bpi(2000)
Environment: <none>
Mounts: <none>
Volumes: <none>
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal SuccessfulCreate 40s job-controller Created pod: pi-kz68s
Normal Completed 33s job-controller Job completed
sansae@sansaeAir15m2 k8s-lab-workspace %
