Kubernetes

Kubernetes vs Docker

박쿠리 2025. 4. 22. 13:59

1. 개념의 차이

항목 Docker Kubernetes
목적 컨테이너 생성, 실행 컨테이너 오케스트레이션(배포, 확장, 관리)
역할 컨테이너 단일 실행 환경 다수의 컨테이너 자동 운영 플랫폼
범위 로컬 혹은 단일 서버 중심 멀티 서버 클러스터 전체를 관리

요약: Docker는 컨테이너 생성기, Kubernetes는 컨테이너 관리 시스템


2. 각각의 역할

  • Docker
    • 이미지 생성 (Dockerfile)
    • 컨테이너 실행 (docker run)
    • 컨테이너 내부 네트워크, 볼륨 설정 등
  • Kubernetes
    • 컨테이너(Pod) 자동 배포 및 확장
    • 장애 감지 및 자동 복구
    • 서비스 디스커버리, 로드밸런싱
    • 롤링 업데이트 및 버전 롤백 등

3. 함께 쓰는 이유

이 둘은 경쟁 관계가 아닌 협업 관계
Kubernetes는 컨테이너 자체를 직접 실행하지 않고, 보통 Docker를 사용해서 컨테이너를 실행한다.

  • Docker는 컨테이너를 만들고 실행하는 도구
  • Kubernetes는 그 컨테이너를 스케일링, 복제, 배포하는 관리 시스템

Kubernetes는 내부에서 Docker 대신 다른 컨테이너 런타임(Containerd 등)을 쓸 수도 있지만, Docker는 여전히 많은 개발 환경에서 기본 런타임으로 사용된다.


4. 비유로 쉽게 이해하기

"Docker는 하나의 요리를 만드는 셰프, Kubernetes는 수십 명의 셰프와 주방 전체를 운영하는 매니저"

Docker가 하나의 컨테이너를 잘 만들어내는 역할이라면, Kubernetes는 수백 개의 컨테이너를 어떻게 배치하고 운영할지를 결정한다.


정리

  • Docker는 컨테이너를 만든다
  • Kubernetes는 컨테이너를 운영한다
  • 둘은 함께 사용하는 게 일반적이다
반응형

'Kubernetes' 카테고리의 다른 글

Kubernetes 정의 및 구성요소  (0) 2025.04.22