-
kubernetes - readiness, livenesss, startup probe개발 2023. 2. 28. 19:05
kubernetes 에서는 컨테이너 상태를 지속적으로 모니터할 수 있는 기능을 제공한다. readinessProbe, livenessProbe, startupProbe 을 적절하게 활용하면 컨테이너를 자동으로 재실행 시키거나 로드밸런서에서 빼줄 수 있다.
readinessProbe
컨테이너가 트래픽을 받을 수 있는지를 알기 위해 사용한다. 일반적으로 Pod은 모든 컨테이너가 준비된 상태 일 때 트래픽을 받을 수 있지만 만약 오래걸리는 작업을 처리하는 경우에는 트래픽을 받는게 부적합할 수 있다. readinessProbe 결과 준비가 되지 않았다고 판단되면 로드밸런서로부터 제거한다
livenessProbe
컨테이너를 언제 다시 시작할지 결정하는 역할을 한다. livenessProbe 조건을 활용하면 데드락처럼 애플리케이션이 더이상 실행 할 수 없는 경우를 확인하고 자동으로 재실행 시킬 수 있다
startupProbe
애플리케이션의 시작유무를 확인하는 용도로 사용할 수 있다. startupProbe가 설정되면 조건을 충족할 때까지 컨테이너에 영향을 주지 않기 위해 liveness, readiness 를 잠시 중단시킨다. 부팅 느린 컨테이너의 경우 부팅 중에 livenessProbe 에 걸려서 문제가 없음에도 여러차례 재실행되는 경우가 있는데 startupProbe를 설정하면 이런 문제를 해결 할 수 있다.
'개발' 카테고리의 다른 글
coroutine - runBlocking, coroutineScope, suspend (1) 2023.02.28 coroutine - launch, async, CoroutineContext (0) 2023.02.28 Java - Thread start, run (0) 2023.02.28 Java - synchronized, wait, notify (0) 2023.02.28 자바 - Garbage Collector (0) 2023.02.24