Cloud발행일 2026. 1. 6.원본 https://blog.naver.com/jword_/224135518999 ↗

[CKA] 1.5 kubelet

[CKA] 1.5 kubelet — #개발자의도구들 #kubelet #cka #쿠버네티스 Kublet 지금까지 항구 비유에서 마스터 노드의 컴포넌트를 살...

#Cloud#Naver Blog

#개발자의도구들 #kubelet #cka #쿠버네티스

​

Kublet

지금까지 항구 비유에서 마스터 노드의 컴포넌트를 살펴봤었습니다.

  • kube-apiserver: 중앙 관제탑
  • kube-controller-manager: 각종 관리자들이 모인 관리 사무실
  • kube-scheduler: 화물 배정담당자

​

이제 실제로 컨테이너를 싣고 바다를 향해하는 배로 가봅시다.

​

kubelet은 각 배의 선장입니다. 선장은 배에서 일어나는 모든 활동들에 대한 책임이 있습니다.

​

What to do?

kubelet은 다음 일을 수행합니다.

이미지

  1. 클러스터에 노드 등록

kubelet은 워커 노드가 시작될 때 kube-apiserver에게 자기 자신을 등록합니다. kube-apiserver는 비로소 해당 노드를 인식하여 업무를 분배합니다.

​

2. 컨테이너 실행

스케줄러로 부터 특정 pod를 실행하라는 명령이 떨어집니다. 이 명령은 kube-apiserver를 통해 해당 노드의 kubelet에게 전달됩니다.

​

kubelet은 이 지시를 받으면 컨테이너 런타임에게 요청하여 다음을 수행합니다.

  1. 필요한 이미지를 다운
  2. 컨테이너 실행

​

이 시점에서 드디어 실제로 컨테이너가 돌아갑니다.

​

3.상태 모니터링 및 보고

선장이 매일 배와 화물 상태를 상부에 보고 하듯이 kubelet도 마찬가지로 pod와 컨테이너 상태를 지속적으로 감시하고, 이 정보를 kube-apiserver에게 보고합니다.

​

마스터 노드와의 유일한 연결고리

kubelet은 워커노드가 마스터 노드와 연결되는 유일한 창구로 작동합니다.

​

설치방법 (중요)

다른 컴포넌트와 달리 kubelet은 kubeadm으로 자동으로 Pod 배포가 되지 않습니다. 그렇기에 항상 워커노드에 직접 접속하여 수동으로 설치해야합니다.

​

설치 및 확인 명령어

javascript 코드 예제
                                    # kubelet 바이너리 다운로드 및 설치
wget https://storage.googleapis.com/kubernetes-release/release/v1.xx.x/bin/linux/amd64/kubelet

# 실행 권한 부여
chmod +x kubelet

# 서비스로 등록 및 실행
sudo mv kubelet /usr/local/bin/
sudo systemctl enable kubelet
sudo systemctl start kubelet

# 확인
ps aux | grep kubelet

정리

kubelet은 각 워커 노드에서 실행되는 에이전트로, 배의 선장 역할을 수행합니다.

​

주요 역할은 아래와 같습니다.

  • 노드를 클러스터에 등록
  • kube-apiserver의 지시를 받아 컨테이너 런타임에서 파드 실행을 요청
  • 파드와 컨테이너 상태를 모니터링 하고 보고

​

\\중요\\

kubeadm으로 자동 배포되지 않으므로 수동 설치가 반드시 필요하다.