CrashLoopBackOff, 재시작 버튼 누르기 전에 Exit Code부터 — 137·1·127·0 숫자 하나로 원인 좁히는 Kubernetes 실전 점검 가이드 (OOMKilled·Probe·설정 오류)
배포 직후 kubectl get pods 를 쳤는데 STATUS에 CrashLoopBackOff , RESTARTS 숫자는 계속 올라갑니다. 이때 가장 흔한 반응은 kubectl delete pod 나 rollout restart 입니다. 그런데 이 순간 지워지는 게 하나 있습니다. 바로 방금 죽은 컨테이너의 흔적 입니다. 지난번 Pod Pending 해결법 이 "스케줄러가 남긴 이벤트를 읽자"였다면, CrashLoopBackOff는 "컨테이너가 남긴 종료 코드를 읽자"입니다. 이 글에서는 Exit Code로 원인을 좁히고, 실무에서 자주 만나는 6가지 패턴을 순서대로 점검하는 방법을 정리합니다. 1. CrashLoopBackOff는 원인이 아니라 '대기 상태'다 CrashLoopBackOff는 "컨테이너가 시작했다가 종료되는 일이 반복되어, kubelet이 다음 재시작을 미루고 있다"는 뜻입니다. 재시작 간격은 10초, 20초, 40초… 식으로 늘어나 최대 5분까지 벌어집니다. 즉 이 상태 이름 자체는 아무것도 알려주지 않습니다. 진짜 정보는 직전에 종료된 컨테이너 에 있습니다. kubectl get pods -n <namespace> kubectl describe pod <pod-name> -n <namespace> describe 출력에서 봐야 할 곳은 두 군데입니다. State: Waiting Reason: CrashLoopBackOff Last State: Terminated Reason: OOMKilled Exit Code: 137 Started: Mon, 26 Oct 2026 19:40:02 +0900 Finished: Mon, 26 Oct 2026 19:40:31 +0900 Restart C...