
쿠버네티스(Kubernetes)는 컨테이너화된 애플리케이션을 효율적으로 배포·운영·관리하기 위한 오케스트레이션 도구이다.
쿠버네티스가 동작하는 환경을 클러스터(Cluster)라고 하며, 이는 마스터 노드(Control Plane)와 워커 노드(Worker Node)로 구성된다.
Kuberenetes Component

- 쿠버네티스가 구성된 환경을 클러스터(Cluster)라고 하며, 클러스터는 쿠버네티스가 동작하도록 하는 컴포넌트와 파드가 배포되는 노드로 이루어져 있다.
모든 클러스터는 최소 한 개의 워커 노드를 가진다.
클러스터(Cluster)
- 정의: 쿠버네티스가 실행되는 전체 환경
- 구성: 최소 1개 이상의 워커 노드로 이루어져 있으며, 프로덕션 환경에서는 내결함성과 고가용성을 위해 보통 여러 개의 마스터 및 워커 노드로 운영된다
- 비유
- 마스터 노드 = 감독 (경기 운영과 선수 관리, 직접 뛰지는 않음)
- 워커 노드 = 선수 (직접 경기를 뛰고 일을 수행)
노드(Node)
- 노드: 클러스터 내에서 동작하는 가상 서버, 컴퓨팅 엔진 단위
- 종류
- 마스터 노드(Control Plane)
- 워커 노드(Worker Node)
마스터 노드 컴포넌트 (Control Plane Components)
kube-apiserver (API 서버)

- 클러스터의 중심 컴포넌트, CPU와 같은 역할
- etcd와 통신할 수 있는 유일한 컴포넌트
- 모든 요청은 API Server를 통해 처리됨 (etcd 직접 접근 불가)
- 다른 컴포넌트의 상태를 파악하고 요청을 워커 노드의 kubelet에 전달
etcd (분산 Key-Value 저장소)

- 클러스터의 DB 역할 (모든 설정과 상태 저장)
- API Server만 접근 가능
- 가장 중요한 컴포넌트 → 백업/복구 시 etcd 데이터 활용 가능
kube-scheduler (스케줄러)

- 새롭게 생성된 파드를 어떤 워커 노드에 배치할지 결정
- 파드 요구 리소스, 노드 가용 리소스, 제약 조건 등을 고려해 최적 배치
kube-controller-manager (컨트롤 매니저)

- 여러 컨트롤러(Node Controller, Replication Controller, Deployment Controller 등)를 실행
- Pod, Deployment, Node 상태를 모니터링하고 필요 시 동작 수행
- 직접 모니터링하지 않고 API Server로부터 상태 전달을 받아 동작
워커 노드 컴포넌트 (Worker Node Components)
kubelet
- 워커 노드 에이전트
- 파드의 전체 라이프사이클(생성→실행→종료→복구) 관리
- 워커 노드 등록 및 상태 보고
- API Server에서 받은 명령을 실제 실행
kube-proxy
- 네트워크 담당
- 노드와 파드 간 통신을 가능하게 하고, 외부 트래픽을 적절한 파드로 라우팅
- Service와 연계해 로드 밸런싱 역할 수행
파드(Pod)
- 쿠버네티스에서 배포 가능한 가장 작은 단위
- 하나 이상의 컨테이너 그룹으로 구성
예시:
- 컨테이너 = 애플리케이션 일부 기능
- 여러 컨테이너가 모여 하나의 파드 = 완전한 애플리케이션
- 하나의 컨테이너가 완전한 애플리케이션인 경우 → 단독으로 파드 구성 가능
쿠버네티스 단위 구조
클러스터 > 노드(Node) > 파드(Pod) > 컨테이너(Container)
요약
- 클러스터: 쿠버네티스 전체 환경
- 마스터 노드: 클러스터 제어(감독) → API Server, etcd, Scheduler, Controller Manager
- 워커 노드: 파드 실행(선수) → kubelet, kube-proxy
- 파드: 가장 작은 배포 단위, 하나 이상의 컨테이너로 구성
Reference
공식 문서 – Kubernetes Components