Kubelet
December 4, 2025
개요
kubelet은 각 노드에서 실행되는 에이전트로, 노드와 쿠버네티스 클러스터 간의 단일 접점 역할을 한다.- 스케줄러가 어떤 노드에
Pod를 배치할지 결정하면, 실제로Pod를 생성하고 실행하는 것은kubelet의 역할이다.- 조금 더 정확하게 말하면
kubelet은 container runtime(containerd,CRI-O등)과 연동해 컨테이너를 생성하고 관리한다.
- 조금 더 정확하게 말하면
주요 역할
kube-apiserver를 통해 전달받은Pod객체(데이터)를 기반으로Pod를 생성한다.- 컨테이너 런타임에 애플리케이션 컨테이너 실행을 요청한다.
- 실행 중인
Pod와 컨테이너의 상태를 지속적으로 모니터링한다. - 상태 정보를 주기적으로
kube-apiserver에 보고한다. Pod가 종료되거나 재시작이 필요한 경우 해당 작업을 수행한다.
설치
Package Manager Setup
설치
sudo apt-get install -y kubelet=<version> kubeadm=<version> kubectl=<version>
- https://kubernetes.io/ko/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#kubeadm-kubelet-%eb%b0%8f-kubectl-%ec%84%a4%ec%b9%98
- 위의 kubeadm 으로 클러스터를 구축하는 공식문서를 보면,
kubeadm설치할 때,kubelet도 함께 패키지 매니저로 설치한다. (위는 데비안 계열 기준) - kubelet은 모든 노드에 존재해야한다. 따라서 각 노드에 직접 설치해야 한다.
설정 조회
sudo vi /var/lib/kubelet/config.yaml
- 위 경로에 yaml 형태로 설정이 저장되어있다.
- 이때까지 다뤘던 컴포넌트와 다르게
Pod형태가 아니라systemd에서 실행되므로 위 설정을 바꾼 뒤 적용하려면 아래 명령어를 입력해야한다.sudo systemctl daemon-reloadsudo systemctl restart kubelet
Manual Setup (Kubernetes The Hard Way)
설치
kubelet를 바이너리로 직접 설치/usr/local/bin/으로 이동시켜 PATH에 등록한다. (systemd 등록, pod 형태 아님)- 이에 시스템 전역 실행 파일로 사용가능한 것이다.
wget https://dl.k8s.io/v1.31.14/bin/linux/amd64/kubelet
sudo mv kubelet /usr/local/bin/
sudo chmod +x /usr/local/bin/kubelet
sudo vi /etc/systemd/system/kubelet.service
[Unit]
Description=Kubernetes Kubelet
Documentation=https://kubernetes.io/docs/
After=containerd.service
Requires=containerd.service
[Service]
ExecStart=/usr/local/bin/kubelet \
--config=/var/lib/kubelet/kubelet-config.yaml \
--kubeconfig=/etc/kubernetes/kubelet.kubeconfig \
--container-runtime-endpoint=unix:///run/containerd/containerd.sock \
--image-pull-progress-deadline=2m \
--node-ip=<NODE_IP> \
--register-node=true \
--v=2
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start kubelet
sudo systemctl enable kubelet
레퍼런스
- https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/
- https://kubernetes.io/docs/concepts/overview/components/
- https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/kubelet-integration/
- Udemy - Certified Kubernetes Administrator (CKA) with Practice Tests (Mumshad)