요구사항
시스템 요구사항
Skuber+ Observability를 설치하기 전에 필요한 시스템 요구사항을 확인합니다.
개요
Skuber+ Observability는 3-Tier 아키텍처로 구성됩니다:
| 구성 요소 | 역할 | 필요 수 |
|---|---|---|
| Host Cluster | 중앙 수집 서버 (UI, OTel Gateway) | 1개 |
| ClickHouse Server | 데이터 저장소 (별도 VM) | 1개 이상 |
| Agent Cluster | 모니터링 대상 클러스터 | 1개 이상 |
Host Cluster 요구사항
Host Cluster는 Observability UI와 OTel Collector Gateway가 설치됩니다.
하드웨어 요구사항
| 항목 | 최소 사양 | 권장 사양 | 대규모 환경 |
|---|---|---|---|
| 노드 수 | 1개 | 2개 | 3개 |
| 노드당 CPU | 4 cores | 8 cores | 8 cores |
| 노드당 메모리 | 8GB | 16GB | 16GB |
| 스토리지 | 50GB SSD | 100GB SSD | 100GB SSD |
참고: Host Cluster는 데이터를 저장하지 않습니다. 모든 데이터는 외부 ClickHouse 서버에 저장됩니다.
Host Cluster에는 o11y-hub, o11y-core, OTel Gateway만 설치되어 총 4-6개의 Pod만 실행됩니다.
소프트웨어 요구사항
| 항목 | 요구사항 |
|---|---|
| Kubernetes 버전 | 1.28 이상 (권장: 1.32+) |
| Helm 버전 | 3.10 이상 |
| kubectl | Kubernetes 버전과 호환 |
네트워크 요구사항
| 포트 | 프로토콜 | 용도 | 접근 출처 |
|---|---|---|---|
| 4317 | gRPC | OTLP 수신 (메트릭, 로그, 트레이스) | Agent Clusters |
| 8080 | HTTP | UI 접근 (LoadBalancer) | 사용자/Skuber Client |
| 9000 | TCP | ClickHouse 연결 | 내부 → ClickHouse Server |
ClickHouse Server 요구사항
ClickHouse는 외부 별도 VM에 구축합니다. Host Cluster 내부가 아닌 독립 서버입니다.
환경에 따라 두 가지 구성 옵션을 선택할 수 있습니다:
옵션 1: 단일 노드 구성 (소규모 환경)
개발, 테스트, 소규모 프로덕션 환경에 적합합니다. ClickHouse Keeper 없이 운영합니다.
| 항목 | 최소 사양 | 권장 사양 |
|---|---|---|
| VM 수 | 1개 | 1개 |
| CPU | 8 vCPU | 16 vCPU |
| 메모리 | 32GB RAM | 64GB RAM |
| 스토리지 | 500GB SSD | 1TB+ SSD |
| 스토리지 IOPS | 3,000 | 10,000+ |
| ClickHouse Keeper | 불필요 | 불필요 |
참고: 단일 노드 구성은 데이터 복제가 없어 노드 장애 시 데이터 손실 위험이 있습니다. 정기적인 백업을 권장합니다.
옵션 2: 클러스터 구성 (대규모 환경)
고가용성과 데이터 복제가 필요한 프로덕션 환경에 적합합니다. ClickHouse Keeper가 필수입니다.
ClickHouse 서버
| 항목 | 최소 사양 | 권장 사양 |
|---|---|---|
| VM 수 | 2개 | 2개 이상 |
| CPU (노드당) | 8 vCPU | 16 vCPU |
| 메모리 (노드당) | 32GB RAM | 64GB RAM |
| 스토리지 (노드당) | 500GB SSD | 1TB+ SSD |
| 스토리지 IOPS | 3,000 | 10,000+ |
ClickHouse Keeper (필수)
데이터 복제 조정을 위한 ClickHouse Keeper 클러스터:
| 항목 | 요구사항 |
|---|---|
| CPU | 2 vCPU |
| 메모리 | 4GB RAM |
| 노드 수 | 3개 (홀수 필수) |
| 배치 | 별도 VM 또는 ClickHouse 노드에 함께 배치 가능 |
참고: Keeper는 ClickHouse 노드와 같은 VM에 배치할 수 있지만, 고성능 환경에서는 별도 VM을 권장합니다.
스토리지 산정 기준
데이터 저장 용량은 모니터링 대상의 규모에 따라 달라집니다:
| 데이터 유형 | 일일 예상 용량 (중규모) | 보존 기간 7일 |
|---|---|---|
| 메트릭 | 10-20 GB | 70-140 GB |
| 로그 | 20-50 GB | 140-350 GB |
| 트레이스 | 5-15 GB | 35-105 GB |
| 합계 | 35-85 GB | 245-595 GB |
참고: 실제 용량은 서비스 수, 트래픽 양, 로그 레벨에 따라 크게 달라질 수 있습니다.
네트워크 요구사항
| 포트 | 프로토콜 | 용도 | 접근 출처 |
|---|---|---|---|
| 9000 | TCP | ClickHouse Native | Host Cluster |
| 8123 | HTTP | ClickHouse HTTP (옵션) | 관리용 |
| 9181 | TCP | Keeper 통신 | Keeper 노드 간 |
Agent Cluster 요구사항
Agent Cluster는 가벼운 수집 에이전트만 설치되므로 최소한의 추가 리소스만 필요합니다.
하드웨어 요구사항
| 항목 | 추가 요구사항 | 설명 |
|---|---|---|
| 노드당 CPU | +0.5 cores | OTel Collector + APM Agent |
| 노드당 메모리 | +512MB | OTel Collector + APM Agent |
| 스토리지 | 최소 요구 없음 | 버퍼링만 사용 |
컴포넌트별 리소스 사용량
| 컴포넌트 | CPU (request/limit) | 메모리 (request/limit) |
|---|---|---|
| OTel Collector (DaemonSet) | 100m / 500m | 128Mi / 512Mi |
| APM Agent (DaemonSet) | 100m / 500m | 128Mi / 512Mi |
| kube-state-metrics | 10m / 100m | 32Mi / 128Mi |
| OTel Operator | 10m / 100m | 64Mi / 128Mi |
소프트웨어 요구사항
| 항목 | 요구사항 |
|---|---|
| Kubernetes 버전 | 1.28 이상 |
| Linux 커널 | 5.8 이상 (eBPF 자동 계측 지원) |
| 컨테이너 런타임 | containerd 1.6+ 또는 CRI-O 1.24+ |
커널 버전 확인
APM Agent는 eBPF를 사용하므로 Linux 커널 5.8 이상이 필요합니다:
# 커널 버전 확인
uname -r
# 출력 예: 5.15.0-91-generic (5.8 이상이면 호환)네트워크 요구사항
| 요구사항 | 설명 |
|---|---|
| Host Cluster 접근 | 4317 포트로 OTLP 데이터 전송 |
| 내부 DNS | Kubernetes Service Discovery 사용 |
| Egress 허용 | Host Cluster의 Gateway IP로 아웃바운드 허용 |
지원 플랫폼
Kubernetes 배포판
| 플랫폼 | 지원 상태 | 비고 |
|---|---|---|
| EKS (AWS) | ✅ 지원 | 완전 지원 |
| GKE (Google Cloud) | ✅ 지원 | 완전 지원 |
| AKS (Azure) | ✅ 지원 | 완전 지원 |
| NKS (Naver Cloud) | ✅ 지원 | 완전 지원 |
컨테이너 런타임
| 런타임 | 지원 상태 |
|---|---|
| containerd | ✅ 지원 (권장) |
| CRI-O | ✅ 지원 |
CPU 아키텍처
| 아키텍처 | 지원 상태 |
|---|---|
| amd64 (x86_64) | ✅ 지원 |
| arm64 | ✅ 지원 |
사전 점검 목록
설치 전 다음 항목들을 확인하세요:
Host Cluster 점검
- Kubernetes 1.28+ 버전 확인
- kubectl 접근 권한 확인
- Helm 3.10+ 설치 확인
- LoadBalancer 또는 Ingress 설정 가능 여부
- ClickHouse 서버로 네트워크 연결 확인 (TCP 9000)
ClickHouse Server 점검
- 서버 스펙 확인 (8 vCPU, 32GB RAM 이상)
- SSD 스토리지 500GB 이상 확인
- ClickHouse 설치 완료
- 9000 포트 방화벽 허용
- Host Cluster에서 접근 가능 확인
Agent Cluster 점검
- Kubernetes 1.28+ 버전 확인
- kubectl 접근 권한 확인
- 커널 버전 5.8+ 확인 (APM Agent용)
- Host Cluster Gateway IP로 네트워크 연결 확인
네트워크 점검
# Agent Cluster에서 Host Cluster Gateway 연결 테스트
kubectl run test --rm -it --image=busybox -- \
wget -O- --timeout=5 http://<host-gateway-ip>:4317
# Host Cluster에서 ClickHouse 연결 테스트
kubectl run test --rm -it --image=busybox -- \
nc -zv <clickhouse-ip> 9000권장 구성
소규모 환경 (개발/테스트)
| 구성 요소 | 사양 |
|---|---|
| Host Cluster | 1 노드 (4 cores, 8GB RAM) |
| ClickHouse | 1 VM (8 vCPU, 32GB RAM, 500GB SSD) - Keeper 불필요 |
| Agent Cluster | 1-5개 |
| 일일 데이터 | 50GB 이하 |
중규모 환경 (스테이징/소규모 프로덕션)
| 구성 요소 | 사양 |
|---|---|
| Host Cluster | 2 노드 (8 cores, 16GB RAM each) |
| ClickHouse | 1 VM (16 vCPU, 64GB RAM, 1TB SSD) - Keeper 불필요 |
| Agent Cluster | 5-20개 |
| 일일 데이터 | 50-200GB |
대규모 환경 (프로덕션)
| 구성 요소 | 사양 |
|---|---|
| Host Cluster | 3 노드 (8 cores, 16GB RAM each) |
| ClickHouse | 2 VM (16 vCPU, 64GB RAM, 2TB+ SSD each) |
| Keeper | 3 노드 (2 vCPU, 4GB RAM) - ClickHouse VM에 함께 배치 가능 |
| Agent Cluster | 20개 이상 |
| 일일 데이터 | 200GB 이상 |
다음 단계
- Host 클러스터 설치 - 중앙 수집 서버 설치
- Agent 클러스터 설치 - 모니터링 대상 클러스터 설치