Kubernetes

tjdxordlsmsa·2026년 6월 14일

Docker만 있어도 컨테이너를 실행하는 데에는 아무 문제가 없지만, 서비스가 커지면 문제가 생긴다. 예를 들어, 웹 서버 10개, API 서버 20개, DB 서버 3개로 이루어진 규모의 서비스가 있다고 할 때, 메인 서버가 죽었을 때 재시작할 서버는 어떤 것으로 할지, 트래픽이 늘어나면 컨테이너를 어떻게 늘릴지 등의 문제가 생긴다. Docker는 단순히 컨테이너를 실행하는 기술이고, 수많은 컨테이너를 자동으로 관리하는 시스템이 Kubernetes이다.
Kubernetes란 컨테이너 오케스트레이션 플랫폼으로, 컨테이너 생성, 서버 배치, 장애 복구, 스케일링을 자동으로 수행한다. Kubernetes의 주요 개념으로는 Pod(=Container), Deployment, Service, Namespace가 있다.
먼저 Pod란 쿠버네티스가 관리하는 최소 단위로, Pod 1개 = Container 1개 라고 생각할 수 있다. Depolyment란 몇 개의 Pod를 유지할지 정의하며, Pod의 IP는 계속 바뀌기 때문에 고정 주소 역할을 하는 Service를 사용한다. 마지막으로 Namespace는 프로젝트를 구분하는 논리적 공간이다.

항목Docker ComposeKubernetes
목적로컬 개발대규모 운영
서버 수보통 1대여러 대
장애 복구제한적자동
자동 스케일링없음있음
무중단 배포제한적지원
난이도쉬움어려움

정리하면, Docker는 컨테이너를 만드는 기술이고, Kubernetes는 수많은 컨테이너를 자동으로 배치, 확장, 복구, 운영하는 플랫폼이다.

profile

0개의 댓글