Recent Comments
Link
Recent Posts
Today
Total
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
관리 메뉴

Study Memory Work

[K8S/CKA 자격증] Troubleshooting - Monitor, log 본문

Infra/Kubernetes

[K8S/CKA 자격증] Troubleshooting - Monitor, log

Hera Choi 2023. 1. 30. 20:51

Application Log 모니터링

• 지정한 Pod 내의 특정 컨테이너 애플리케이션 로그 확인

kubectl logs PODNAME -c CONTAINER_NAME
kubectl run web --image=nginx
kubectl get pods 

kubectl describe pod web

Kubectl logs web

 

Monitor

클러스터 리소스 모니터링

# Pod가 사용하는 CPU나 Memory 리소스 정보 보기
$ kubectl top pods --sort-by=cpu		# --sort-by : 정렬

# Node가 사용하는 CPU나 Memory 리소스 정보 보기
$ kubectl top nodes --sort-by=cpu

# Json 포맷을 기준으로 특정 리소스 sort 해서 보기
$ kubectl get pod -o json		# json 형태로 pod 정보를 추출할 수 있음
$ kubectl get pods --sort-by=.metadata.name 
$ kubectl get pv --sort-by=.spec.capacity.storage

 

 

 


[문제 1] Application Log 추출하기

작업 클러스터 : hk8s

  • Pod custom-app의 로그 모니터링 후 'file not found' 오류가 있는 로그 라인 추출(Extract)해서
    /var/CK2022/CUSTOM-LOG001 파일에 저장하시오.
$ kubectl logs custom-app | grep 'file not found' > /var/CK2022/CUSTOM-LOG001

 

[문제 2] Persistent Volume 정보 보기

작업 클러스터 : hk8s

  • 클러스터에 구성된 모든 PV를 capacity별로 sort하여 /var/CKA2022/my-pv-list 파일에 저장하시오.
  • PV 출력 결과를 sort하기 위해 kubectl 명령만 사용하고, 그 외 리눅스 명령은 적용하지 마시오.
kubectl get pv --sort-by=.spec.capacity -o json > /var/CKA2022/my-pv-list

  -> 전체를 저장하라, 가장 많이 사용되고 있는 pv를 저장하라 등등 여러 유형이 나올 수 있음.

 

[문제 3] 클러스터 리소스 정보 보기

작업 클러스터 : hk8s

  •  'name=overloaded-cpu' 레이블을 사용하는 Pod들 중 CPU 소비율이 가장 높은 Pod의 이름을 찾아서 /var/CKA2022/custom-app-log에 기록하시오.
# 주어진 lable에 pod 체크
$ kubectl get pods --show-labes | grep overloaded-cpu

# 1) cpu로 sort하여 파드 출력하여 위 레이블에 있는 pod 중 cpu 사용량 가장 높은 것 추출 
$ kubectl top pods --sort-by=cpu
# 2) 위에서 추출한 pod들만 sort하여 검색할 수도 있음
$ kubectl top pods --sort-by=cpu | grep -e {podName1} -e {podName2} ...


# pod name 저장
$ echo {podName} > /var/CKA2022/custom-app-log