k8s & Docker

Worker Node & PoD생성 과정

stophyeon 2024. 1. 17. 18:14
728x90

Worker Node란

Master Node가 Worker Node를 제어하는 역할을 합니다.
즉, Worker Node는 Application이 실행되고 있는 공간입니다.
대소 관계를 보자면 개발한 Application의 서비스들을 작은 단위의 컨테이너에 넣고, 그 컨테이너를 PoD에 넣은뒤에 WorkerNode에 넣는 식입니다.
Worker Node는 PoD,kubelet,컨테이너 런타임으로 구성되어 있습니다. 

 

PoD 

PoD는 1개이상의 컨테이너를 가지고 있습니다.
여러개의 같은 목적의 서비스가 모여있는 단위입니다.
쿠버네티스의 대부분의 작업은 PoD를 생성하고, 업데이트하고, 삭제하는 것입니다.
실제 어플리케이션이 실행되는 곳이기 때문입니다.

 

Kubelet

kubelet이란 PoD의 생성,상태관리,복구를 담당하는 역할을 합니다.
만약 kubelet이 동작하지 않으면 PoD에는 아무런 변화도 일어나지 않습니다.
또한, PoD안의 컨테이너들이 정상적으로 동작하는지 감시하는 기능도 합니다

 

 

PoD 생성 과정

앞에서 말했듯이 PoD의 생성과 삭제, 업데이트가 쿠버네티스의 주된 작업입니다.
그렇다면 PoD의 생성 과정을 알아보겠습니다.
물론 명령어1줄을 통해 생성할 수 있지만 동작과정을 아는 것이 중요하다고 생각합니다. 

 

1. kubectl로 API서버에 PoD생성을 요청
2. API서버에서 생성을 요청한 PoD의 정보를 etcd로 전달해서 저장
3. controller Manager가 API서버에 PoD생성 요청이 들어온 것을 인지해 PoD를 생성하고 API서버에게 상태를 요청한 뒤 비교
4. scheduler도 PoD생성 요청을 인재해 적합한 Worker Node에 PoD를 띄우도록 요청
5. kubelet을 통해 PoD가 해당 Worker Node에 속해있는지 Schelduler가 감시
6. kubelet에서 컨테이너 런타임으로 PoD생성을 요청

 

'k8s & Docker' 카테고리의 다른 글

k8s에서 Object  (0) 2024.01.19
Docker - Container생성  (1) 2024.01.18
Kubernetes Cluster 구성 요소 - Master Node  (0) 2024.01.14
컨테이너 인프라 환경의 구성 요소  (0) 2024.01.11
Kubernetes를 배우는 목적  (0) 2024.01.11