본문 바로가기
따배쿠

[따배쿠] 6-6. 쿠버네티스 Job Controller

by Engineer-Lee 2022. 11. 5.
반응형

Job Controller는

  • k8s는 pod를 running 중인 상태로 유지한다.
  • Batch 처리하는 pod는 작업이 완료되면 종료된다.
  • Batch 처리에 적합한 컨트롤러로 pod의 성공적인 완료를 보장한다. (비정상 종료 시 다시 실행) (정상 종료 시 완료)

 

job-exam.yaml파일의 내용은 아래와 같다.

restartPolicy: OnFailure 속성을 통해 컨테이너를 restart 시킬 수 있다.

restart 시키는 횟수는 backoffLimit 값으로 지정할 수 있다.

completion 값은 성공적으로 컨테이너가 실행돼서 completed 상태가 된다면 새로운 컨테이너를 값만큼 추가로 실행시킨다.  새 컨테이너 실행을 동시에 하고싶다면 parallelism 값을 통해 설정할 수 있다. 

activeDeadlineSeconds의 값은 그 값만큼 컨테이너의 실행이 completed 되지않는다면 강제로 파드가 terminating된다.

 

 

kubectl create -f job-exam.yaml로 실행시키고 kubectl get jobs를 통해 볼 수 있다.

 

25초가 지나면 종료가 되는 걸 볼 수 있고 pod는 종료 후 삭제되지 않고 종료된 상태로 보존된다.

 

kubectl delete jobs.batch centos-job을 통해 job을 삭제시킨다.

 

반응형