Checkout 서비스 복구 (Checkout Service Recovery)

문제 상황 (Problem Description)

EKS 클러스터의 checkout 서비스에서 오류가 발생했습니다. 진단 결과, checkout 애플리케이션 파드들이 모두 종료되어 서비스가 완전히 중단된 상태였습니다.

문제 진단 과정 (Diagnosis Process)

1단계: 파드 상태 확인 (Pod Status Check)

kubectl get pods -n checkout

발견된 문제: checkout 애플리케이션 파드가 존재하지 않음

NAME                              READY   STATUS    RESTARTS   AGE
checkout-redis-7fb554999b-rrs4q   1/1     Running   0          148m
# checkout 애플리케이션 파드가 없음!

2단계: 디플로이먼트 상태 확인 (Deployment Status Check)

kubectl get deployment -n checkout

발견된 문제: checkout 디플로이먼트가 0/0 상태

NAME             READY   UP-TO-DATE   AVAILABLE   AGE
checkout         0/0     0            0           148m  # ❌ 파드 없음
checkout-redis   1/1     1            1           148m  # ✅ 정상

3단계: 디플로이먼트 상세 정보 확인 (Deployment Details Check)

kubectl describe deployment checkout -n checkout

핵심 발견사항:

Replicas: 0 desired | 0 updated | 0 total | 0 available | 0 unavailable
...
Events:
  Normal  ScalingReplicaSet  2m12s  deployment-controller  Scaled down replica set checkout-54c6cd5685 to 0 from 3

근본 원인: 디플로이먼트가 2분 전에 3개에서 0개로 스케일 다운됨

4단계: 이벤트 로그 분석 (Event Log Analysis)

kubectl get events -n checkout --sort-by='.lastTimestamp' | tail -10

확인된 내용: 모든 checkout 파드가 의도적으로 종료됨