반응형
Logging & Monotoring
강의 개요
- 다양한 로깅과 모니터링 옵션
- 클러스터 구성 요소를 모니터링하는 방법과 그 위에 호스팅된 응용 프로그램 모니터링
- 클러스터 구성요소와 응용 프로그램에 대한 로그를 보고 관리하는 방법
Monitor Cluster Components
- 쿠버네티스 자원은 어떻게 모니터할 수 있을까? 더 중요한 것은 무엇을 관찰할지를 정하는 것이다.
- 예로는 노드 레벨 지표와 파드 레벨 지표가 있다.
- 노드 레벨 지표는 클러스터 내 노드의 수와 정상적인 개수, 성능 지표 (CPU, 메모리, 네트워크, 디스크 등등) 와 같은 것들이 있다.
- 파드 레벨 지표는 파드 개수와 각 파드 성능 지표(CPU,메모리 등등)
- 이런 메트릭들을 모니터링하고 저장하고 데이터에 대한 분석을 제공할 솔루션이 필요하다.
- 오늘날 사용 가능한 것들은 Metric Server, Prometheus, Elastic Stack, Datadog, Dynatrace
- 힙스터는 기존에 쿠버네티스 모니터링과 분석 기능을 가능하게 한 초기 프로젝트 중 하나이다.
- 힙스터는 Deprecated 되었고, Metric Server가 그 자리를 대신하게 되었다.
- 쿠버네티스 클러스터 당 메트릭 서버가 1개 있고, 각 쿠버네티스 노드와 파드에서 메트릭을 모아서 메모리에 저장한다.
- Metric Server는 인메모리 모니터링 솔루션으로서 디스크에 메트릭을 저장하지 않아서 Historical 한 데이터는 볼수 없다. 그래서 앞서 언급했던 솔루션들을 사용해야한다.
- 노드의 파드에 대한 지표는 Kubelet에서 kube API Server로 보내주게 된다.
- Kubelet에는 cAdvisor 라는 하위 요소를 포함하고 있는데, cAdvisor는 파드에서 성능 메트릭을 모아서 Kubelet API를 통해 Metric Server로 전달한다.
- addon을 이용해서 메트릭 서버를 활성화할 수 있다.
- 메트릭 서버를 활성화하게 되면 kubectl top node 또는 kubectl top pod 명령어를 이용해서 성능 지표를 검색 가능하다.
Managing Application Log
- 쿠버네티스는 다양한 로깅 매커니즘이 있다.
- 먼저 Docker에서의 로깅을 확인해보자
- 예시로 Docker 컨테이너를 실행하는 데 이 컨테이너는 이벤트를 무작위로 발생 시켜 애플리케이션을 통해 표준 출력으로 스트리밍 되는 컨테이너다.
- 그 말인 즉슨, 백그라운드 모드로 컨테이너를 실행하면 이벤트가 보이지 않는다는 것이고 별도로 docker log -f 명령어를 이용해서 확인해야한다는 말이다. 물론 f 옵션은 실시간 출력 옵션
- 쿠버네티스로 돌아와서 쿠버네티스도 동일하게 kubectl logs -f <pod name> 으로 로그를 확인 가능하다.
- 쿠버네티스에서 여러 개의 컨테이너가 있는 파드의 경우 로그를 어떻게 출력해야 하는가?
- 쿠버네티스는 여러 개의 컨테이너의 경우 컨테이너의 이름을 명시해주어야 한다.
- kubectl logs -f <pod name> <container name>
[참조] :
https://www.udemy.com/course/certified-kubernetes-administrator-with-practice-tests/
반응형
'자격증 > Kubernetes CKA' 카테고리의 다른 글
[CKA] Application Lifecycle Management (0) | 2023.12.03 |
---|---|
[CKA] Practice Test - Monitor Cluster Components, Managing Application Logs (0) | 2023.12.03 |
[CKA] Practice Test - Static Pods (0) | 2023.12.02 |
[CKA] Practice Test - Daemonsets (0) | 2023.12.02 |
[CKA] Practice Test - Resource Limits (0) | 2023.12.02 |