2020. 4. 4. 03:23ㆍ[정리] 기능별 개념 정리/Kubernetes
잡
실행된 후 종료해야 하는 성격의 작업을 실행 시킬 때 사용하는 컨트롤러이다.
특정 개수의 파드를 정상적으로 실행 종료한다는 것을 보장 할 수도 있다.
잡 Sample
apiVersion: batch/v1
kind: Job
metadata:
name: pi
spec:
template:
spec:
containers:
- name: pi
image: perl
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
restartPolicy: Never
backoffLimit: 4
.spec.backoffLimit : 잡 실행이 실패했을 때 최대 몇번까지 재시작할 것인지 설정한다.
.spec.parallelism : 잡 하나에 몇개의 파드를 동시에 실행할지 명시한다.
.spec.completions : 정상적으로 실행 종료 되어야하는 파드의 개수를 명시한다.
.spec.activeDeadlineSeconds : 특정 시간을 지정해서 잡, 파드 실행을 종료한다.
.spec.template.spec.restartPolicy : 파드 안의 컨테이너가 비정상 종료 됬을 경우 다시 시작 하도록 한다. Nerver, OnFailure ...
잡의 종류
parallelism 설정 x completions 설정 x 인 경우 : 단일 잡
parallelism 설정 x completions 설정 o 인 경우 : 완료 개수가 있는 병렬잡
parallelism 설정 o completions 설정 x 인 경우 : 워크 큐가 있는 병렬잡
잡 패턴
잡을 생성하는데 드는 오버헤드를 의식하는 것이 좋다.
잡이 돌아가는 파드를 생성하는데 드는 오버헤드를 의식하는 것이 좋다.
- 작업 하나가 여러개 작업을 처리하는 것이 좋다.
- 작업 개수 만큼의 파드를 생성하는 것보다 파드 하나가 여러개의 작업을 처리하는 것이 좋다.
- 워크 큐를 사용한다면 카프카나 RabbitMQ 같은 큐서비스로 워크 큐를 구현하도록 변경하는 것이 좋다.
'[정리] 기능별 개념 정리 > Kubernetes' 카테고리의 다른 글
쿠버네티스 입문 - 03 - 서비스 (0) | 2020.04.04 |
---|---|
쿠버네티스 입문 - 02 - 컨트롤러 6 - 크론잡 (0) | 2020.04.04 |
쿠버네티스 입문 02 - 컨트롤러 4 - 스테이트풀셋 (0) | 2020.04.04 |
쿠버네티스 입문 - 02 - 컨트롤러 3 - 데몬셋 (0) | 2020.04.04 |
쿠버네티스 입문 - 02 - 컨트롤러 2 - 디플로이먼트 (0) | 2020.04.04 |