IT용어위키


쿠버네티스 노드

쿠버네티스 노드(Kubernetes Node)은 Kubernetes 클러스터에서 실제 워크로드(예: 컨테이너화된 애플리케이션)를 실행하는 물리 서버 또는 가상 머신을 의미한다.

개요

노드는 컨테이너를 담고 있는 파드(Pod)를 실행하는 머신이며, 이 머신은 물리 서버일 수도 있고 가상 머신(VM)일 수도 있다. 클러스터는 하나 이상의 노드를 포함하며, 리소스가 제한된 개발/실습 환경에서는 노드가 하나인 경우도 있다. 노드는 클러스터의 제어 영역(Control Plane)에 의해 관리되며, 컨테이너 실행에 필요한 여러 구성 요소를 포함한다.

노드의 구성 요소

노드 안에는 다음과 같은 핵심 컴포넌트들이 존재한다:

  • kubelet — 노드 에이전트(agent). Control Plane으로부터 지시받은 대로 파드를 생성/삭제하고, 파드와 컨테이너의 상태를 지속적으로 감시한다.
  • 컨테이너 런타임(Container Runtime) — 실제 컨테이너를 동작시키는 엔진으로, 컨테이너 이미지 다운로드, 컨테이너 생성/실행/종료 등을 담당한다. containerd, CRI-O 등이 주로 사용된다.
  • kube-proxy — 네트워크 프록시 및 로드밸런서 역할을 수행하며, 서비스(Service) 추상화 하에서 Pod들 간 또는 외부와의 트래픽을 라우팅/포워딩한다.

이들 컴포넌트 덕분에 노드는 클러스터의 워크로드를 안정적으로 실행하고, 네트워크 및 리소스 관리를 수행할 수 있다.

노드의 역할 및 기능

  • 노드는 파드(Pod)를 실행하고 관리 — 클러스터에 정의된 워크로드를 실제로 구동
  • 여러 노드를 두면 워크로드 분산, 고가용성, 확장성 확보 가능
  • 리소스(메모리, CPU, 디스크, 네트워크) 기반으로 스케줄링 및 배치 — 어떤 노드에 어떤 워크로드를 띄울지 Control Plane이 결정

노드 유형: 워커 노드 vs 컨트롤 플레인 노드

클러스터 내 노드는 크게 다음 두 역할로 구분될 수 있다:

  • 워커 노드(Worker Node) — 실제 애플리케이션이 실행되는 노드, 위에서 언급한 kubelet‧컨테이너 런타임‧kube-proxy가 동작
  • 컨트롤 플레인 노드(Control Plane Node, 또는 마스터 노드) — 클러스터 전체를 제어하는 컴포넌트들(API 서버, 스케줄러, 컨트롤러 매니저, etcd 등)이 실행되며, 워크로드 파드가 반드시 실행되지는 않아도 됨. 환경에 따라 컨트롤 플레인을 별도로 분리해 고가용성(HA)을 구성하기도 한다.

노드의 중요성

  • 노드는 컨테이너를 실행하는 가장 근본적인 실행 단위이므로, 노드의 리소스(메모리, CPU, 디스크 등)가 클러스터의 전체 성능과 안정성에 직접 영향
  • 노드 수와 사양을 필요에 따라 조절함으로써, 확장성(scaling) 및 고가용성(availability)을 확보할 수 있다
  • 워커 노드에 장애가 발생하면, Control Plane이 자동으로 다른 노드에 워크로드를 재배치하는 등의 복구를 수행할 수 있음

같이 보기

각주


  출처: IT위키 (IT위키에서 최신 문서 보기)

  * 본 페이지는 IT Wiki에서 미러링된 페이지입니다. 일부 오류나 표현의 누락이 있을 수 있습니다. 원본 문서는 IT Wiki에서 확인하세요!