[CKAD] Kubernetes Job

HongSeokChoi·2025년 9월 3일

ckad

목록 보기
13/14

Job이란?

  • Job은 특정 작업을 성공적으로 완료할 때까지 Pod를 생성하고 관리하는 일회성 실행 리소스입니다.
  • 동작 방식:
    • Pod 실행 → 컨테이너 작업 완료 → Completed 상태로 종료
    • 작업이 실패할 경우 새로운 Pod가 생성되어 성공 개수 목표(completions)를 달성할 때까지 반복
    • 기본적으로 Pod는 하나씩 순차적으로 실행되며, parallelism 옵션을 통해 병렬 실행이 가능합니다.

예시 코드

apiVersion: batch/v1
kind: Job
metadata:
  name: math-add-job
spec:
  completions: 3        # 총 3번 성공해야 완료
  parallelism: 2        # 동시에 2개 실행
  template:
    spec:
      restartPolicy: Never
      containers:
        - name: math-add
          image: busybox
          command: ["expr", "3", "+", "2"]

함께 사용하는 명령어

목적명령어
CronJob 생성kubectl create -f cronjob.yaml
CronJob 목록 확인kubectl get cronjobs
CronJob이 생성한 Job 확인kubectl get jobs
Job이 생성한 Pod 확인kubectl get pods

Job vs CronJob

구분

  • Job: 한 번 실행 후 완료
  • CronJob: 주기적으로 반복 실행

목적

  • Job: 배치/단발성 작업 (이미지 처리, 데이터 분석 등)
  • CronJob: 정기 작업 (보고서 생성, 이메일 발송 등)

설정

  • Job: completions, parallelism
  • CronJob: schedule (cron 표현식) + Job 템플릿

종료 여부

  • Job: 완료되면 종료
  • CronJob: 주기에 따라 Job 반복 실행
profile
Network/Cloud

0개의 댓글