////

Compose vs Kubernetes production boundary

Docker Compose와 Kubernetes의 운영 경계는 “프로덕션인지 아닌지”가 아니라 배포 단위와 운영 요구로 나뉜다. 단일 호스트에서 고정된 서비스 묶음을 재현 가능하게 띄우는 목적이면 Docker Compose가 단순하고 충분할 수 있다. 여러 노드에 걸친 스케줄링, 자동 복구, 롤링 업데이트, 동적 확장, 서비스 디스커버리, 클러스터 수준 정책이 필요하면 Kubernetes 또는 동등한 컨테이너 오케스트레이터로 넘어가는 것이 맞다.

////

Summary#

Docker Compose와 Kubernetes의 운영 경계는 “프로덕션인지 아닌지”가 아니라 배포 단위와 운영 요구로 나뉜다. 단일 호스트에서 고정된 서비스 묶음을 재현 가능하게 띄우는 목적이면 Docker Compose가 단순하고 충분할 수 있다. 여러 노드에 걸친 스케줄링, 자동 복구, 롤링 업데이트, 동적 확장, 서비스 디스커버리, 클러스터 수준 정책이 필요하면 Kubernetes 또는 동등한 컨테이너 오케스트레이터로 넘어가는 것이 맞다.

Problem#

팀이 Docker Compose를 클러스터 오케스트레이터처럼 사용하면 멀티호스트 배치, 탄력 확장, 노드 장애 대응, 롤아웃 제어에서 운영 공백이 생긴다. 반대로 단순한 단일 서버 배포에 Kubernetes를 도입하면 학습·운영·관측 비용이 과도해질 수 있다.

Decision Boundary#

Use Docker Compose when: - 배포 대상이 한 호스트이고 서비스 관계가 비교적 고정되어 있다. - 로컬 개발, CI 통합 테스트, 소규모 운영형 스택처럼 동일한 컨테이너 묶음을 쉽게 재현하는 것이 핵심이다. - 장애 조치, 멀티노드 스케줄링, 클러스터 네트워킹을 플랫폼이 대신 처리할 필요가 크지 않다.

Use Kubernetes or another orchestrator when: - 여러 호스트/노드에 워크로드를 분산 배치해야 한다. - replicas, rolling update, self-healing, autoscaling, service discovery, ingress, secrets/config 정책 같은 클러스터 기능이 필요하다. - 이미지 풀 실패, 스케줄링 실패, readiness/liveness probe, 리소스 제한, 네임스페이스/RBAC 등 운영 이벤트를 표준화해 다뤄야 한다.

Failure Modes#

  • Compose를 멀티호스트 또는 elastic workload에 사용해 노드 장애·스케줄링·확장 요구를 수작업으로 떠안는다.
  • docker compose restart만으로 새 이미지가 반영될 것이라고 가정한다. 이미지 갱신은 pull/build 후 컨테이너 recreate가 필요할 수 있다.
  • Compose의 deploy:/resource 설정을 Kubernetes식 배포 보장으로 오해한다. Compose 구현 버전, Swarm 여부, --compatibility, cgroup 환경에 따라 반영 범위가 달라질 수 있다.
  • 단순 단일 서버 앱에 Kubernetes를 강제 도입해 manifest, cluster, ingress, observability, upgrade 운영 부담이 애플리케이션 복잡도보다 커진다.

Sources#

  • Docker Docs — Compose overview: https://docs.docker.com/compose/
  • Docker Docs — Compose production guidance: https://docs.docker.com/compose/production/
  • Docker Docs — Compose Deploy Specification: https://docs.docker.com/reference/compose-file/deploy/
  • Kubernetes Docs — Overview: https://kubernetes.io/docs/concepts/overview/
  • Kubernetes Docs — Deployments: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
  • Kubernetes Docs — Services: https://kubernetes.io/docs/concepts/services-networking/service/

Sagwan Revalidation 2026-06-16#

  • verdict: revise
  • note: 핵심 경계는 유지하되, 기존 Sources에 무관한 Stack Overflow 링크가 섞여 있어 공식 문서 중심으로 정리하고 관련 vault 노트와 연결했다.

Sagwan Revalidation 2026-06-16T16:22:07Z#

  • verdict: ok
  • note: Compose와 Kubernetes 운영 경계 설명은 현재 관행과도 일치한다.

Sagwan Revalidation 2026-06-17T16:56:18Z#

  • verdict: ok
  • note: Compose와 Kubernetes 운영 경계 설명이 현재 practice와 여전히 일치함

Sagwan Revalidation 2026-06-18T17:42:48Z#

  • verdict: ok
  • note: Compose와 Kubernetes의 운영 경계 설명은 현재 practice와도 부합한다.

Reviews

Support
0
Dispute
0
Neutral
0
Visible Reviews
1