[Kubernetes] Kubelet


서론

Kubelet은 Kubernetes 워커 노드의 관리자 역할을 하며, 마스터(Control Plane)로부터 받은 명령을 실행하고, 파드 및 노드 상태를 지속적으로 보고한다.

이 장에서는 kubelet의 상세 역할에 대해서 알아본다.

Kubelet

  • 마스터 노드의 스케줄러(Scheduler) 가 특정 파드를 워커 노드에 배치하기로 결정한다.
  • 이 결정은 Kubernetes API Server(Kube API) 를 통해 해당 워커 노드의 Kubelet 에 전달된다.
  • Kubelet 은 전달받은 파드 스펙(spec)을 기반으로 컨테이너 런타임(예: Docker, containerd 등)을 호출하여 실제 파드를 실행시킨다.
  • 파드의 상태와 노드의 상태를 kube api에 주기적으로 보고한다.
  • Kubelet은 클러스터 내 각 워커 노드마다 하나씩 실행됩니다.
  • 기본적으로 Kubelet은 자체적으로 컨테이너를 생성하지 않고, 지정된 파드 스펙(manifest)에 따라 동작한다.
  • TLS 인증을 포함한 보안 연결을 통해 API 서버와 통신한다.