..

Kubernetes Control Plane: 클러스터의 두뇌 구성 요소

1. Control Plane이란?

Control Plane(컨트롤 플레인)은 쿠버네티스 클러스터 전체를 관리하고 의사 결정을 내리는 두뇌 역할을 합니다. 보통 클러스터의 마스터 노드에 상주하며 다양한 컴포넌트로 구성됩니다.

2. 주요 구성 컴포넌트

kube-apiserver

  • 역할: 쿠버네티스 API를 노출하는 프론트엔드입니다.
  • 모든 내부/외부 요청(관리자 명령, 노드 통신 등)의 창구 역할을 하며, 요청의 유효성을 검사하고 처리합니다.

etcd

  • 역할: 클러스터의 모든 상태 데이터를 담고 있는 고가용성 Key-Value 저장소입니다.
  • “현재 어떤 Pod가 어디서 돌고 있는가?”와 같은 모든 정보가 여기에 기록됩니다.

kube-scheduler

  • 역할: 새로 생성된 Pod가 어느 노드에서 실행될지 결정하는 배정자입니다.
  • 각 노드의 리소스 상황을 고려하여 최적의 위치를 선택합니다.

kube-controller-manager

  • 역할: 클러스터의 상태를 감시하고, 기대하는 상태(Desired State)로 유지하기 위해 다양한 컨트롤러 루프를 실행합니다.
  • 노드 컨트롤러: 노드 장애 시 대응
  • 잡 컨트롤러: 일회성 작업 관리
  • 엔드포인트 슬라이스 컨트롤러: 서비스와 Pod 연결

cloud-controller-manager (Optional)

  • 역할: AWS, GCP, Azure와 같은 클라우드 서비스 업체의 인프라와 쿠버네티스를 연결해 주는 다리 역할을 합니다. 온프레미스 환경에서는 필요하지 않습니다.

Control Plane은 수많은 워커 노드들을 일사불란하게 움직이게 하는 중앙 지휘소입니다.