1. 문제 / 필요성
- 컨테이너 기반으로 서비스를 구성하면 실행 환경은 표준화된다. 하지만 운영 단계에서는 오히려 관리 대상이 늘어난다.
실제로 다음과 같은 문제가 반복된다.
- 여러 서버에 컨테이너를 어떻게 배치할지 결정해야 함
- 특정 서버 장애 시 컨테이너가 함께 종료됨
- 트래픽 변화에 따라 컨테이너 수를 늘리거나 줄여야 함
- 배포 중 일부 실패 시 롤백 기준이 필요함
- 현재 전체 서비스 상태를 한 번에 파악하기 어려움
이 문제들의 공통점은 하나다.
컨테이너 “실행”이 아니라, 전체 “상태”를 관리해야 한다는 점
2. Kubernetes 전체 구조
Kubernetes는 단순 실행 도구가 아니라 클러스터 단위로 동작하는 시스템이다.

- Control Plane: 상태를 기준으로 판단
- Worker Node: 실제로 컨테이너 실행
전체 동작 흐름
Kubernetes는 아래 흐름으로 동작한다.
- 사용자가 원하는 상태 정의 (YAML)
- API Server에 상태 저장
- Scheduler가 실행 위치 결정
- Worker Node에서 컨테이너 실행
- Controller가 상태를 지속적으로 비교
- 차이가 발생하면 자동으로 수정
Kubernetes는 “결정”과 “실행”을 분리한 시스템이다
3. Kubernetes란
- Kubernetes는 컨테이너로 구성된 애플리케이션을 정의(Define), 배치(Schedule), 실행(Execute), 유지(Maintain) 하는 컨테이너 오케스트레이션 도구다.
- 여기서 오케스트레이션이란 여러 컨테이너를 개별적으로 실행하는 것이 아니라 전체 흐름과 상태를 기준으로 조율하는 것을 의미한다.
여기서 중요한 것은 “실행”이 아니라 “유지”다.
- 몇 개를 실행할지
- 어디서 실행할지
- 실패하면 어떻게 복구할지
이 모든 것을 포함해 전체 상태를 관리한다
Kubernetes는 컨테이너를 실행하는 도구가 아니라 컨테이너 “상태를 유지하도록 조율하는 시스템”이다
4. 핵심 개념: 상태 기반 시스템
일반적인 방식과 Kubernetes의 차이는 여기서 나온다.
- 일반 방식
→ “컨테이너 3개 실행” - Kubernetes
→ “항상 3개 상태 유지”
차이는 단순하다.
- 실행 중심 → 한 번 실행하고 끝
- 상태 중심 → 계속 유지
Kubernetes는 항상 두 상태를 비교한다.
- Desired State (원하는 상태)
- Current State (현재 상태)
그리고 이 차이를 계속 줄인다.
5. 기존 방식과 차이
| 구분 | 단순 컨테이너 | 운영 Kubernetes |
| 관리 대상 | 컨테이너 | 전체 상태 |
| 실행 방식 | 수동 | 자동 |
| 장애 대응 | 직접 처리 | 자동 복구 |
| 확장 | 수동 | 자동 |
👉 Kubernetes는 “컨테이너 실행 도구”가 아니라 “상태 유지 시스템”이다
6. 이 글에서 가져가야 할 기준
이 글에서 중요한 건 개념이 아니라 기준이다.
- Kubernetes는 실행이 아니라 상태를 관리한다
- 구조적으로 결정과 실행이 분리되어 있다
- 모든 동작은 상태 차이를 줄이는 방향으로 이루어진다
이 기준을 잡아두면 이후 개념이 자연스럽게 연결된다.
7. 회고
Kubernetes를 처음 접하면 Pod, Deployment 같은 객체부터 보게 된다. 하지만 이 방식은 구조를 이해하기 어렵다.
이번 글에서는
- 왜 Kubernetes가 필요한지
- 어떤 기준으로 동작하는지
에 집중했다.
이 기준을 먼저 잡고 들어가야 이후 개념이 단순 기능이 아니라 구조 안에서의 역할로 보인다.
8. 다음글
앞선 글에서는 Kubernetes를 개념이 아니라 구조를 기준으로 이해하는 것에 집중했다.
- Control Plane은 상태를 기준으로 판단하고
- Worker Node는 실제로 실행하며
- Controller는 상태를 계속 맞춘다
이 기준을 잡고 나면 다음 단계가 필요해진다.
이 구조가 실제로 어떻게 동작하는가
Kubernetes는 단순히 컴포넌트가 나뉘어 있는 것이 아니라 요청이 들어온 순간부터 실행되고, 다시 상태가 반영되기까지 하나의 흐름으로 이어진다.
다음 글에서는 이 과정을 기준으로
- 요청이 API Server에 들어온 이후
- Scheduler가 어떻게 Node를 선택하고
- Kubelet이 어떻게 컨테이너를 실행하며
- 상태가 어떻게 다시 반영되는지
를 아키텍처 흐름 단위로 정리할 예정이다.
Kubernetes 아키텍처 이해
1. 이 글의 기준Kubernetes는 개념을 나열해서 이해하는 구조가 아니다. 아키텍처를 하나의 기준으로 잡고 봐야 전체가 연결된다.이 글은 다음 기준 하나로 설명한다.Kubernetes는 “상태를 저장하고,
jjaehyeok.tistory.com
'Data Engineering > Kubernetes' 카테고리의 다른 글
| Kubernetes NodePort란 (0) | 2026.04.30 |
|---|---|
| Kubernetes 롤링 업데이트 이해 (0) | 2026.04.30 |
| Kubernetes 객체 이해 (Pod / Deployment / Service) (0) | 2026.04.30 |
| Kubernetes 상태 유지 구조 (Controller & Reconciliation Loop) (0) | 2026.04.21 |
| Kubernetes 아키텍처 이해 (1) | 2026.04.21 |