컨테이너 오케스트레이션
더 많은 작업
컨테이너 오케스트레이션(Container Orchestration)은 여러 호스트에 걸친 컨테이너의 배포, 배치, 확장, 네트워크 연결, 상태 관리를 수명 주기 전체에 걸쳐 자동화하는 것이며, 이를 수행하는 도구를 컨테이너 오케스트레이터라고 한다.
컨테이너 몇 개는 사람이 직접 띄우고 내릴 수 있지만, 수백·수천 개의 컨테이너와 호스트를 다루는 운영 환경에서는 어느 호스트에 띄울지, 죽으면 어떻게 되살릴지, 부하가 늘면 몇 개를 더 띄울지를 자동으로 정해야 한다. Red Hat 은 컨테이너 오케스트레이션을 컨테이너의 배포·관리·확장·네트워킹을 수명 주기 전체에 걸쳐 자동화하는 과정으로 설명하고, 대표 도구로 쿠버네티스, Docker Swarm, Apache Mesos 를 든다.[1]
오케스트레이터는 명령을 하나씩 받는 대신, 사용자가 YAML·JSON 으로 적은 원하는 상태(어떤 이미지를 몇 개, 어떤 네트워크·저장소로)를 받아 실제 상태가 그와 같아지도록 계속 맞추는 제어 루프로 동작한다.[1]
- 스케줄링 - 자원 요구량과 제약 조건을 보고 컨테이너를 올릴 노드를 고른다
- 자동 복구 - 컨테이너나 노드가 죽으면 다른 노드에 다시 띄운다
- 확장 - 부하에 따라 복제본 수를 늘리고 줄인다
- 서비스 탐색·부하 분산 - 바뀌는 컨테이너 주소 앞에 고정된 진입점을 두고 트래픽을 나눈다
- 롤링 업데이트·롤백 - 새 이미지로 조금씩 바꾸고, 문제가 있으면 되돌린다
- 설정·비밀정보 관리 - 설정과 비밀번호를 이미지와 분리해 주입한다
쿠버네티스를 예로 들면 클러스터는 컨트롤 플레인(흔히 마스터 노드라 부른다)과 컨테이너화된 응용을 실제로 실행하는 워커 노드들로 이루어진다. 컨트롤 플레인은 스케줄링 같은 클러스터 전체의 결정을 내리고 워커 노드와 파드를 관리한다. 워커 노드는 응용 작업 부하인 파드를 실행하며, 클러스터에는 워커 노드가 적어도 하나 있어야 한다.[2]
| 구분 | 하는 일 | 구성 요소(쿠버네티스) |
|---|---|---|
| 마스터(컨트롤 플레인) 노드 | 클러스터 상태 관리, 스케줄링, 원하는 상태 유지 | API 서버, 스케줄러, 컨트롤러 매니저, etcd |
| 워커 노드 | 파드(컨테이너)를 실제로 실행 | kubelet, 컨테이너 런타임, kube-proxy |
→ 쿠버네티스 노드
오케스트레이터는 컨테이너를 만들지 않고, 이미 만들어진 컨테이너 이미지를 받아 실행한다. 그래서 이미지 저장소인 컨테이너 레지스트리가 앞에 놓인다.
- 응용이나 함수를 컨테이너 이미지로 빌드한다
- 이미지를 컨테이너 레지스트리에 올린다
- 오케스트레이터에 배포 명세를 넘기면, 컨트롤 플레인이 워커 노드를 골라 레지스트리에서 이미지를 받아 실행한다
오픈소스 서버리스 프레임워크도 이 구조 위에서 돈다. 예를 들어 OpenFaaS 는 각 함수를 컨테이너 이미지로 빌드해 컨테이너 레지스트리에 불변 산출물로 보관하고, 쿠버네티스 위에서 함수를 여러 호스트로 확장해 실행한다.[3]
| 개념 | 역할 |
|---|---|
| 컨테이너 오케스트레이터 | 여러 노드의 컨테이너 배치·확장·복구를 자동화(쿠버네티스 등) |
| 컨테이너 레지스트리 | 빌드된 컨테이너 이미지를 저장·배포하는 저장소(Docker Hub 등) |
| 컨테이너 런타임 | 한 노드에서 컨테이너를 실제로 생성·실행(containerd, CRI-O) |
| 하이퍼바이저 | 가상 머신을 만들고 하드웨어를 가상화 |
- ↑ 1.0 1.1 「What is container orchestration?」, Red Hat, https://www.redhat.com/en/topics/containers/what-is-container-orchestration, 확인일: 2026-11-05.
- ↑ 「Cluster Architecture」, Kubernetes Documentation, https://kubernetes.io/docs/concepts/architecture/, 확인일: 2026-11-05.
- ↑ 「OpenFaaS stack」, OpenFaaS Documentation, https://docs.openfaas.com/architecture/stack/, 확인일: 2026-11-05.