Kubernetes 환경에서는 수많은 Pod, Node, Service가 동시에 동작합니다.
서비스 규모가 커질수록 현재 상태를 사람이 직접 확인하는 것은 불가능합니다.
예:
Node CPU 증가
↓
Memory 사용량 상승
↓
Pod 응답 지연
↓
서비스 장애 발생
운영 환경에서는 장애가 발생하기 전에 상태를 확인하고 대응할 수 있는 Monitoring 시스템이 필요합니다.
Kubernetes Monitoring은 Cluster 내부 Resource와 Application 상태를 지속적으로 수집하고 분석하는 운영 핵심 기술입니다.
| 구성 요소 | 역할 |
|---|---|
| Prometheus | Metric 수집 및 저장 |
| Grafana | Dashboard 시각화 |
| Metrics Server | 기본 Resource 측정 |
| Alertmanager | 알림 처리 |
| Exporter | Metric 제공 |
Monitoring 구조를 이해하면 Kubernetes Production 환경에서 장애 예방과 성능 최적화를 수행할 수 있습니다.
Kubernetes Monitoring이 필요한 이유
Kubernetes는 동적으로 변화하는 환경입니다.
예:
Pod 생성
↓
Node 변경
↓
Traffic 증가
↓
Resource 변화
따라서 현재 상태를 지속적으로 확인해야 합니다.
Monitoring을 통해 확인할 수 있습니다.
- CPU 사용량
- Memory 사용량
- Pod 상태
- Network Traffic
- Application 성능
- Error 발생
Kubernetes Monitoring Architecture
전체 구조:
Application
↓
Pod
↓
Exporter
↓
Prometheus
↓
Alertmanager
↓
Grafana Dashboard
각 Component가 역할을 나누어 Monitoring 환경을 구성합니다.
Kubernetes Metrics Server란?
Metrics Server는 Kubernetes 기본 Resource Metric을 제공하는 Component입니다.
수집:
- CPU 사용량
- Memory 사용량
사용:
- kubectl top
- HPA
- VPA
예:
kubectl top nodes
Node Resource 상태를 확인합니다.
Kubernetes Prometheus란?
Prometheus는 Cloud Native 환경에서 가장 많이 사용하는 Monitoring System입니다.
특징:
- Time Series Database
- Metric 수집
- Query 지원
- Alert 연결
Kubernetes 환경과 높은 호환성을 제공합니다.
Kubernetes Prometheus 동작 구조
흐름:
Exporter
↓
Prometheus Server
↓
Metric 저장
↓
PromQL Query
↓
Grafana 표시
Metric 기반 Monitoring 시스템입니다.
Kubernetes Exporter 역할
Exporter는 Metric을 제공하는 Component입니다.
대표:
| Exporter | 대상 |
|---|---|
| Node Exporter | Node 상태 |
| kube-state-metrics | Kubernetes Object |
| cAdvisor | Container Metric |
Prometheus가 데이터를 수집할 수 있도록 제공합니다.
Kubernetes kube-state-metrics란?
kube-state-metrics는 Kubernetes Object 상태를 Metric 형태로 제공합니다.
확인:
- Pod 상태
- Deployment 상태
- Replica 상태
- Node 상태
예:
Deployment Replica 부족
↓
Metric 생성
↓
Alert 발생
운영 Monitoring에서 중요합니다.
Kubernetes Grafana란?
Grafana는 Monitoring 데이터를 시각적으로 표현하는 Dashboard 도구입니다.
제공:
- Dashboard
- Graph
- Alert Visualization
- Metric 분석
Prometheus와 함께 많이 사용됩니다.
Kubernetes PromQL이란?
PromQL은 Prometheus Query Language입니다.
예:
CPU 사용량 조회:
rate(node_cpu_seconds_total[5m])
Metric 데이터를 분석하는 언어입니다.
Kubernetes Monitoring 주요 Metric
확인해야 할 Metric:
| 분야 | Metric |
|---|---|
| Node | CPU, Memory, Disk |
| Pod | Restart, Resource |
| Network | Traffic, Error |
| Application | Latency, Request |
운영 환경에서는 여러 지표를 함께 봐야 합니다.
Kubernetes Alertmanager 역할
Alertmanager는 장애 알림을 관리합니다.
흐름:
Prometheus
↓
Rule 확인
↓
Alert 발생
↓
Alertmanager
↓
Slack / Email 전달
운영자가 빠르게 대응할 수 있습니다.
Kubernetes Monitoring과 HPA 관계
HPA는 Metric 데이터를 사용합니다.
구조:
Metrics Server
↓
HPA Controller
↓
Replica 변경
Monitoring 데이터가 자동 확장의 기반이 됩니다.
Kubernetes Monitoring 장애 분석
Monitoring 문제가 발생하면 확인합니다.
Prometheus 상태 확인
kubectl get pods -n monitoring
Metric 확인
kubectl top pods
Service 확인
kubectl get svc
Component별로 분석합니다.
Kubernetes Monitoring Dashboard 구성
주요 Dashboard:
Cluster Dashboard
확인:
- Node 상태
- Resource 사용량
Namespace Dashboard
확인:
- Pod 상태
- Resource 사용량
Application Dashboard
확인:
- Request
- Error
- Latency
Kubernetes Monitoring과 SLI/SLO
서비스 운영에서는 단순 Metric보다 목표 기준이 필요합니다.
SLI:
측정 지표
SLO:
목표 수준
예:
API 응답 시간 99% 이상 유지
운영 품질 관리와 연결됩니다.
Kubernetes Observability와 Monitoring 차이
| 구분 | Monitoring | Observability |
|---|---|---|
| 목적 | 상태 확인 | 원인 분석 |
| 데이터 | Metric 중심 | Metric + Log + Trace |
| 범위 | 현재 상태 | 내부 동작 이해 |
현대 Cloud Native 환경에서는 Observability가 중요합니다.
Kubernetes Monitoring 운영 전략
Production 환경:
Metric 수집
↓
Dashboard 구성
↓
Alert 설정
↓
장애 분석
↓
성능 최적화
지속적인 관리가 필요합니다.
Kubernetes Monitoring 장점
| 장점 | 설명 |
|---|---|
| 장애 예방 | 문제 조기 발견 |
| 성능 분석 | Resource 최적화 |
| 자동화 지원 | HPA 연결 |
| 운영 효율 | 상태 확인 용이 |
Monitoring은 Kubernetes 운영의 기본 기반입니다.
자주 묻는 질문
Metrics Server와 Prometheus 차이는 무엇인가요?
Metrics Server는 기본 Resource 측정용이고 Prometheus는 상세 Metric 저장과 분석용입니다.
Grafana는 데이터를 저장하나요?
아닙니다.
Prometheus 같은 Data Source의 데이터를 시각화합니다.
Kubernetes 운영에 Monitoring이 꼭 필요한가요?
Production 환경에서는 필수적인 운영 요소입니다.
마무리
Kubernetes Monitoring은 Cluster와 Application 상태를 지속적으로 관찰하고 장애를 예방하는 핵심 운영 기술입니다.
| 구성 요소 | 역할 |
|---|---|
| Metrics Server | 기본 Resource Metric |
| Prometheus | Metric 수집·저장 |
| Grafana | Dashboard |
| Alertmanager | 알림 처리 |
Monitoring 구조를 이해하면 Kubernetes 환경에서 안정적인 Production 운영과 장애 예방 체계를 구축할 수 있습니다.
다음 글에서는 Kubernetes 로그 분석 영역인 Kubernetes Logging 완벽 가이드! Fluent Bit과 Loki 기반 Container Log 관리 구조 이해하기를 진행하겠습니다.