쿠버네티스 시작하기: Runtime과 Orchestration

성윤·2026년 2월 11일

[☸️Kubernetes]

목록 보기
1/13
post-thumbnail

들어가며👋

도커로 이미지를 만들고 컨테이너를 띄우는 법을 익혔다면, 이제 관리의 영역인 쿠버네티스(Kubernetes)로 넘어갈 차례입니다.

실무에서는 컨테이너가 수십, 수백 개로 늘어납니다. 이걸 사람이 일일이 모니터링하고 제어하는 건 불가능하죠. 😱

이런 수동 운영을 자동화하기 위해 탄생한 게 컨테이너 오케스트레이션(Container Orchestration)입니다.

이번 포스팅에서는 쿠버네티스를 본격적으로 다루기 전, 컨테이너 런타임오케스트레이션의 핵심 개념부터 정리하겠습니다. 🚀


1. 왜 컨테이너(Container)인가? 🤔

🆚 가상머신 vs 컨테이너

  • 가상머신(VM): 하드웨어 전체를 가상화. 각 VM마다 게스트 OS를 별도 설치해야 해서 무겁고 부팅이 느림

  • 컨테이너(Container): 호스트 OS 커널을 공유하며 프로세스만 격리. 별도 OS 설치 불필요로 가볍고 빠름


컨테이너의 장점

OS 부팅 없이 몇 초 만에 실행되고, 시스템 자원을 적게 차지해 같은 서버에 더 많은 애플리케이션을 띄울 수 있습니다.

빠른 배포와 확장이 중요한 클라우드 환경에서 컨테이너는 최적의 선택입니다.


2. 컨테이너 런타임(Container Runtime) 🏃

컨테이너 런타임은 컨테이너를 실행하는 데 필요한 환경입니다.

주요 런타임 3가지

1) Containerd

  • 컨테이너 실행을 직접 관리하는 오픈소스 런타임
  • 이미지 다운로드부터 실행, 모니터링까지 전체 수명 주기 관리
  • 쿠버네티스 기본 런타임

2) Docker

  • Docker Engine은 Containerd 위에서 동작하는 데몬
  • 이미지 빌드/배포 관리는 Docker가, 실제 컨테이너 실행은 Containerd에 위임

💡 이미지 빌드는 Docker Engine이, 컨테이너 실행은 Containerd가 담당합니다.

3) CRI-O

  • Redhat, Intel, IBM 등이 개발한 오픈소스 런타임
  • 무거운 Docker를 대체하기 위한 경량 툴

쿠버네티스와 런타임

과거 쿠버네티스는 Docker를 기본 런타임으로 썼습니다. 하지만 Docker는 CLI, volume 등 사람을 위한 기능이 많아 컨테이너 실행만 필요한 쿠버네티스에는 과했죠.

이에 쿠버네티스는 CRI(Container Runtime Interface) 라는 표준 인터페이스를 만들었습니다.

현재는 Docker 전체를 거치지 않고, 가볍고 CRI를 준수하는 Containerd나 CRI-O를 직접 사용합니다.

💡 쿠버네티스가 Docker를 안 쓴다는 건 서버(노드) 내부 구동 환경 얘기입니다. 개발자가 로컬에서 이미지를 만들 땐 여전히 Docker를 써도 됩니다.


3. 컨테이너 오케스트레이션(Orchestration)? 🎼

로컬이나 소규모 프로젝트에서는 docker run이나 docker-compose로 충분합니다.

하지만 서버가 수십 대, 컨테이너가 수백 개로 늘어나면? 사람이 일일이 관리하는 건 불가능합니다.

컨테이너 오케스트레이션은 OS가 프로세스를 스케줄링하듯, 다수의 컨테이너를 여러 서버에 배치하고 관리하는 지휘자입니다.


오케스트레이션의 핵심 역할 3가지

  1. 🚀 스케줄링: 컨테이너를 어느 서버에 배치할지 자동 결정

  2. 🏥 자가 치유: 컨테이너나 서버가 죽으면 자동으로 새 컨테이너를 띄워 서비스 유지

  3. ⚖️ 오토 스케일링: 트래픽에 따라 컨테이너 수를 자동 조절


4. 오케스트레이션 도구 비교

1) Docker Swarm

  • Docker Engine에 기본 내장
  • 장점: 설치 간단, 학습 곡선 낮음, 빠른 테스트에 유용
  • 단점: 대규모 환경 성능 부족, 생태계 빈약

2) Mesos

  • Apache의 오픈소스, 트위터/애플 등에서 검증됨
  • 장점: 강력한 대규모 분산 관리
  • 단점: 여러 솔루션 조합 필요로 구축 부담 큼

3) Nomad

  • HashiCorp의 툴
  • 장점: 구성 간단, Consul/Vault와 연동 원활
  • 단점: HashiCorp 스택에 익숙해야 효과적

4) Kubernetes (K8s) ⭐

  • 구글의 Borg에서 발전, CNCF 관리 업계 표준
  • 장점: 압도적인 기능, 넓은 생태계, 현대 인프라 필수
  • 단점: 학습 난이도 높음, 설치 복잡

💡 어렵지만 확장성과 생태계 때문에 결국 K8s를 배우는 게 추세입니다.


마치며 ✍️

오늘은 쿠버네티스를 본격적으로 배우기 전 런타임과 오케스트레이션 개념을 정리했습니다.

Docker Swarm으로 가볍게 맛볼 수도 있지만, 거대한 트래픽과 무중단 배포를 완벽히 제어하려면 결국 쿠버네티스를 알아야 합니다.

다음 포스팅에서는 쿠버네티스의 핵심 개념과 아키텍처를 정리해보겠습니다. 🚀

0개의 댓글