반응형
도커(Docker)와 쿠버네티스(Kubernetes)는 둘 다 컨테이너 기술과 관련이 있지만, 역할과 범위가 분명히 다릅니다.
한 문장으로 요약하면,
도커는 “컨테이너를 만드는 도구”, 쿠버네티스는 “그 컨테이너들을 대규모로 관리·운영하는 도구”입니다.
1. 도커(Docker) — 컨테이너 생성·실행 도구
- 정의
애플리케이션과 그 실행 환경(라이브러리, 설정 파일 등)을 하나의 패키지(이미지)로 묶어,
운영체제에 상관없이 동일하게 실행할 수 있도록 해주는 컨테이너 가상화 플랫폼입니다. - 주요 기능
- 이미지 빌드: Dockerfile로 애플리케이션 실행 환경 정의
- 컨테이너 실행: 빌드한 이미지를 기반으로 프로세스 실행
- 개별 관리: 각 컨테이너를 수동으로 시작·중지·삭제
- 개발 환경 표준화: 로컬, 서버, 클라우드 어디서나 동일 실행
- 한계
- 수십~수백 개의 컨테이너를 직접 관리하기 어려움
- 컨테이너 장애 발생 시 자동 복구 불가능
- 로드밸런싱, 서비스 디스커버리 등 운영 기능 부족
2. 쿠버네티스(Kubernetes) — 컨테이너 오케스트레이션 플랫폼
- 정의
수많은 컨테이너를 여러 서버(Node)에 분산 배치하고,
자동으로 배포·확장·복구하는 오케스트레이션(자동 조율) 시스템입니다. - 주요 기능
- 자동 배포: 선언형 설정(YAML)으로 원하는 상태 정의
- 스케일링: 부하에 따라 컨테이너 수 자동 조절
- 자가 복구: 장애가 난 컨테이너 자동 재시작/재배치
- 서비스 디스커버리/로드밸런싱: Pod 간 네트워크 연결 관리
- 환경 구성 관리: ConfigMap, Secret으로 환경 변수·민감정보 관리
- 특징
- 컨테이너 런타임으로 도커를 사용할 수 있지만, 다른 런타임도 지원(containerd 등)
- 운영환경의 안정성과 확장성을 보장
3. 핵심 비교
구분 | 도커(Docker) | 쿠버네티스(Kubernetes) |
역할 | 컨테이너 생성·실행 | 컨테이너 집합의 배포·운영·관리 |
단위 | 개별 컨테이너 | Pod(컨테이너 그룹), Node, Cluster |
사용 범위 | 개발·테스트·소규모 배포 | 대규모 서비스 운영 |
자동화 수준 | 낮음(수동 관리) | 높음(자동 스케일링, 자가 복구) |
필수 관계 | 단독 사용 가능 | 컨테이너 런타임 필요(도커 등) |
💡 비유로 이해하기
- 도커 = “화물을 담는 표준 컨테이너 박스”
- 쿠버네티스 = “전 세계 항구에서 컨테이너를 자동 분류·운송·배치하는 물류 시스템”
'실버를 위한 코딩' 카테고리의 다른 글
AWS 학습 계획 (1) | 2025.05.25 |
---|---|
컴퓨터 코딩과 관련된 개념인 '가상화'란? (1) | 2024.11.22 |
주피터 노트북, 코랩과 아나콘다 사용상의 차이 (3) | 2024.10.22 |
VPN(Virtual Private Network)이란? (0) | 2024.08.03 |
vm과 컨테이너의 차이 (1) | 2024.07.11 |