[CL]6단계_Kubernetes기반_배포_자동화 - 100-hours-a-week/12-marong-Wiki GitHub Wiki
☸️ EKS 도입 및 Kubernetes 전환 상세 설명서
Kubeadm만으로는 왜 부족했는가?
마롱(Marong)
서비스는 다음과 같은 진화를 거쳤습니다:
- 초기: 단일 EC2 + 수작업 빅뱅 배포
- → CI/CD 자동화 (GitHub Actions) 구축
- → Docker 기반 컨테이너화
- → Kubeadm으로 Kubernetes 자체 클러스터 구성
- → [현재] EKS 기반 관리형 Kubernetes로 운영 최적화 및 확장성 확보 필요
Kubeadm 기반 수동 클러스터 운영은 개발 초기단계에서는 유효했지만, 서비스가 성장하면서 다음과 같은 한계에 직면했습니다:
항목 | 문제점 | 마롱 서비스에 미친 영향 |
---|---|---|
수작업 클러스터 운영 | 워커 노드 추가, 장애 노드 교체, 버전 업그레이드 모두 수작업 | 이벤트 집중 시 노드 수요 급증 대응이 늦어 서비스 지연 위험 발생 |
복잡한 장애 대응 | 노드 장애 시 수동 복구 및 Pod 재배치 필요 | 마니또 공개 시점 트래픽 폭주에 즉각 대응이 어려움 |
가용성 구축 어려움 | 고가용성(HA) 구성을 직접 설정해야 함 (etcd 클러스터, 마스터 다중화 등) | 장애 발생 시 전체 서비스 영향 가능성 높음 |
인프라 관리 부담 | 모니터링, 알림 시스템 구축 및 유지 직접 수행해야 함 | 운영 리소스 소모로 개발/비즈니스 집중도 저하 |
확장성 한계 | 클러스터 스케일링이 자동화되어 있지 않음 | 사용자 수 급증 시 원활한 대응 불가 |
EKS 도입의 핵심 이유
"Kubernetes는 직접 운영하지 말고, 관리형 서비스를 활용하라." — 업계 표준 방향
기존(Kubeadm) | 개선(EKS) |
---|---|
수작업 운영 | AWS가 Control Plane 관리 (APIServer, etcd, Controller HA) |
수동 업그레이드 | 관리형 Kubernetes 버전 업그레이드 지원 |
보안 직접 구성 | IAM 연동, 인증/권한 관리 쉽게 설정 가능 |
클러스터 확장 직접 구성 | AutoScaling Group + Cluster Autoscaler 자동 확장 지원 |
노드 장애 수동 복구 | 헬스 체크 및 장애 시 자동 복구 |
부하 분산 수작업 설정 | ALB Ingress Controller 기본 지원 |
모니터링 구축 필요 | CloudWatch, Container Insights 기본 연동 가능 |
추가 스택 직접 설치 | Istio, Prometheus도 Helm 차트로 쉽게 설치/업데이트 |
EKS 도입의 추가 비즈니스 효과
항목 | 기대 효과 |
---|---|
개발 속도 향상 | 클러스터 운영 부담 감소로 신규 기능 개발/배포에 더 많은 리소스 투입 가능 |
장애 대응 체계 강화 | 자동 복구 + 모니터링으로 사용자 신뢰도 제고 |
비용 최적화 | 워커 노드를 필요할 때만 자동 확장/축소하여 리소스 과잉 사용 방지 |
해외 확장 가능성 | EKS를 통한 멀티 리전 구성 용이 → 해외 서비스 진출 시 유연성 확보 |
보안 강화 | IAM Roles for Service Accounts(IRSA) 활용해 서비스별 최소 권한 부여 가능 |
마롱 서비스의 AWS 기반 최종 아키텍처 전환 방향
- 프론트엔드 →
React
빌드 후 S3 + CloudFront 배포 (K8s 밖으로 분리) - 백엔드 →
Spring Boot JAR
→ EKS Deployment에 배포 - AI 서버 →
Python 모델 추론 서버
→ 각 모델에 따른 전략 배포 - DB →
AWS RDS
(Aurora MySQL)로 외부 관리 - Ingress →
ALB Ingress Controller
사용해 로드밸런싱 - 서비스 메쉬 →
Istio
도입해 트래픽 제어 및 관측성 강화 - 모니터링 →
Prometheus + Grafana
,CloudWatch
연동
요약
항목 | 내용 |
---|---|
운영 관리 최소화 | EKS가 Kubernetes Control Plane을 운영 |
서비스 확장성 확보 | 자동 스케일링 기반 부하 대응 |
무중단 배포 강화 | Rolling Update, Canary 지원 |
트래픽 집중 대응 | HPA + ALB Ingress로 탄력적 부하 분산 |
관측성 강화 | Istio, Prometheus 기반 실시간 모니터링 체계 구축 |
"마롱은 서비스 확장성과 안정성을 확보하기 위해 Kubernetes 기반 아키텍처로 전환했으며, 관리형 EKS 도입을 통해 운영 효율성과 비즈니스 민첩성을 동시에 달성했습니다."