공부

[Kubernetes] 쿠버네티스의 기본 구성 요소, 아주 얇게 훑어보기

호키포키장 2025. 2. 1. 18:36

 

쿠버네티스 위에서 서비스를 띄우고 있음에도 쿠버네티스에 대한걸 잘 모르기에 아주 기본 개념만 간단히 정리하기로했다.
입에 익은 단어도 있고, 새롭게 알게된 개념도 있고,, 갈길이 아주 멀지만 파이팅!

 

 

쿠버네티스 클러스터

  • 컨테이너화된 애플리케이션을 실행하는 노드의 집합
    • 노드는 Master Node / Worker Node 로 나뉜다.
  • 쿠버네티스를 배포 및 실행하면 클러스터를 실행한다는 의미이다.

Control Plane (Master Node)

전체적인 클러스터 상태를 관리

  • etcd, kube-api-server, scheduler, controller manager 로 구성된다.

Node (Worker Node)

쿠버네티스 런타임 환경을 제공하고, 팟(Pod, 어플리케이션)을 구동시키는 단위

  • kublet, kube-proxy, pod & container 로 구성된다.

 

Control Plane 구성요소 살펴보기

 

 kube-api-server 

  • 쿠버네티스 http api를 노출한다.
  • 해당 서버는 쿠버네티스 리소스, 클러스터의 상태 관리 및 동기화 작업에 사용된다.
  • etcd를 데이터 저장소로서 사용한다.

 etcd 

  • API 서버 데이터의 key-value store 이다. (모든 클러스터 관련 데이터가 저장된다.)

 scheduler 

  • 노드가 할당되지 않은 파드를 감지하고, 팟을 노드에 배정해주는 역할을 한다.

controller manager

  • 클러스터의 전반적인 상태를 모니터링한다.
  • 말그대로 “컨트롤” (조절)하는 영역의 컴포넌트

Node (worker node) 구성요소 살펴보기

kublet

  • 컨테이너들로 구성된 팟들이 스펙에 맞춰 잘 동작하게끔하는 에이전트

kube-proxy

  • “Service”를 구현
  • 클러스터 노드에서 실행되는 네트워크 통신 관리 프록시
  • 각 pod들의 endpoint는 하나의 서비스 endpoint로 묶일 수 있다.
  • 일종의 로드밸런서의 역할로서 활용한다.

pod

  • 쿠버네티스의 가장 작은 배포단위
  • 여러개의 컨테이너로 구성될 수 있다.
  • 컨테이너는 저장소/네트워크 리소스를 공유한다.