토픽 115 / 122·비교표
컨테이너 오케스트레이션
Kubernetes vs Docker Swarm vs Nomad
| 항목 | Kubernetes | Docker Swarm | Nomad |
|---|---|---|---|
| 정의 | 컨테이너 오케스트레이션 표준 | Docker 내장 오케스트레이션 | HashiCorp 워크로드 스케줄러 |
| 복잡성 | 높음 | 낮음 | 중간 |
| 확장성 | 대규모(수천 노드) | 중소 규모 | 대규모(컨테이너+VM+배치) |
| 에코시스템 | 가장 풍부(CNCF) | 제한적 | Consul/Vault 연동 |
| 적용 | 엔터프라이즈 MSA | 소규모 프로젝트 | 혼합 워크로드 |
Deployment vs StatefulSet vs DaemonSet
| 항목 | Deployment | StatefulSet | DaemonSet |
|---|---|---|---|
| 정의 | 무상태 앱 배포·관리 | 상태 유지 앱 배포·관리 | 모든 노드에 1개씩 배포 |
| Pod 이름 | 랜덤(해시) | 순번(0,1,2...) 고정 | 노드별 1개 |
| 스토리지 | 공유/임시 | PVC 개별 바인딩(영구) | 노드 로컬 |
| 스케일링 | 수평 확장(자유) | 순차 확장/축소 | 노드 수에 연동 |
| 적용 | 웹서버, API | DB, Kafka, ZooKeeper | 로그 수집, 모니터링 에이전트 |
Helm vs Kustomize
| 항목 | Helm | Kustomize |
|---|---|---|
| 정의 | K8s 패키지 매니저(템플릿) | K8s 매니페스트 커스터마이징(오버레이) |
| 방식 | 템플릿 엔진(Go template) | 패치/오버레이(원본 유지) |
| 의존성 | 차트 의존성 관리 | 없음(기본 kubectl 내장) |
| 복잡성 | 높음(템플릿 문법) | 낮음(YAML 패치) |
| 적용 | 복잡한 앱 패키징·배포 | 환경별 설정 분리 |
ClusterIP vs NodePort vs LoadBalancer
| 항목 | ClusterIP | NodePort | LoadBalancer |
|---|---|---|---|
| 정의 | 클러스터 내부 전용 IP | 노드 포트로 외부 노출 | 외부 LB로 노출 |
| 접근 | 클러스터 내부만 | 노드IP:포트 | LB 외부 IP |
| 포트 | 임의 | 30000~32767 | 80/443 등 |
| 비용 | 없음 | 없음 | CSP 과금 |
| 적용 | 내부 서비스 통신 | 개발/테스트 | 프로덕션 외부 서비스 |
Managed K8s 서비스 비교 (EKS vs AKS vs GKE vs Fargate)
| 항목 | AWS EKS | Azure AKS | GCP GKE | AWS Fargate |
|---|---|---|---|---|
| 컨트롤 플레인 | $0.10/hr ($73/월) | 무료 | 무료(Standard)/유료(Autopilot) | N/A(ECS/EKS에 포함) |
| 워커 노드 | EC2 인스턴스 비용 | VM 비용 | Compute Engine 비용 | vCPU+메모리 종량제 |
| 서버리스 옵션 | Fargate($0.04/vCPU-hr) | Container Instances | Cloud Run/Autopilot | 기본(서버리스) |
| 프리티어 | 없음 | AKS 무료, VM 별도 | GKE 1 Zonal 무료 | 없음 |
| 최소 비용(월) | ~$150(소규모) | ~$70(소규모) | ~$70(소규모) | ~$30(소규모) |
| 비용 특징 | EKS 관리비 별도 | 컨트롤 플레인 무료 | Autopilot은 Pod 기준 과금 | 인프라 관리 불필요 |
Pod vs Service vs Deployment (K8s)
| 항목 | Pod | Service | Deployment |
|---|---|---|---|
| 정의 | 컨테이너 실행 최소 단위 | 네트워크 접근 추상화 | Pod 선언적 배포·관리 |
| 역할 | 컨테이너 실행 | 로드밸런싱, 서비스 디스커버리 | 롤링 업데이트, 스케일링 |
| 생명주기 | 일시적(Ephemeral) | 영구적(Stable IP/DNS) | Pod 관리(ReplicaSet) |
| 적용 | 앱 실행 단위 | 내부/외부 통신 | 무상태 앱 배포 |