[TIL] Kubernetes 파드 생명주기 · 프로브 · HPA 정리-2025.09.04

2025. 9. 4. 17:58대외활동/인공지능사관학교

728x90
반응형
SMALL

 Kubernetes 파드 생명주기 · 프로브 · HPA 은 쿠버네티스의 안정적인 운영과 확장성을 이해하는 데 필수적인 개념입니다.

 

1. 파드(Pod) 생명주기

쿠버네티스에서 파드는 애플리케이션 실행의 최소 단위이며, 생성부터 종료까지 여러 단계를 거칩니다.

주요 단계 (Phase)

  • Pending: 파드가 승인되었지만 아직 컨테이너 실행 전
  • Running: 컨테이너가 실행 중 (서비스 가능 여부는 프로브 필요)
  • Succeeded / Failed: 모든 컨테이너 종료 (성공/실패 코드)
  • Unknown: 노드와 통신 불가

컨테이너 상태 (State)

  • Waiting / Running / Terminated

제어 메커니즘

  • Init Container: 본 컨테이너 실행 전 준비 작업 수행
  • Lifecycle Hook: postStart, preStop 을 통한 초기화 및 종료 처리
  • Probes: liveness, readiness, startup 으로 상태 점검

➡️ 핵심 포인트: 단순히 Running 이라고 해서 서비스가 정상이라고 보장되지 않으며, 프로브와 훅을 함께 고려해야 한다.

 

2. 프로브(Probe)

프로브는 파드 내부 컨테이너의 건강 상태와 준비 상태를 확인하는 기능입니다.

종류

  1. Liveness Probe: 살아있는지? (실패 시 컨테이너 재시작)
  2. Readiness Probe: 트래픽 받을 준비 됐는지? (실패 시 서비스 엔드포인트 제외)
  3. Startup Probe: 애플리케이션이 정상적으로 시작됐는지? (긴 시작 시간 대응)

 Probe 방식

  • ExecAction (명령 실행)
  • HTTPGet (헬스체크 엔드포인트 호출)
  • TCPSocket (포트 연결 확인)

➡️ 핵심 포인트: 프로브는 단순 모니터링이 아니라 자동 복구와 트래픽 제어까지 담당한다.

 

3. HPA (Horizontal Pod Autoscaler)

HPA는 트래픽이나 리소스 사용량에 따라 파드의 복제본 수를 자동으로 조절하는 기능입니다.

작동 방식

  1. Metrics 수집 (CPU, 메모리, Custom, External)
  2. 현재 값 ↔ 목표 값 비교
  3. 필요한 replicas 수 계산
  4. Deployment/ReplicaSet 업데이트

메트릭 종류

  • Resource Metrics: CPU, Memory (requests 설정 필수)
  • Custom Metrics: RPS, 큐 길이, API 응답 시간
  • External Metrics: AWS SQS, Kafka 등 외부 지표 (KEDA 활용)

고급 설정

  • behavior: scaleUp/Down 정책 정의
  • stabilizationWindowSeconds: Thrashing 방지

➡️ 핵심 포인트: HPA는 단순히 스케일링이 아니라 성능·비용·안정성의 균형을 맞추는 도구이다.

 

정리

  • 파드 생명주기: 언제 생성/실행/종료되는지 관리
  • 프로브: 파드가 지금 정말 건강한지 판단
  • HPA: 수요에 따라 파드 수를 자동 조절

“파드는 어떻게 관리되고, 언제 트래픽을 받을 수 있으며, 사용량이 늘면 자동으로 몇 개까지 늘어날 수 있는가?”
라는 질문에 답할 수 있습니다.

728x90
반응형
LIST