오전 9시 17분, 알림이 울렸습니다.
[ALERT] api-server Deployment — Pod RESTARTS: 7 (1시간 내) / OOMKilled 감지
kubectl get pods를 실행하니 RESTARTS 카운터가 계속 올라갑니다. 어젯밤 배포 이후 처음 몇 시간은 괜찮았는데, 트래픽이 붙기 시작하면서 Pod가 주기적으로 죽고 있습니다.
OOMKilled는 Out Of Memory Killed의 약자입니다. 컨테이너가 설정된 메모리 한도(limits.memory)를 초과하면 Kubernetes가 해당 컨테이너를 강제 종료합니다. exit code는 137입니다.
kubectl describe로 OOMKilled를 확인하고, kubectl top으로 실제 메모리 사용량을 측정한 뒤, resources 필드를 올바르게 설정해 안정화합니다.