✍️ 본문 내용
🚢 Docker는 무엇인가?
Docker는 애플리케이션을 컨테이너라는 단위로 패키징해 실행하는 기술입니다.
컨테이너는 가볍고 빠르며, 어느 환경에서든 일관된 실행을 보장합니다.
쉽게 말해, **“앱을 깔끔하게 박스에 담아서 어디서든 똑같이 실행되게 해주는 기술”**입니다.
- 개발자가 만든 앱을 테스트 서버, 운영 서버 어디서든 환경 차이 없이 실행 가능
- 이미지 단위로 앱을 버전 관리할 수 있어 CI/CD에 매우 적합
☸️ Kubernetes는 무엇인가?
Kubernetes(K8s)는 수십~수천 개의 컨테이너를 자동으로 관리하는 오케스트레이션 툴입니다.
“많은 컨테이너들을 자동으로 띄우고, 고장 나면 다시 살리고, 트래픽 분산까지 해주는 똑똑한 관리자”라고 보면 됩니다.
- Pod, Node, Cluster 개념을 통해 확장성과 복원력을 제공
- 자체 로드밸런서, 자동 스케일링, 자가 복구 기능 포함
- 클라우드 환경과 잘 어울림 (AWS, GCP, Azure 등과 연동 쉬움)
🧠 정리하면 이렇게 다릅니다
항목DockerKubernetes
역할 | 컨테이너 생성 및 실행 | 컨테이너 군집 관리 및 오케스트레이션 |
범위 | 하나의 앱, 하나의 서버 중심 | 수많은 앱, 여러 서버(cluster) 중심 |
단독 사용 가능? | 가능 | Docker 등과 함께 사용해야 함 |
설치 복잡도 | 비교적 쉬움 | 상대적으로 복잡 |
🤔 언제 Docker만 써도 될까?
- 소규모 프로젝트나 단일 서버 환경
- 개발 및 테스트 위주 환경
- 배포 자동화(CI/CD)만 간단히 구축하고 싶은 경우
🚀 언제 Kubernetes를 고려할까?
- 여러 개의 마이크로서비스를 운영할 때
- 트래픽 급증, 장애 대응, 자동 확장이 필요한 환경
- 기업용/실서비스 환경에서의 안정성 & 확장성이 중요할 때
'OS > DevOps' 카테고리의 다른 글
실무에서 자주 쓰는 Crontab 스케줄 예시 정리 (0) | 2025.07.16 |
---|---|
DevOps가 뭐야? 개발자와 운영자가 하나가 된다고? (0) | 2025.07.06 |