본문 바로가기
12. 쿠버네티스란

쿠버네티스 클러스터 아키텍처

by 김덕환 2020. 5. 1.
반응형

쿠버네티스 클러스터는 하드웨어 수준에서 많은 노드로 구성되며 두 가지 유형으로 나눌 수 있다. 

 

(1) 마스터 노드는 전체 쿠버네티스 시스템을 관리하고 통제하는 쿠버네티스 컨트롤 플레인을 관장한다. 

 

(2) 워커 노드는 실제 배포하고자 하는 어플리케이션의 실행을 담당한다. 

 

 

 

컨트롤 플레인

 

컨트롤 플레인에서는 클러스터를 관리하고 클러스터의 기능을 실행한다. 단일 마스터 노드에서 실행하거나 여러 노드로 분할되고 복재돼 고가용성을 보장할 수 있는 여러 요소로 구성된다. 구성 요소는 다음과 같다. 

 

(1) 사용자, 컨트롤 플레인과 통신하는 쿠버네티스 API 서버

 

(2) 어플리케이션을 예약하는 스케줄러(어플리케이션의 배포 가능한 각 구성 요소에 워커 노드를 할당)

 

(3) 구성 요소 복제, 워커 노드 추적, 노드 장애 처리 등 클러스터 수준 기능을 실행하는 컨트롤러 매니저

 

(4) etcd는 클러스터 구성을 지속적으로 저장하는 안정적인 분산 데이터 스토리지다. 

 

컨트롤 플레인의 구성 요소는 클러스터의 상태를 유지하고 제어하지만 어플리케이션을 실행하지는 않는다. 어플리케이션은 워커 노드에서 실행된다. 

 

 

노드

 

워커 노드는 컨테이너화된 어플리케이션을 실행하는 시스템이다. 어플리케이션에 서비스를 실행, 모니터링, 제공하는 작업은 다음과 같은 구성 요소로 수행된다. 

 

(1) 컨테이너를 실행하는 도커, rkt 또는 컨테이너 런타임

 

(2) API 서버와 통신하고 노드에서 컨테이너를 관리하는 Kubelet

 

(3) 어플리케이션 구성 요소 간에 네트워크 트래픽을 분산하는 쿠버네티스 서비스 프록시 (kube-proxy)

반응형