k8s/CKAD

[CKAD]k8s Job / CronJob

yechan93 2023. 9. 10. 17:54

Job / Cron Job 은 일반적으로 시스템의 batch 에 해당하는 항목이다.

Job 은 단순 batch 파일 / Cron Job 은 Cron Job 에 해당

 

<Sample> Job : 파이의 주기율을 2000번째까지 구하는 코드

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

일반적으로 사용되는 옵션 설멍

restartPolicy = OnFailure : 파드가 비정상적으로 종료 되었을때, 파드는 실패한 노드에서 재실행 

restartPolicy = Never : Job 완료 시 다시 실행 하지 않음, 작업이 실패 되었을때 스케줄러에 의해 재실행

backoffLimit = N : 작업 실패 시 N 번만큼만 재실행

parallelism = N : Job 파드를 병렬로 N 개 실행 한다(동시에 N 개 까지 수행 가능)

completions = N : 작업 완료된 후 N 번 수행(완료 -> 재실행 -> 완료 -> 재실행 -> .....-> N 번)

activeDeadlineSeconds : 제한시간

 

CronJob Schedule : "* * * * *"

  • Min
  • Hours
  • Day
  • Month
  • Da of the week (요일)

 

 

https://kubernetes.io/ko/docs/concepts/workloads/controllers/job/

 

잡에서 하나 이상의 파드를 생성하고 지정된 수의 파드가 성공적으로 종료될 때까지 계속해서 파드의 실행을 재시도한다. 파드가 성공적으로 완료되면, 성공적으로 완료된 잡을 추적한다. 지정

kubernetes.io