Kubernetes 기본 개념: 클러스터, 노드, 파드

아로롱·2025년 1월 25일

AWS

목록 보기
4/4

📍 Kubernetes(K8S)

  • 컨테이너화된 애플리케이션을 배포, 관리, 확장하는 데 사용되는 오픈 소스 플랫폼.
  • 컨테이너 오케스트레이션 = 컨테이너를 관리하는 도구

🚩 클러스터 → 노드 → 파드 흐름

요청이 처리되는 흐름을 단계적으로 살펴보면 다음과 같다.

1️⃣ 사용자의 요청

  • 사용자가 웹 브라우저에서 웹 사이트를 방문한다고 가정
  • 방문 요청을 보내고, 해당 요청은 클러스터로 전달된다.

2️⃣ 클러스터가 요청을 관리

  • 마스터 노드가 요청을 받고, 해당 요청을 처리할 워커 노드에 명령을 내린다.

3️⃣ 워커 노드에서 파드 실행

  • 워커 노드는 클러스터의 일부로, 요청을 처리할 수 있는 파드를 찾는다.
  • 파드는 컨테이너를 통해 요청을 처리하고 사용자에게 응답한다.
[클러스터]
 ├─ [노드1]
 │   ├─ [파드1]
 │   ├─ [파드2]
 │
 ├─ [노드2]
 │   ├─ [파드3]
 │   ├─ [파드4]
 │
 ├─ [노드3]
 │   ├─ [파드5]
 │   ├─ [파드6]

클러스터(Cluster)

  • 클러스터는 쿠버네티스의 기본 단위로, 여러 대의 컴퓨터(서버)를 묶어 하나의 시스템처럼 동작하도록 만든 환경이다.
  • 애플리케이션 실행에 필요한 모든 컴퓨팅 자원(CPU, 메모리, 저장소)을 제공한다.

구성 요소

  • 클러스터는 크게 마스터 노드와 워커 노드, 이렇게 두 개의 노드로 구분된다.

💡 클러스터회사, 마스터 노드경영진, 일을 실제로 수행하는 워커 노드직원들


노드(Node)

  • 노드는 클러스터를 구성하는 각각의 컴퓨터(서버)이다.
  • 클러스터는 노드를 통해 애플리케이션을 실행할 수 있는 자원을 제공한다.
  1. 마스터 노드(Control Plane): 클러스터의 두뇌 역할을 한다.
    • 클러스터 내부의 상태를 관리하고, 애플리케이션 배포, 스케일링, 장애 복구 등의 작업을 지휘
    • k8s 의 주요 컴포넌트(스케줄러, 컨트롤러 매니저, API 서버 등)가 실행됨.
    • 애플리케이션이 실행되는 곳은 아니며, 클러스터를 감독하고 명령을 내리는 관리자 역할.

  1. 워커 노드(Worker Nodes): 애플리케이션을 실제로 실행하는 역할.
    • 각 워커 노드는 실제로 파드(Pod)가 배치되고 실행되는 장소이다.
    • 워커 노드는 클러스터에 연결된 모든 컴퓨팅 자원(CPU, 메모리 등)을 k8s 에 제공.

파드(Pod)

  • 파드는 쿠버네티스에서 애플리케이션을 실행하는 가장 작은 단위이다.
  • 컨테이너(서비스)가 들어있는 일종의 상자로, k8s 는 파드를 통해 컨테이너를 관리한다.

컨테이너 그룹

  • 파드는 보통 하나의 컨테이너를 실행하지만, 필요에 따라 여러 컨테이너를 포함하기도 한다.
  • 같은 파드에 속한 컨테이너들은 하나의 IP 주소와 저장소(볼륨)를 공유한다.

일시적 존재

  • 파드는 언제든 종료되거나 새로 생성될 수 있다.
  • 쿠버네티스가 상태를 지속적으로 모니터링하며 파드를 복구하거나 교체한다.

💡 파드팀프로젝트라고 할 수 있다.
팀 내부에서는 같은 자원(IP 주소와 볼륨)을 공유하고, 팀원(컨테이너)끼리 협력하며 일을 진행한다.

profile
Dilige, et fac quod vis

0개의 댓글