본문 바로가기
MSA/Part4. Ch.9 Kubernetes 트러블 슈팅 방법

03. [실습] Node 로깅 및 이슈 사례 조치방법

by Engineer-Lee 2023. 2. 9.
반응형

1. Node 로깅 방법 소개

구분 상세 설명
kubectl • kubectl를 이용한 Node 정보 및 상태 확인
• EKS Worker Node의 상태 및 이벤트 확인 가능
Container Insights • EKS Worker Node에서 수집된 Metrics값을 종합해서 출력
• 그래프 및 연결 토폴로지 맵, 리스트 형태 현황 제공
Log groups • EKS Worker Node의 Log 수집 및 검색 가능
• EKS Worker Node용 Daemon, System Log, 성능/용량 로그 확인
Worker Node Log • EKS Worker Node내 기동중인 Daemon Log 확인 가능
• EKS Worker Node 자체 System 로그 확인

 

2. Node 이슈 사례 소개

구분 상세 설명
Node Down • EKS Worker Node 자체가 Down되는 사례
  -> OS Hang 발생
  -> 서버(VM) 중지 및 VM 삭제 발생
Node 성능 문제 • EKS Worker Node 성능 문제로 느려질 때
  -> CPU, Memory 부족 
  -> Network 트래픽 과부하
Node 용량 문제 • EKS Node 용량 문제로 느려지거나 로깅 쓰기가 안되거나 Evicted가 발생
  -> 파일시스템 내 용량 문제를 찾아 해결 
  -> 용량이 더 큰 파일시스템으로 Mount (EBS볼륨)
Node 업데이트 문제 • EKS Worker Node 업데이트가 안될 때 발생
  -> 네트워크 이슈
  -> Autoscaling 설정 확인

 

3. Node 로깅 방법 실습

(1) kubectl을 통한 Worker Node 상태 확인
$ kubectl describe <Worker Node명>


(2) EKS Worker Node의 현재 기준 CPU, Memory 사용량 정보 확인
$ kubectl top node <Worker Node명>
- top 기능을 사용하기 위해 metrics-server 설치 필요 (배포코드는 아래 경로 참조)
- Chapter09 > Ch09_03-node-troubleshooting
$ kubectl apply ‒f metrics-server.yaml

 

(3) Container Insight를 통한 EKS Worker Node 메트릭 모니터링 현황 확인
- AWS CloudWatch > 인사이트 > Container Insights


(4) Log Group을 통한 EKS Worker Node 로그 수집 현황 확인
- AWS CloudWatch > 로그 > 로그 그룹 > /aws/containerinsights/<EKS명>/dataplane
- AWS CloudWatch > 로그 > 로그 그룹 > /aws/containerinsights/<EKS명>/host
- AWS CloudWatch > 로그 > 로그 그룹 > /aws/containerinsights/<EKS명>/performance

 

4. Node 이슈 사례 발생시 확인 방법 실습

(1) Node가 Down되었는지를 확인하는 방법
$ kubectl get node 
- AWS EC2 > 인스턴스 > 인스턴스 > 인스턴스 상태


(2) Node 성능 문제는 다음의 경로에서 확인 가능
$ kubectl describe <Worker Node명>
$ kubectl top node <Worker Node명>
- AWS CloudWatch > 인사이트 > Container Insights

 

(3) Node 용량 문제가 발생하였는지 확인
$ kubectl describe <Worker Node명>
- AWS CloudWatch > 인사이트 > Container Insights
- EKS Worker Node SSH 접속 > 쉘에서 df ‒h 명령어 입력


(4) Node 업데이트 문제 확인
- AWS EKS > 클러스터 > (생성된 Cluster명) > 구성 > 컴퓨팅 > 노드그룹
> 생성된 노드 그룹 이름 클릭 > 상태 문제, 업데이트 기록 확인

반응형