레이블이 Infra인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Infra인 게시물을 표시합니다. 모든 게시물 표시

목요일

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 명령으로 원인 파악이 가능하며, 대부분 설정 문제입니다.