Kubernetes kubelet 완벽 가이드! Worker Node Agent와 Container 실행 구조 이해하기

Kubernetes Cluster에서 실제 Container를 실행하는 역할은 Worker Node에서 동작하는 kubelet이 담당합니다.

Control Plane의 Scheduler가 “어느 Node에서 실행할지” 결정한다면, kubelet은 전달받은 명령을 실제 환경에서 실행하고 상태를 보고합니다.

예:

Scheduler

Worker Node 선택

API Server 전달

kubelet 확인

Container 실행

상태 보고

kubelet은 Kubernetes Node에서 가장 중요한 Agent이며, Node와 Control Plane을 연결하는 핵심 Component입니다.

구성 요소역할
kubeletPod 실행 및 상태 관리
Container RuntimeContainer 실행
API Server상태 전달
Node실제 실행 환경

kubelet 구조를 이해하면 Node 장애 분석, Pod 실행 과정, Container Runtime 동작 방식을 이해할 수 있습니다.

Kubernetes kubelet이란?

kubelet은 모든 Worker Node에서 실행되는 Node Agent입니다.

주요 역할:

  • Pod 실행 관리
  • Container 상태 확인
  • Node 상태 보고
  • Volume 연결 관리
  • Health Check 수행

구조:

API Server

kubelet

Container Runtime

Container

Worker Node의 실행 관리자 역할을 수행합니다.

Kubernetes Architecture에서 kubelet 위치

전체 흐름:

Control Plane

API Server

↓

Worker Node

kubelet

↓

Container Runtime

↓

Pod

Control Plane과 Worker Node 사이의 연결 지점입니다.

Kubernetes Pod 실행 과정에서 kubelet 역할

Pod 생성 과정:

사용자

kubectl apply

API Server

Scheduler

Node 선택

kubelet 전달

Container Runtime 호출

Container 실행

kubelet은 실행 명령을 받아 실제 작업을 수행합니다.

Kubernetes kubelet과 Container Runtime 관계

kubelet은 직접 Container를 실행하지 않습니다.

역할 분리:

kubelet:

“어떤 Container를 실행해야 하는지 관리”

Container Runtime:

“실제로 Container 실행”

대표 Runtime:

  • containerd
  • CRI-O

구조:

kubelet

CRI

containerd

Container 실행

Kubernetes CRI(Container Runtime Interface) 구조

Kubernetes는 Container Runtime과 직접 연결하지 않고 CRI를 사용합니다.

구조:

kubelet

CRI Interface

Container Runtime

장점:

  • Runtime 교체 가능
  • 표준화된 구조
  • 확장성 증가

현재 Kubernetes에서는 containerd 사용이 일반적입니다.

Kubernetes kubelet 주요 기능

Pod 관리

kubelet은 Node에 배치된 Pod 상태를 관리합니다.

확인:

kubectl get pods

실제 실행 상태를 Node에서 확인합니다.

Container Health Check

Probe 설정을 실행합니다.

종류:

  • Liveness Probe
  • Readiness Probe
  • Startup Probe

문제 발생 시 Container 재시작 또는 Traffic 제외를 수행합니다.

Node 상태 보고

kubelet은 지속적으로 Node 정보를 API Server에 전달합니다.

보고 정보:

  • CPU
  • Memory
  • Disk
  • Network
  • Container 상태

Node NotReady 문제와 연결됩니다.

Kubernetes kubelet Heartbeat 동작

kubelet은 일정 주기로 자신의 상태를 보고합니다.

흐름:

kubelet

Heartbeat 전달

API Server

Node 상태 업데이트

Heartbeat가 끊기면:

Node NotReady

상태가 됩니다.

Kubernetes kubelet Configuration

kubelet 설정 파일에는 실행 옵션이 저장됩니다.

예:

/etc/kubernetes/kubelet-config.yaml

주요 설정:

  • Cluster 연결 정보
  • 인증서
  • Runtime Endpoint
  • Resource 설정

운영 환경에서 중요한 관리 대상입니다.

Kubernetes kubelet Certificate 관리

kubelet은 API Server와 TLS 통신을 합니다.

필요:

  • Client Certificate
  • CA Certificate

Certificate 문제가 발생하면:

kubelet

API Server 연결 실패

Node 장애 발생

Certificate 관리는 중요합니다.

Kubernetes kubelet 장애 분석

kubelet 문제 발생 시 확인:

서비스 상태 확인

systemctl status kubelet

Log 확인

journalctl -u kubelet

확인 항목:

  • API Server 연결
  • Certificate 오류
  • Runtime 오류
  • Configuration 오류

Kubernetes kubelet과 Node NotReady 관계

대표 흐름:

kubelet 중지

Heartbeat 중단

API Server 감지

Node NotReady 변경

Node 장애 분석에서 가장 먼저 확인하는 Component입니다.

Kubernetes kubelet과 Volume 관리

kubelet은 Pod Volume 연결도 담당합니다.

흐름:

Pod 생성

Volume 요청

kubelet 확인

Storage 연결

Container 실행

PV/PVC 구조와 연결됩니다.

Kubernetes kubelet Resource 관리

kubelet은 Node Resource 상태를 관리합니다.

관리:

  • CPU
  • Memory
  • Disk
  • PID

Resource 부족 상황에서는:

  • Eviction
  • Container 종료

등을 수행합니다.

Kubernetes kubelet Eviction 동작

Node Resource 부족:

kubelet 감지

우선순위 낮은 Pod 제거

Node 보호

Node 안정성을 유지합니다.

Kubernetes kubelet과 Logging

Container Log도 kubelet 환경과 연결됩니다.

구조:

Container

stdout

Node Log

Logging Agent

Loki / Elasticsearch

Logging Architecture와 연결됩니다.

Kubernetes kubelet Monitoring

운영 환경에서는 kubelet Metric을 확인합니다.

대표 Metric:

  • Pod Start Time
  • Container Restart
  • Node Status
  • Runtime Error

Prometheus와 연결하여 관리합니다.

Kubernetes kubelet 보안 운영

관리 항목:

  • TLS 인증
  • 최소 권한
  • API 접근 제한
  • Certificate Rotation

Worker Node 보안의 핵심입니다.

Kubernetes kubelet 운영 전략

Production 환경:

kubelet Monitoring

Certificate 관리

Runtime 상태 확인

Resource 관리

장애 대응 준비

안정적인 Worker Node 운영이 가능합니다.

Kubernetes kubelet 장점

장점설명
자동 실행Pod 관리
상태 보고Node Monitoring
Self Healing 지원장애 복구
Runtime 관리Container 운영

kubelet은 Kubernetes Worker Node의 핵심 Agent입니다.

자주 묻는 질문

kubelet이 Container를 직접 실행하나요?

아닙니다.

kubelet은 Container Runtime을 통해 실행을 요청합니다.

kubelet이 중지되면 실행 중인 Container도 모두 종료되나요?

즉시 종료되지는 않지만 Cluster 관리와 상태 보고에 문제가 발생합니다.

kubelet은 어디에서 실행되나요?

모든 Worker Node에서 실행됩니다.

마무리

Kubernetes kubelet은 Worker Node에서 Pod 실행과 상태 관리를 담당하는 핵심 Agent입니다.

구성 요소역할
API Server명령 전달
kubelet실행 관리
CRIRuntime 연결
containerdContainer 실행

kubelet 구조를 이해하면 Kubernetes Node 운영, 장애 분석, Container 실행 과정을 깊게 이해할 수 있습니다.

다음 글에서는 Kubernetes Worker Node에서 Container를 실제 실행하는 Kubernetes Container Runtime 완벽 가이드! containerd와 CRI 구조 이해하기를 진행하겠습니다.

댓글 남기기