CKA SimB - Q15 클러스터 이벤트 로깅

1 개요[ | ]

클러스터 이벤트 로깅 및 확인
  • Kubernetes 클러스터에서 발생하는 이벤트(예: Pod 생성, 스케줄링 실패, 이미지 풀 실패 등)는 이벤트 리소스를 통해 기록됨
  • 이 문서에서는 이벤트를 조회하고 필터링하는 방법과, 이를 활용해 문제를 진단하는 방법을 설명함

2 이벤트 조회 방법[ | ]

  • 전체 네임스페이스의 이벤트 확인
# kubectl get events --all-namespaces
  • 특정 네임스페이스에서 이벤트 조회 (예: default)
# kubectl get events -n default
  • 리소스에 대한 이벤트 확인 (예: Pod)
# kubectl describe pod mypod

3 이벤트 출력 정렬 및 필터링[ | ]

  • 시간순 정렬 (최근 이벤트 확인)
# kubectl get events --sort-by='.lastTimestamp'
  • 이벤트 타입별 필터링 (Warning만 보기)
# kubectl get events --all-namespaces | grep Warning

4 이벤트 항목 설명[ | ]

출력 항목 예시:

LAST SEEN   TYPE     REASON              OBJECT                MESSAGE
10s         Normal   Scheduled           pod/myapp             Successfully assigned default/myapp to node1
5s          Normal   Pulled              pod/myapp             Container image "nginx:1-alpine" already present
2s          Warning  FailedMount         pod/myapp             Unable to mount volume ...
  • TYPE: 이벤트의 심각도 (Normal / Warning)
  • REASON: 이벤트 발생 사유 코드
  • OBJECT: 이벤트가 발생한 리소스
  • MESSAGE: 상세 메시지

5 이벤트 기록 주기 및 저장 방식[ | ]

  • 이벤트는 etcd에 저장되며, 기본적으로 1시간 정도 보관됨
  • 장기 보관이 필요한 경우 별도의 로깅 솔루션(EFK, Loki 등)을 구성해야 함

6 이벤트 활용 예시[ | ]

  • Pod이 Pending 상태일 경우 이유 확인
# kubectl describe pod mypod | grep -A5 Events
  • 스케줄링 실패 예시:
Warning  FailedScheduling  pod/mypod  0/2 nodes are available: 1 Insufficient memory, 1 node(s) had taints that the pod didn't tolerate.

7 요약[ | ]

  • kubectl get events는 클러스터 내 리소스 변경 및 문제 발생 이력을 확인하는 데 유용함
  • 시간순 정렬, 타입 필터링, 리소스별 이벤트 확인을 통해 문제 해결 실마리를 얻을 수 있음
  • 이벤트는 단기 보존되므로 장기 분석이 필요한 경우 외부 로깅 시스템과 연계해야 함
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}