Logging and Monitoring Section Intro
- 먼저 쿠버네티스 클러스터 구성 요소와 호스팅되는 애플리케이션을 모니터링하는 방법을 봅니다.
- 클러스터 구성요소와 애플리케이션에 대한 로그를 보고, 관리하는 방법을 살펴봅니다.
Chap 80. 클러스터 구성요소 모니터링
- 무엇을 모니터링 해야하는가?
- cpu 와 같은 성능 메트릭, 메모리, 네트워크 및 디스크 활용
- pod 수와 같은 pod레벨 메트릭, pod 성능 매트릭
- cpu 및 메모리 소비
- 무엇을 이용해 모니터링 하는가?
- 쿠버네티스에 모든 기능을 갖춘 내장 모니터링 솔루션은 없다.
- metrics-server (deprecate 된 heapster 의 슬림버전)
- 클러스터당 하나의 매트릭 서버
- 매트릭 서버는 각 클러스터에 메트릭 검색해 k8s 의 노드 및 파드 일부를 집계해 메모리를 저장한다.
- 메트릭서버는 메모리 모니터링 솔루션일뿐 메트릭을 저장하지 않는다.
- 결과적으로 기록 성능 데이터를 볼 수 없다.
- prometheus
- elastic stack
- datadog 및 dynatrace 와같은 솔루션
- 어떻게 하는가?
- 각 노드의 kubelet 에이전트 실행
- kubelet 에 cAdvisor, 또는 Container Advisor 로 알려진 하위 구성요소도 포함되어있다.
- cAdvisor 는 파드에서 성능 메트릭을 검색하고, kubelet API 를 통해 노출하는 책임이있다.
- 메트릭 서버에서 메트릭을 사용할 수 게 도와준다.
Chap 81. 애플리케이션 로그 매커니즘
kubectl logs -f event-simulator-pod
- pod 내부에 여러 container 가 있는 경우, 명령에서 컨테이너 이름을 명시적으로 지정해줘야한다. (아니면 지정하라는 에러)
kubectl logs -f event-simulator-pod event-simulator[컨테이너 이름]