Carts 파드 OOMKilled 오류 해결 (Carts Pod OOMKilled Error Fix)

문제 상황 (Problem Description)

EKS 클러스터의 carts 파드가 OOMKilled (Out Of Memory Killed) 오류로 지속적으로 크래시되는 문제가 발생했습니다. 파드가 컨테이너 초기화 과정에서 메모리 부족으로 종료되고 있었습니다.

문제 진단 과정 (Diagnosis Process)

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

kubectl get pods -n carts

결과: 새로운 파드가 ContainerCreating 상태에서 실패

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

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

발견된 오류:

Warning   FailedCreatePodSandBox   pod/carts-5b76885b6-cm6w6
Failed to create pod sandbox: rpc error: code = Unknown desc = failed to create containerd task:
failed to create shim task: OCI runtime create failed: runc create failed:
unable to start container process: container init was OOM-killed (memory limit too low?): unknown

3단계: 현재 리소스 설정 확인 (Current Resource Configuration Check)

kubectl get deployment carts -n carts -o yaml | grep -A 10 -B 5 resources

발견된 문제: 메모리 제한이 **1Mi (1 메가바이트)**로 설정됨

resources:  limits:    memory: 1Mi  # ❌ 턱없이 부족한 메모리 제한  requests:    cpu: 1m    memory: 1Mi

근본 원인 분석 (Root Cause Analysis)

🔍 문제의 핵심 (Core Issue)

Java Spring Boot 애플리케이션에 대한 부적절한 메모리 할당

구성 요소 설정값 적절성
현재 메모리 제한 1Mi (1 메가바이트) ❌ 극도로 부족
Java 애플리케이션 최소 요구사항 ~200-300Mi ✅ 일반적 요구사항
권장 메모리 제한 1Gi (1 기가바이트) ✅ 적절한 여유

📊 메모리 요구사항 분석 (Memory Requirements Analysis)