
Pod는 쿠버네티스가 컨테이너를 실행하고 관리하기 위해 만든 논리적 단위이다.
즉, Pod는 단순히 컨테이너를 모아놓은 묶음이 아니라
애플리케이션이 실행되기 위한 최소한의 환경이라고 볼 수 있다.

Node는 Pod가 실제로 실행되는 서버를 의미한다.
물리 서버일 수도 있고, 클라우드상의 가상 머신일 수도 있다.
| 구성요소 | 역할 |
|---|---|
| kubelet | Node에서 Pod를 실행하고 상태를 Control Plane에 보고 |
| Container Runtime | 컨테이너를 실제로 띄우는 프로그램 (containerd, CRI-O 등) |
| kube-proxy | 네트워크 트래픽을 올바른 Pod로 전달하고 연결 경로를 관리 |
이 세 가지가 함께 동작해야 Node가 정상적으로 Pod를 실행할 수 있다

쿠버네티스는 크게 두 영역으로 나뉜다.
| 구분 | 설명 |
|---|---|
| Control Plane | 클러스터의 전체 상태를 제어하고, 새로운 Pod를 어디에 배치할지 결정하는 영역 |
| Data Plane(Node) | 애플리케이션이 실제로 실행되는 영역으로, Pod가 이곳에서 동작한다 |
조금 더 쉽게 접근해보면
Control Plane - 두뇌 , Data Plane - 두뇌의 명령을 실행하는 구현체
kubectl 명령이나 API를 통해 Pod를 생성하면,이 상위 리소스들은 다음 기능을 제공한다.
즉, 사용자는 Pod 자체를 직접 다루기보다, Pod를 대신 관리해주는
리소스를 통해 안정적인 운영을 하게 된다.