IT/Cloud

[K8S] 클러스터 구성 개요

김 정 환 2023. 7. 30. 16:12
반응형
반응형

 

 

k8s 클러스터는 노드 집합으로 구성되어 있습니다.

워커 노드는 애플리케이션을 컨테이너 형태로 담습니다. 마스터 노드는 k8s를 관리하는 역할을 합니다. 그 역할에는 노드들에 데이터를 저장하고, 하나의 컨테이너가 어느 노드에 생성되어야 하는지에 대한 계획을 하고, 노드와 컨테이너를 모니터링 합니다.

 

 

마스터 노드 구성

 

ETCD

- 데이터를 key-value 형태로 저장하는 데이터베이스

 

Kube Scheduler

- 새로 생성되는 컨테이너와 여러 상황을 고려하여 어느 노드에 새로운 컨테이너를 생성할지 계획

- 고려되는 상황 : 새로 생성될 컨테이너의 요구 자원량, 워커 노드의 자원 상황, 정책 및 제한 등 (taint, toleration)

 

Kube API Server

- k8s에서 일어나는 모든 수행 동작을 오케스트레이션(관여, 조율, 관리)

- k8s의 모든 요소들이 통신할 수 있게 보장

 

Kube Controller Manager

- node controller : 클러스터에 있는 노드의 상태를 모니터링하고 상태에 따라 생성 및 제거

- Replication Controller : 설정한 개수의 컨테이너가 항상 유지되도록 보장

 

 

워커 노드 구성

 

Controller Runtime Engine

- 컨테이너 엔진으로 도커가 대표적인 상품

- 다른 제품도 설치 가능 (ex. container D)

 

Kubelet

- 각 노드에 있는 agent

- Kube API Server로부터 오는 지시를 리스닝하고 있고, 지시에 따라 노드에 컨테이너를 생성하고 제거

- 주기적으로 노드와 컨테이너의 상태를 Kube API Server로 보내어 모니터링

 

Kube Proxy

- 내부 룰(ip tables)를 통해 컨테이너들이 서로 연결될 수 있도록 보장

 

반응형

'IT > Cloud' 카테고리의 다른 글

[k8s] ReplicaSet  (0) 2023.07.30
[k8s] 파드(pod)  (0) 2023.07.30
[K8S] 워커 노드 구성  (0) 2023.07.30
[K8S] 마스터 노드 구성  (0) 2023.07.30