k8s & Docker

Kubernetes Cluster 구성 요소 - Master Node

stophyeon 2024. 1. 14. 20:00
728x90

Kubernetes Cluster란

Cluster란 컨테이너 형태의 애플리케이션을 호스팅하는 물리/가상 환경의 노드들로 이루어진 집합입니다.
k8s를 실행 중이라면 Cluster를 실행중인 것입니다. 
cluster에는 Master Node와 Worker Node가 1개 이상씩 존재합니다. 
 마스터 노드는 cluster에서 워커 노드를 제어하는 역할을 하고, 워커 노드는 컨테이너의 어플리케이션을 실제로 실행하는 노드입니다. 아래 그림이 Cluster의 구성요소들을 나타낸 것입니다.

 

Master Node

마스터 노드는 cluster의 상태를 관리하고 명령어를 처리하는 역할을 합니다.
이제 마스터 노드에 있는 구성 요소들의 역할을 알아보겠습니다.

API 서버

API서버는 Cluster의 중심 통로역할을 합니다. kubectl을 통해 명령을 내리면 명령은 API서버에 전달되고,
요청한 명령의 상태를 모든 요소들이 API서버를 통해 상태를 비교합니다.

etcd

etcd란 상태 값을 저장하는 역할을 합니다.
현재 요소들의 최신 상태를 저장하고 명령을 통해 요청한 상태를 저장합니다.
다른 요소들이 API 서버에게 상태를 확인하는 것은 API서버에서 etcd의 상태정보를 받는 것입니다.
API서버와 etcd는 1개인 것처럼 동작합니다.
API서버가 현재 요소들의 상태,명령으로 요청된 상태를 받으면 etcd에게 전달해서 저장하는 식입니다.

스케줄러

PoD생성시에 각 워커 노드의 상태를 고려해 어떤 워커노드에 PoD를 생성할 것인지를 결정한 후에 할당합니다.

컨트롤러 매니저

컨트롤러 매니저란 Cluster의 Object상태를 관리하는 역할을 합니다.
예를 들어 워커 노드에서 통신이 되지 않으면 컨트롤러 매니저에 있는 노드 컨트롤러가 상태 체크와 복구를 수행하고
레플리카셋에 요청받은 PoD 개수대로 PoD를 생성할 때는 레플리카셋 컨트롤러 동작하는 식입니다.
이 처럼 Object의 상태는 각 요소들의 상태를 말하는 것입니다.

 

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

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