본문 바로가기
Kubernetes

[kubernetes] Troubleshooting

by 간장공장공차장 2024. 11. 15.
반응형

오브젝트에 대한 모니터링 (Pending, Crashbackoff..)

kubectl describe <pod>
  • 용도: 특정 리소스(예: Pod, Service, Deployment 등)의 상태와 세부 정보를 확인
  • 출력 정보:
    • 리소스의 메타데이터, 이벤트 로그, 상태(Status), 네임스페이스 등 포괄적인 정보.
    • 특히 이벤트(Event) 항목을 통해 해당 리소스에 발생한 에러, 경고, 상태 변경 내역 등을 확인
  • 사용 시기:
    • 오류 디버깅 시 Pod이 왜 Pending 상태에 머물러 있는지, CrashLoopBackOff 같은 상태의 원인을 파악할 때 유용
    • Pod이 제대로 스케줄링되지 않거나, 볼륨 마운트 오류, 네트워크 관련 문제를 확인할 때 사용

애플리케이션에 대한 모니터링

kubectl logs <pod>
kubectl logs <pod> -c <container>
kubectl logs <pod> --previous // 재시작도니 pod에 대해서 종료 원인 확인
  • 용도: 특정 컨테이너(Pod 내의)에서 표준 출력/표준 에러 로그를 확인
  • 출력 정보:
    • 애플리케이션에서 출력한 로그로, 애플리케이션의 동작과 관련된 내용(예: 에러 메시지, 실행 흐름 등) 확인
  • 사용 시기:
    • 애플리케이션 자체의 오류(예: 코딩 에러, 데이터베이스 연결 오류)를 추적하거나 성능 문제를 파악할 때.
    • 애플리케이션의 예외 상황, 처리 흐름을 모니터링할 때.

Pod의 실제 동작 확인하기 (port-forward를 통해 명령어 날리기)

kubectl port-forward <pod> 8088:8080
반응형