Kubernetes

[Kubernetes] Cluster Architecture

thdwldud 2026. 5. 3. 18:56

해당 내용은 Udemy의 Certified Kubernetes Administrator(CKA) with Practice Tests 강의를 공부한 내용입니다.

 

Certified Kubernetes Administrator (CKA) with Practice Tests

<p><strong>CKA Certification Course – Certified Kubernetes Administrator</strong></p><p>Kubernetes is one of the highest trending technology in Cloud Computing as of today. Kubernetes had the fastest growth in job searches, over 173% from a year before,

www.udemy.com

 

Kubernetes는 자동화를 통해 컨테이너화 된 애플리케이션의 배포, 확장 및 관리를 간소화

  • 워커노드 : 컨테이너를 운반하는 화물선
  • 마스터 노드 : 화물선을 모니터링하고 관리하는 제어선

Kubernetes에서 클러스터는 물리, 가상, 온프레미스, 클라우드 환경 관계없이 컨테이너화 된 애플리케이션을 호스팅하는 노드들로 구성

 

마스터노드 구성 요소

마스터 노드

  • 전체 Kubernetes 클러스터를 관리하는 여러 Control Plane 구성 요소를 포함
  • 모든 노드를 추적하고 애플리케이션이 실행될 위치를 결정하며, 클러스터 모니터링

etcd

  • 쿠버네티스는 etcd라는 고가용성 키-값 저장소에 각 컨테이너와 해당 노드에 대한 상세 정보를 유지
  • etcd : 간단한 키-값 형식과 쿼럼 메커니즘을 사용하여 클러스터 전체에 안정적이고 일관된 데이터 저장을 보장
    * 쿼럼 메커니즘 : 분산 시스템에서 데이터 일관성과 고가용성을 보장하기 위해 전체 노드 중 과반수 이상의 동의를 얻어 의사결정 내리는 방식

컨테이너(화물)가 준비되면 쿠버네티스 스케줄러(항구의 크레인)는 어떤 워커노드(선박)가 해당 컨테이너를 호스팅해야 하는지 결정

스케줄러는 현재 부하, 리소스 요구 사항, taint, toleration, 노드 선호도 규칙과 같은 특정 제약 조건을 고려

주요 구성 요소

  • ETCD 클러스터 : 클러스터 전체의 구성 및 상태 데이터를 저장
  • Kube 스케줄러 : 새로운 컨테이너 배포에 가장 적합한 노드를 결정
  • 컨트롤러 : 노드 수명 주기, 컨테이너 복제 및 시스템 안정성을 관리
  • Kube API 서버 : 클러스터 통신 및 관리를 위한 중앙 허브 역할

 

워커 노드 구성 요소

워커노드

  • 컨테이너화 된 애플리케이션을 실행하는 역할
  • 각 노드는 노드의 "선장" 역할을 하는 Kubelet에 의해 관리
  • Kubelet은 컨테이너가 지시대로 실행되도록 보장

주요 구성 요소

  • Kubelet : 개별 노드에서 컨테이너의 생명주기를 관리. Kube API 서버로부터 컨테이너 생성, 업데이트 또는 삭제에 대한 지침을 받아 노드의 상태를 정기적으로 보고
  • Kube Proxy : 워커 노드에 네트워킹 규칙을 구성하여 노드 간 컨테이너 통신을 원활하게 만듦. ex. 한 노드의 웹서버가 다른 노드의 데이터베이스와 커뮤니케이션

 

쿠버네티스 아키텍처 요약

구성 요소 카테고리 주요 구성 요소 설명
Master Node etcd
kube-scheduler
Controller
kube-apiserver
클러스터 전체에 대한 중앙 집중식 제어 및 관리
Worker Nod Kubelet
Kube-proxy
컨테이너의 생명 주기 관리를 담당하고 서비스 간 네트워크 통신을 보장