본문 바로가기
K8S

Job Controller

by ohrohi 2025. 2. 7.
반응형
  • Job Controller란?
    • Kubernetes는 Pod를 running 중인 상태로 유지
    • Batch 처리에 적합한 컨트롤러로 Pod의 성공적인 완료를 보장
      • 비정상 종료시 다시 실행
      • 정상 종료시 완료
  • restartPolicy: Never → Pod를 restart 시킨다.
  • restartPolicy: OnFailure → Container를 restart 시킨다.
  • completions: 실행해야 할 job의 수가 몇 개인지 지정
  • parallelism: 병렬성, 동시 running되는 pod 수
  • activeDeadlineSeconds: 지정 시간 내에 job을 완료처리

job definition
apiVersion: batch/v1
kind: Job
metadata:
name: ubuntu-job

spec:
  template:
    spec:
      containers:
      - nameL hello
        image: busybox
        args:
        - /bin/sh
        - -c
        - date; echo Hello
      restartPolicy: Never

 

  • yaml 옵션정의
    • concurrencyPolicy: Allow → default 값이다. 작업이 running 중이어도 다른 작업을 시작한다.
    • concurrencyPolicy: Forbid → 현재 실행중인 작업이 끝나야 다음 작업이 시작된다.
    • startingDeadlineSeconds: 500 → 정해진 값의 시간안에 작업을 실행하지 못하면 취소시킨다.
    • successfulJobsHistoryLimit: 3 → 성공한 작업에 대해서 3개까지만 두고 이후에는 가장 오래된 순서부터 pod가 삭제된다.
반응형

'K8S' 카테고리의 다른 글

Service 개념과 종류  (0) 2025.02.07
CronJob  (0) 2025.02.07
Statefulset  (0) 2025.02.07
DaemonSet + RollingUpdate  (0) 2025.02.07
Rolling Update를 위한 Deployment  (0) 2025.02.07