마라톤(marathon)은 url 상태 체크가 있는데. traffic이 많이 오면 health check 실패되어 자동 실행되고 그런게 좀 있었는데.
쿠버네티스는 url 헬스 체크외에 파일 체크 기능이 생겼다..
https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
쿠버네티스는 Liveness Probe(https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/)를 통해 포드의 장애를 파악한다.
사용자 지정 Liveness Probe를 사용하여 애플리케이션의 요구에 맞춰 컨테이너가 새로 시작되는 시점을 결정할 수 있다.
한편,
Readiness Probe(https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#define-readiness-probes)는 컨테이너가 요청을 처리할 수 있는지 여부를 나타낸다.
예를 들어 애플리케이션이 많은 양의 데이터를 처리하거나 아직 완전히 시작되지 않은 경우에 요청이 블럭되면 Readiness Probe는 애플리케이션의 상태를 쿠버네티스에 알린다.
Liveness Probe와는 달리 Readiness Probe가 실패했다고 해서 컨테이너가 재시작되지 않는다.
쿠버네티스는 일정 시간 후에 포드가 요청을 처리할 수 있는 지 여부를 Readiness Probe를 통해 신호를 보낸다고 가정한다.
<Liveness Probe>
ports:
- name: liveness-port
containerPort: 8080
hostPort: 8080
livenessProbe:
httpGet:
path: /healthz
port: liveness-port
<Rediness Probe>
readinessProbe:
exec:
command:
- cat
- /tmp/healthy
initialDelaySeconds: 5
periodSeconds: 5
'Cloud' 카테고리의 다른 글
[open stack] anti-affinity 인스턴스 생성하기 (0) | 2018.08.22 |
---|---|
[kubernetes] 쿠버네티스- 상태(볼륨)를 갖는 애플리케이션 (공부) (0) | 2018.08.11 |
[opentsdb] net.opentsdb.tsd.ConnectionManager$ConnectionRefusedException: Channel size exceeds total (0) | 2018.07.08 |
[grafana] auto interval downsampling (0) | 2018.07.06 |
opentsdb 개발 환경 구성하기/소스 분석 (0) | 2018.07.03 |