kubernetes CKA study (13) - Monitor Cluster Components, Solution: Monitor Cluster Components, Managing Applicaion Logs, Solution: Logging

이동명·2023년 12월 22일
0

kubernetes CKA study

목록 보기
13/37
post-thumbnail
post-custom-banner

Monitor Cluster Components

오늘날 사용 가능한 오픈소스 모니터링 솔루션이 많다.

  • Metrics Server

    • 쿠버네티스 클러스터 당 메트릭 서버가 1개이다.

    • 서버는 각 쿠버네티스 노드와 파드에서 메트릭을 회수한다.

    • 메트릭을 모아서 메모리에 저장한다. 즉, IN-MEMORY 모니터링 솔루션이기 때문에 디스크에 메트릭을 저장하지 않는다.

    • 그래서 과거 데이터는 볼 수 없다.

이 노드의 파드에 대한 지표는 어떻게 생성될까?

kubelet은 각 노드에 위치하여 kube-api server로부터 지시를 받고 노드에서 파드를 실행하는 역할을 한다.
또한 kubelet은 CAdvisor로 알려진 하위 요소를 포함하고 있다.

CAdvisor는 파드에서 성능 메트릭을 회수하고 kubelet API를 통해 메트릭을 노출시켜 Metric Server에서 사용가능하게 한다.

minikube 환경과 다른 환경에서 각각 다음 명령어를 실행하여 Metric Server를 시작할 수 있다.

Metric Server가 클러스터 내 노드에서 성능을 측정할 수 있도록 데이터를 수집하고 처리할 시간을 주어야 한다.

kubectl top 명령어를 통해 노드와 파드의 성능 지표를 확인할 수 있다.

Metric-server는 Kubernetes 내에 존재하는 Pod의 메트릭을 실시간으로 수집해 kube-api 서버에 안정적으로 전달하는 역할을 합니다.


Solution: Monitor Cluster Components

Metric Server 배포하기 (단, 다른 production에 해당 깃허브 레포지토리를 사용하지 말 것! 쉬운 배포를 위해 일부를 변경하였음)

node와 pod의 성능 지표 확인하기


Managing Applicaion Logs

도커에서 docker logs 명령어로 로그를 확인할 수 있다. '-f' 옵션은 실시간으로 로그를 확인할 수 있도록 해준다.

쿠버네티스도 도커와 마찬가지로 kubectl logs 명령어로 파드의 로그를 확인할 수 있으며 '-f' 옵션을 통해 실시간 로그 확인도 가능하다.

하나의 파드는 여러 개의 도커 컨테이너를 실을 수 있다.
파드 안에 여러 개의 컨테이너가 있다면 명령에 컨테이너 이름을 명시해야 한다.


Solution: Logging

webapp-2는 2개의 컨테이너를 가진 파드이기 때문에 어떤 컨테이너의 로그를 확인할 것인지 명시해야 한다.


테스트 통과 완료

profile
Web Developer
post-custom-banner

0개의 댓글