Kubernetes 클러스터 정리: 컨트롤 플레인 + 워커 노드
Kubernetes 클러스터는 컨트롤 플레인(Control Plane)과 워커 노드(Worker Node)로 구성되며, 컨트롤 플레인은 클러스터의 두뇌 역할을, 워커 노드는 실제 애플리케이션 파드(Pod)를 실행하는 역할을 담당합니다.
1. 컨트롤 플레인(Control Plane)
컨트롤 플레인은 사용자가 정의한 원하는 상태(Desired State)를 유지하기 위한 모든 관리 및 조정 작업을 수행합니다.
구성 요소별 역할
| 구성 요소 | 역할 및 기능 | 통신의 중심 |
|---|---|---|
| API 서버 (Kube-apiserver) | 클러스터의 모든 통신과 요청 처리. etcd에 접근하는 유일 경로. | 모든 구성 요소 |
| etcd | 클러스터의 상태 저장소, 단 하나의 진실 근원(Source of Truth) | API 서버 |
| 스케줄러 (Kube-scheduler) | 새로 생성된 파드에 대한 최적 노드 배치 결정 | API 서버 (감시 및 업데이트) |
| 컨트롤러 매니저 (Kube-controller-manager) | 실제 상태와 원하는 상태 비교, 불일치 조정 Control Loop, 자가 치유 | API 서버 (상태 감시 및 수정 요청) |
핵심 원리: Desired State (원하는 상태)
컨트롤 플레인은 선언적(Declarative) 방식으로 동작하며 상태를 관리합니다.
- 선언: 사용자가 API 서버를 통해 원하는 최종 상태를 etcd에 기록.
- 감시: 스케줄러, 컨트롤러 매니저 등이 API 서버를 통해 etcd의 변화 감시.
- 조정: 스케줄러는 배치할 노드 결정, 컨트롤러 매니저는 실제 상태와 원하는 상태 불일치 감지 시 자동 복구 명령 수행.
2. 워커 노드(Worker Node) 구조와 역할
워커 노드는 실제 애플리케이션이 실행되는 환경입니다. 각 노드는 여러 구성 요소를 포함하며, 컨트롤 플레인과 통신합니다.
구성 요소별 역할
| 구성 요소 | 역할 및 기능 | 통신의 중심 |
|---|---|---|
| kubelet | 노드에서 파드 실행 및 상태 보고. API 서버와 직접 통신 | API 서버 |
| 컨테이너 런타임 (Docker, containerd 등) | 컨테이너를 실제로 생성, 실행, 관리 | kubelet |
| kube-proxy | 클러스터 내 서비스 네트워크 통신 관리, 로드 밸런싱 | API 서버, 다른 노드 |
| 노드 상태 모니터링 | 리소스 사용량, 상태 정보를 kubelet이 API 서버에 보고 | API 서버 |
워커 노드 동작 원리
- 파드 배치: 컨트롤 플레인이 결정한 파드를 kubelet이 수신.
- 컨테이너 실행: kubelet이 컨테이너 런타임에 요청하여 파드 실행.
- 상태 보고: kubelet이 파드 상태, 리소스 사용량, 이벤트를 API 서버에 주기적으로 보고.
- 네트워킹: kube-proxy가 서비스 IP, ClusterIP, LoadBalancer 등을 관리하여 다른 파드/서비스와 통신 가능하도록 조정.
3. 컨트롤 플레인 ↔ 워커 노드 상호작용
- 사용자가 YAML로 배포를 선언 → API 서버에 전달 → etcd에 기록.
- 컨트롤러 매니저가 원하는 상태와 현재 상태 비교 → 불일치 감지 시 조치.
- 스케줄러가 적절한 워커 노드 선택 → kubelet에 배치 명령.
- 워커 노드(kubelet)가 컨테이너 런타임을 통해 파드 생성 → 상태를 API 서버로 보고.
- kube-proxy가 서비스 네트워크 관리 → 다른 파드 및 외부와 통신 가능.
4. 요약
- 컨트롤 플레인: 클러스터의 두뇌, 상태 관리, 조정, 자가 치유.
- 워커 노드: 실제 파드 실행, 상태 보고, 네트워크 관리.
- Desired State 기반 운영: 선언적 방식으로 모든 파드, 서비스, 리소스 상태를 자동 조정 및 복구.
'Kubernetes' 카테고리의 다른 글
| 쿠버네티스 네트워크 (0) | 2025.12.12 |
|---|---|
| 쿠버네티스 볼륨 (0) | 2025.12.10 |
| 쿠버네티스 명령어 정리 (kubectl) 및 yaml (0) | 2025.12.08 |
| 쿠버네티스 개념 및 용어 정리 (0) | 2025.12.08 |
| 쿠버네티스 VMware 실습 환경 세팅 (0) | 2025.12.05 |