개발 트러블슈팅 완전 정복 | 웹개발·백엔드·데브옵스 실무 에러 해결법. Docker, GitHub Actions, TypeScript, MySQL, Redis 등 실전 경험 기반의 개발 블로그
목요일
Kubernetes CrashLoopBackOff 완벽 해결 가이드
Kubernetes 파드가 계속 재시작되는 CrashLoopBackOff 상태는 운영의 주요 문제입니다.
증상: kubectl get pods에서 STATUS가 CrashLoopBackOff로 표시되며, 컨테이너가 시작과 종료를 반복합니다.
원인:
1. 애플리케이션 코드 버그 또는 크래시
2. 환경 변수 누락
3. 필요한 파일 또는 리소스 미존재
4. 헬스체크 실패
5. 메모리/CPU 부족
6. 이미지 문제
해결 방법:
1. 로그 확인
kubectl logs --previous
2. 파드 상세 정보 확인
kubectl describe pod
3. 환경 변수 검증
deployment spec에서 환경 변수 설정 확인
4. 헬스체크 설정 검토
initialDelaySeconds를 충분히 설정 (예: 30초)
5. 리소스 요청/제한 확인
requests와 limits 설정 검토, OOMKilled 확인
6. 이미지 및 진입점 확인
Dockerfile의 CMD가 정확한지 확인
7. 볼륨 마운트 확인
필요한 경로가 정확히 마운트되었는지 확인
디버그 팁: kubectl debug -it --image=busybox로 컨테이너 환경 직접 확인
정리: CrashLoopBackOff는 로그와 describe 명령으로 원인 파악이 가능하며, 대부분 설정 문제입니다.
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기