여기서는 GKE 가 모니터링 기능을 위해 사용하고 있는 통합 플랫폼인 Google Cloud's Operations Suite 의 Cloud Monitoring 에 대해서 알아보자.
Cloud Monitoring 은 다음과 같은 기능을 지원한다:
- Kubernetes 모니터링
- 로깅 통합
- 사용자 정의 대시보드 작성
- 메트릭을 기반으로 알람 정책
- 프로메테우스와 통합가능:
- 프로메테우스는 주로 개발자가 드러내고 싶은 어플리케이션 custom metric 을 보기 위해서 사용한다.
- 프로메테우스와 통합하기 위해서 프로메테우스에서 수집하는 지표들을 Cloud Monitoring API 를 통해서 Cloud Monitoring 으로 보내야한다.
Kubernetes 에서의 모니터링은 크게 클러스터 부분과 파드 부분으로 나뉜다:
- 클러스터 모니터링:
- 클러스터 모니터링은 Node, kube-apiserver, etcd, kube-controller-manager 와 같은 클러스터 수준 구성 요소를 포함한다.
- Node 모니터링은 노드의 CPU, Memory, Disk 와 관련된 메트릭을 볼 수 있다.
- etcd 모니터링은 etcd 데이터베이스의 읽기/쓰기 지연 시간, 리더 변경 빈도, 데이터베이스 크기 등의 메트릭을 볼 수 있따.
- Control Plane 모니터링 각 구성요소의 성능과 상태에 대한 것들을 볼 수 있다.
- 파드 모니터링:
- 파드 모니터링은 시스템 메트릭, 컨테이너 특정 메트릭, 애플리케이션 특정 메트릭로 나뉜다.
- 시스템 메트릭은 파드가 실행중인 노드의 리소스 지표들을 말한다. (e.g CPU, Memory, Disk 등)
- 컨테이너 메트릭은 파드 내 실행되고 있는 컨테이너의 메트릭 들을 말한다. (e.g CPU, Memory, 컨테이너 재시작 수, 컨테이너 프로세스 수, 네트워크 입출력 등)
- 어플리케이션 메트릭은 개발자가 어플리케이션에서 특정 메트릭이 드러나도록 하는 지표들을 말한다.
일반적인 어플리케이션의 모니터링과 다양한 어플리케이션이 돌아가고 있는 쿠버네티스 환경에서의 모니터링은 다르다.
쿠버네티스 환경에서는 리소스들을 구분해서 모니터링하기 위해서 'label' 을 사용한다. Google Cloud Monitoring 을 포함한 쿠버네티스 모니터링 솔루션은 다 이런 기능을 가지고 있다.
'Kubernetes' 카테고리의 다른 글
Google Kubernetes Engine: Logging (0) | 2023.11.26 |
---|---|
Google Kubernetes Engine: Google Cloud's Operations Suite (0) | 2023.11.26 |
Google Kubernetes Engine: Pod Security (0) | 2023.11.25 |
Google Kubernetes Engine: RBAC (0) | 2023.11.25 |
Google Kubernetes Engine: Cloud IAM (0) | 2023.11.19 |