Kubelet
Feb 12, 2026 · Updated Mar 15, 2026
핵심 개념
섹션 제목: “핵심 개념”Kubelet은 Workload Plane의 핵심 컴포넌트로, 각 워커 노드에서 직접 운영체제 위에 실행된다 (컨테이너 내부가 아닌 호스트 OS에서 실행).
주요 역할:
- Pod 실행 감지: API Server를 통해 자신의 노드에 할당된 새 Pod를 감지
- 컨테이너 실행 지시: Container Runtime(Docker 등)에게 이미지를 풀(pull)하고 컨테이너를 생성, 실행하도록 지시
- 애플리케이션 건강 유지: 애플리케이션이 종료되면 자동으로 재시작
- 상태 보고: Pod와 노드의 상태를 API를 통해 보고 (Pod 인스턴스를 나타내는 객체를 업데이트)
- Node 객체 생성: 클러스터에 머신이 추가되면 Kubelet이 Node 객체를 생성하여 노드를 등록
Kubelet의 동작은 컨트롤러 패턴을 따른다:
- 자신의 노드에 할당된 Pod 인스턴스를 감시
- Container Runtime을 통해 애플리케이션을 실행
- 실행 상태를 지속적으로 모니터링
- 장애 발생 시 자동 복구 시도
특이점: Node 객체는 일반적으로 사용자가 아닌 Kubelet에 의해 생성된다. Kubelet이 자신이 실행 중인 노드를 API에 등록하는 방식이다.
sequenceDiagram
participant S as Scheduler
participant K as Kubelet (Worker Node 2)
participant CR as Container Runtime
participant R as Container Registry
participant API as API Server
S->>API: Pod를 Worker Node 2에 할당
API->>K: Pod 할당 감지
K->>CR: 컨테이너 실행 지시
CR->>R: 이미지 Pull
R-->>CR: 이미지 반환
CR->>CR: 컨테이너 생성 및 실행
CR-->>K: 실행 완료
K->>API: Pod 상태를 Running으로 업데이트
loop 지속적 모니터링
K->>API: 상태 보고
end
# Kubelet이 실행 중인지 확인 (Minikube)$ minikube statuskubelet: Runningapiserver: Runningkubeconfig: Configured관련 개념
섹션 제목: “관련 개념”- 워크로드 플레인 (Workload Plane) - Kubelet이 실행되는 워커 노드 영역
- 컨테이너 런타임 인터페이스 (Container Runtime Interface) - Kubelet이 컨테이너 실행을 위해 사용하는 인터페이스
- 파드 (Pod) - Kubelet이 관리하는 기본 단위