Search

Kubelet

Created
2023/08/10 11:38
Tags
k8s
CKA
Mumshad Mannambeth
Core Concept

1) About

생성된 Pod가 어느 노드에 배치되어야 하는지 정하는 것이 Kube Scheduler였다면, 이렇게 배정된 Pod를 Kube API Server의 기능으로 노드에 배치하도록 만드는 것이 Kubelet
생성된 Pod를 배치한 후, Kubelet은 노드 내에 있는 Container Runtime Engine에게 이미지를 Pull 하도록 만들고, 해당 이미지를 이용하여 Pod 내의 Container를 구동하도록 만듦
Kube API Server를 통해서는 Pod의 생성 외에도 다양한 기능을 수행할 수 있는데, 이와 같은 실질적인 노드 내의 모든 활동은 Kubelet을 통해 이뤄짐
즉, Kubelet은 노드가 클러스터의 일부가 되기 위해 마스터 노드 내 Kube Scheduler의 지시에 따라 실질적인 동작을 수행하고, 주기적으로 노드와 노드 내부의 Container 상태를 알림 (실제로 노드 내에 있는 Kubelet은 자신의 노드를 클러스터 노드로 등록하도록 만듦)
Container의 상태는 Kube API Server로 보내게 되고, 이를 통해 Kube Controller Manager가 모니터링 할 수 있게 됨

2) System

Kubelet은 이전에 소개된 쿠버네티스의 구성 요소들과 다르게 kubeadmin으로 클러스터를 배포할 때 자동 배포되지 않음
Kubelet을 이용하기 위해선 서비스 데몬을 워커 노드에 반드시 수동으로 설치해야 함
/etc/systemd/system/kube-controller-manager.service 경로의 서비스 정의 파일을 통해 설정 값을 확인할 수 있음
*혹은 노드 내에서 ps -aux | grep kubelet 를 통해 Kubelet를 구동한 옵션들을 확인할 수 있음