반응형
앞서 디플로이먼트 컨트롤러(Deployment Controller)에 의한 파드(Pod) 실행 예제에서 hello-world 컨테이너는 단발성 형태의 워크로드였다. 이에 적합한 쿠버네티스의 컨트롤러로 잡 컨트롤러(Job Controller)가 있다.
kubectl 옵션으로 --restart=OnFailure를 지정하면 잡 컨트롤러의 제어하에 파드가 가동된다.
잡 컨트롤러는 파드가 비정상 종료하면 재시작하며 파드가 정상 종료될 때까지 지정한 횟수만큼 재실행한다.
디플로이먼트 컨트롤러를 만들 때와 마찬가지로 kubectl run 명령어 대신 kubectl create job 명령어를 사용해야 한다.
잡 컨트롤러는 컨테이너의 프로세스 종료 코드 값으로 성공과 실패를 판정하는데 , 그럼 job 2개를 생성해 하나는 정상 종료, 하나는 비정상 종료가 되도록 해보자.
job-1은 정상 종료, job-2는 비정상 종료하도록 셸 스크립트를 사용하고 있다. job-1은 COMPLETIONS가 1/1이 되어 잡이 수행 완료된 반명 job-2는 시간이 지나도 0이다.
kubectl get po 명령어를 실행해보면 job-2의 파드가 계속 재시작하는 것을 알 수 있다.
반응형
'Docker & Kubernetes' 카테고리의 다른 글
파드(Pod)의 동작 확인과 헬스 체크(health check) (0) | 2022.02.04 |
---|---|
매니페스트(Manifest)를 이용해 쿠버네티스 오브젝트 생성하기 (0) | 2022.01.30 |
디플로이먼트 컨트롤러(Deployment Controller)에 의한 파드(Pod) 실행 (0) | 2022.01.30 |
Docker로 Codeigniter Application 띄우기 (0) | 2022.01.30 |
쿠버네티스 MacOS 환경 설치 (0) | 2021.12.02 |