AKS CrashLoopBackOff 원인 추적: Exit Code로 5단계 좁혀 들어가기
CrashLoopBackOff는 원인이 아니라 증상입니다. Exit Code(0/1/137/139/143/255)별 분기표부터 kubectl debug로 컨테이너 살려두기, startupProbe 무한 재시작 루프, JVM OOMKilled, arm64/amd64 불일치, ACR 권한까지 원인을 좁혀 나가는 순서를 정리했습니다.
CrashLoopBackOff는 원인이 아니라 증상입니다. Exit Code(0/1/137/139/143/255)별 분기표부터 kubectl debug로 컨테이너 살려두기, startupProbe 무한 재시작 루프, JVM OOMKilled, arm64/amd64 불일치, ACR 권한까지 원인을 좁혀 나가는 순서를 정리했습니다.
리소스를 하나씩 뒤지지 마세요. 일별 그래프로 급증 모양(계단/뾰족/우상향)을 먼저 판별하고 Service name → Resource group → Resource → Meter 순으로 축을 좁히면 대부분 30분 안에 잡힙니다. 미연결 디스크·유휴 공용 IP·할당 해제 안 된 VM 등 사각지대 확인 명령과 재발 방지용 예측 예산 알림까지 정리했습니다.
알림이 하루 수십 건 오면 진짜 장애도 묻힙니다. CPU 임계치·에러 로그 발생처럼 무시하게 되는 알림을 실패율·급증 감지 KQL로 바꾸는 방법, 최소 표본 조건으로 야간 오탐을 막는 법, 그리고 꼭 필요한 알림 4개와 심각도 설계를 정리했습니다.