EKS 클러스터의 carts 파드가 OOMKilled (Out Of Memory Killed) 오류로 지속적으로 크래시되는 문제가 발생했습니다. 파드가 컨테이너 초기화 과정에서 메모리 부족으로 종료되고 있었습니다.
kubectl get pods -n carts
결과: 새로운 파드가 ContainerCreating 상태에서 실패
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
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
Java Spring Boot 애플리케이션에 대한 부적절한 메모리 할당
구성 요소 | 설정값 | 적절성 |
---|---|---|
현재 메모리 제한 | 1Mi (1 메가바이트) | ❌ 극도로 부족 |
Java 애플리케이션 최소 요구사항 | ~200-300Mi | ✅ 일반적 요구사항 |
권장 메모리 제한 | 1Gi (1 기가바이트) | ✅ 적절한 여유 |