본문 바로가기
Kubernetes(k8s)/따배쿠(따라하면서 배우는 쿠버네티스) 학습

[k8s]Kubernetes - CronJob

by 열정주니어 2023. 3. 4.
반응형

CronJob

  • CronJob안에 Job 컨트롤 기능 포함
    • 사용자가 원하는 시간에 Job 실행 예약 지원
    • Job 컨트롤러로 실행할 애플리케이션 파드를 주기적으로 반복해서 실행
  • Linux의 cronjob의 스케줄링 기능을 Job Controller에 추가한 API
  • 반복해서 실행하는 Job을 운영해야 할 때 사용
    • Data Backup
    • Send email
    • Cleaning tasks
      • log file 정리
      • garbagage 제거
  • CronJob을 통해 작업을 예약하려면 CronJob 포맷에 맞게 작업 예약시간을 걸어줘야 함
    • CronJob Schedule: " 0 3 1 * * "
      • Minutes (from 0 to 59)
      • Hours (from 0 to 23)
      • Day of the month (from 1 to 31)
      • Month (from 1 to 12)
      • Day of the week (from 0 to 6)

 

CronJob Schedule

 

CronJob Definition

 

CronJob Example

  • 변수
    • concurrencyPolicy
      • Allow
        • Pod 동시 실행 가능
      • Forbid
        • Pod 동시 실행 금지
        • 실행 Pod 완료되면 다음 Pod 실행 (한 번에 하나씩 실행)
    • successfulJobsHistoryLimit
      • 완료된 Pod의 히스토리를 몇개 남길지 지정
    • startingDeadlineSeconds
      • 지정 시간 내에 Job을 실행하지 못하면 취소 시킴
  • create -f를 통해 CronJob 실행
    • kubectl create -f cronjob-exam.yaml
  • get을 통해  CronJob , Pod 확인
    • kubectl get cronjob
    • kubectl get pods
  • delete를 통해 CronJob 삭제 
    • kubectl delete cronjob cronjob-exam

 

Reference

따배쿠22강

 

반응형