Study Memory Work
[K8S/CKA 자격증] Troubleshooting - Monitor, log 본문
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
'Infra > Kubernetes' 카테고리의 다른 글
[kubernetes] 모니터링 (2) | 2023.11.20 |
---|---|
[K8S/CKA 자격증] Troubleshooting - troubleshooting (0) | 2023.01.30 |
[K8S/CKA 자격증] Storage - Persistent Volume, Persistent VolumeClaim (0) | 2023.01.29 |
[K8S/CKA 자격증] Storage Class (0) | 2023.01.29 |
[K8S/CKA 자격증] Storage - Volume mount (0) | 2023.01.27 |