피드로 돌아가기
Dev.toInfrastructure
원문 읽기
리소스 최적화 및 Spot Node 활용을 통한 K8s 비용 60% 절감
How I Reduced My Kubernetes Cluster Cost by 60% Without Sacrificing Performance
AI 요약
Context
추측 기반의 Resource Request 설정으로 인한 과도한 Over-provisioning 발생. 리소스 사용률 저하 및 클라우드 비용의 급격한 증가라는 비효율적 구조의 한계 직면.
Technical Solution
- Prometheus 기반 7일 P95 사용량 분석을 통한 Resource Request의 실측치 기반 Right-sizing 수행
- Non-critical 워크로드 대상 Spot Instance 도입 및 Node Taints/Tolerations를 활용한 스케줄링 분리
- CPU 및 Custom Metrics 기반 HPA 적용 및 Flapping 방지를 위한 Scale-down 속도 제어
- 워크로드 특성별 Memory/CPU 특화 Node Pool 분리 및 Aggressive Scale-down 정책 적용
- 비운영 환경 대상 스케줄 기반 자동 정지 체계 구축을 통한 유휴 자원 낭비 제거
- 미사용 PVC 제거 및 Cold Data 대상 저비용 Storage Class 전환을 통한 스토리지 최적화
Impact
- 월간 비용: $1,200 → $480 (약 60% 절감)
- CPU Utilization: 22% → 65% 향상
- Memory Utilization: 35% → 70% 향상
- Pod Restart Rate: 불안정 상태에서 Stable 상태로 개선
Key Takeaway
비용 최적화는 단순한 예산 삭감이 아닌 실측 데이터 기반의 Resource Alignment와 워크로드 중요도에 따른 인프라 계층화(Tiering)의 결과물임.
실천 포인트
- Prometheus/Kubecost를 활용한 실제 P95 리소스 사용량 측정 및 Request 반영 - Batch/Dev 환경의 Spot Node 전환 및 Tolerations 설정 검토 - HPA 도입 시 단순 CPU 외에 Latency, Queue Depth 등 비즈니스 지표 반영 - 운영/비운영 환경의 분리 및 비운영 환경의 자동 Off-time 스케줄링 적용