02. Container

Liveness Probe 와 Readiness Probe

카이저일공 2024. 1. 16. 09:07
Liveness Probe와 Readiness Probe

쿠버네티스의 Liveness Probe와 Readiness Probe

가. Liveness Probe (생존성 프로브)

1. 정의: Liveness Probe는 컨테이너가 작동 중인지 확인하는데 사용됩니다. 컨테이너가 응답하지 않으면 쿠버네티스는 이를 실패로 간주하고 컨테이너를 재시작합니다.

2. 사용 이유: 교착 상태에 빠지거나 반응하지 않는 컨테이너를 자동으로 재시작하여 애플리케이션의 가용성을 유지합니다.

3. 주의사항: 너무 빈번한 검사는 시스템에 부하를 줄 수 있으며, 너무 긴 간격은 문제를 늦게 감지할 수 있습니다.

나. Readiness Probe (준비성 프로브)

1. 정의: Readiness Probe는 컨테이너가 클라이언트 요청을 처리할 준비가 되었는지 확인하는데 사용됩니다. 준비되지 않은 컨테이너는 트래픽을 받지 않습니다.

2. 사용 이유: 애플리케이션이 시작 중이거나 유지 보수 중일 때 불필요한 트래픽이 해당 컨테이너로 전송되지 않도록 하여 시스템의 안정성을 높입니다.

3. 주의사항: Readiness Probe 설정이 너무 엄격하거나 완화될 경우, 준비된 컨테이너가 트래픽을 받지 못하거나 준비되지 않은 컨테이너가 트래픽을 받을 수 있습니다.

다. 사례

웹 서버 애플리케이션을 실행하는 컨테이너가 있습니다. Liveness Probe를 설정하여 서버가 HTTP 요청에 응답하지 않을 때 자동으로 재시작하도록 할 수 있습니다. Readiness Probe를 설정하여 데이터베이스 연결 등 필요한 초기 설정이 완료될 때까지 트래픽을 받지 않도록 할 수 있습니다.

라. 용어 해석

  • Liveness: 생존성, 즉 애플리케이션이 '살아'있는지를 나타내는 상태.
  • Readiness: 준비성, 즉 애플리케이션이 요청을 처리할 준비가 되었는지를 나타내는 상태.

간단히 말해, Liveness Probe는 애플리케이션이 살아있는지, Readiness Probe는 애플리케이션이 요청을 처리할 준비가 되었는지를 확인하는 도구입니다. 이 두 Probe를 효과적으로 사용함으로써, 애플리케이션의 안정성과 가용성을 높일 수 있습니다.

Liveness Probe와 Readiness Probe