본문 바로가기

k8s

[k8s] 쿠버네티스 주요 컴포넌트 정리

Control Plane Components

클러스터 전반적인 관리, 제어를 담당하는 핵심 요소

kube-apiserver 쿠버네티스 API를 노출하는 중앙 관리 엔드포인트
모든 인증 및 유효성 검사를 수행
수평 확장이 가능해 높은 가용성 제공
etcd 분산형 키-값 저장소
모든 클러스터 데이터를 영구 저장
구성 상태와 메타데이터 저장
*데이터 손실 방지를 위해 정기 백업 필요
kube-scheduler 새로 생성된 파드 감지, 파드를 실행할 최적의 노드 선택
리소스 요구사항, 하드웨어/소프트웨어 정책, 사용자 정의 제약 조건 등을 고려해서 스케줄링 결정
kube-controller-manager 여러 컨트롤러를 단일 프로세스로 통합하여 실행
각 컨트롤러는 클러스터의 상태를 원하는 상태로 유지하기 위해 지속적으로 작업 수행
cloud-controller-manager CSP와 상호작용을 관리하는 컴포넌트
클라우드 환경에 특화된 로직 포함
클라우드 서비스와 통합을 통해 노드 관리, 라우팅, 로드 밸런싱 등을 수행

 

Node Components

쿠버네티스에서 워커 머신으로 작동

kubelet 각 노드에서 실행, API 서버와 통신하여 파드 내 컨테이너가 정상적으로 동작하도록 보장
지정된 컨테이너 사양에 따라 컨테이너를 시작하고 중지하는 역할
kube-proxy 네트워크 프록시 및 로드밸런서 역할, 네트워크 규칙을 유지해 파드 간 통신을 지원
네트워크 트래픽을 적절한 파드로 라우팅해 서비스 간 통신 보장
Container runtime 컨테이너 실행 환경 제공(Docker, containerd, CRI-O 등 런타임 지원)
실제 컨테이너를 생성하고 관리하는 역할

 

 

애드온

DNS 클러스터 내에서 DNS 서비스를 제공, 서비스 검색과 도메인 이름 해석 지원
모든 쿠버네티스 서비스는 DNS 이름으로 접근 가능
Web UI 클러스터, 어플리케이션 관리를 위한 웹 기반 인터페이스 제공
Container Resource Monitoring 중앙 데이터베이스에 시계열 매트릭스를 기록하고 UI를 통해 리소스 사용량 및 성능 데이터 확인 가능
Cluster-level Logging 중앙 로그 저장소에 로그를 저장하고 검색 인터페이스를 제공하여 시스템 및 애플리케이션 로그를 중앙에서 관리할 수 있도록 지원