피드로 돌아가기
Kubernetes for Docker Users
Dev.toDev.to
Infrastructure

Ingress 도입을 통한 월 $12k 비용 절감 및 리소스 최적화 전략

Kubernetes for Docker Users

Lavkesh Dwivedi2026년 6월 19일4intermediate

Context

단일 Docker 컨테이너 운영 환경의 수동 관리 한계와 스케일 아웃 시 발생하는 관리 복잡성 증대 상황 분석. 개별 LoadBalancer 과다 사용 및 리소스 제한 설정 부재로 인한 비용 낭비와 시스템 불안정성 문제 직면.

Technical Solution

  • Control Plane 기반의 Desired State 관리를 통한 컨테이너 배포 및 복구 자동화 구조 설계
  • 개별 Service별 LoadBalancer 할당 방식에서 단일 Ingress Controller 기반 Host-based Routing 체계로 전환하여 네트워크 비용 최적화
  • Resource Requests 및 Limits 설정을 통한 노드 자원 고갈 방지 및 Pod Eviction 현상 원천 차단
  • Stateless 앱은 Deployment를, 고유 식별자와 지속성 저장소가 필요한 데이터베이스는 StatefulSet을 분리 적용하는 워크로드 최적화
  • HPA의 maxReplicas 제한과 Cluster Autoscaler 연동을 통한 무분별한 노드 확장 억제 및 비용 제어
  • CPU 집약적 Batch Job의 경우 AKS 대신 Azure Batch를 활용한 비용 효율적 인프라 구성

- 모든 컨테이너에 CPU/Memory Request 및 Limit 설정 여부 확인 - 메모리 Limit을 노드 전체 용량의 80% 이하로 설정하여 시스템 데몬 가용성 확보 - 서비스 외부 노출 시 LoadBalancer 남용을 피하고 Ingress Controller 도입 검토 - HPA 설정 시 반드시 maxReplicas 상한선을 지정하여 비용 폭증 방지 - 상태 저장 여부에 따라 Deployment와 StatefulSet을 엄격히 구분하여 적용

원문 읽기