본문 바로가기
Kubernetes

[Kubernetes] 쿠버네티스 구성요소: 클러스터, 노드, 파드, 컨테이너

by sum_mit45 2024. 10. 23.
728x90
반응형

구성도

1. 클러스터 (Cluster)

  • 쿠버네티스 내 가장 큰 단위로, 가상 서버들이 속한 클라우드.
  • 여러 대의 노드(Node)로 구성된 집합체.
  • 클러스터는 애플리케이션을 실행하고 관리하는 환경을 제공하고, 클러스터 내에서 모든 리소스가 관리되고 조정된다.

2. 노드 (Node)

  • 클러스터 내의 물리적 또는 가상 머신으로, 쿠버네티스에서 컨테이너를 실행하는 단위입니다. (컴퓨팅 엔진 단위)
  • 각 노드는 쿠버네티스에서 관리되는 런타임 환경을 제공.
  • 노드는 마스터 노드워커 노드로 나눌 수 있으며, 일반적으로 애플리케이션이 실행되는 워커 노드가 많다.
    • 마스터 노드: 전체 쿠버네티스 시스템을 관리/통제하는 쿠버네티스 컨트롤 플레인 관장. 마스터 노드가 죽으면 클러스터를 관리할 노드가 없기에, 일반적으로 3개 정도의 마스터 노드 를 띄워 관리한다고 한다. 
    • 워커 노드: 배포하고자 하는 애플리케이션의 실제 실행을 수행

3. 파드 (Pod)

  • 쿠버네티스에서 가장 작은 배포 단위로, 하나 이상의 컨테이너를 포함한다.
  • 파드는 동일한 네트워크 네임스페이스를 공유하며, 서로 간의 통신이 용이하다.
  • 파드 내의 컨테이너들은 일반적으로 같은 애플리케이션의 구성 요소로 묶여 있어, 함께 배포되고 확장된다.

4. 컨테이너(Container)

  • 애플리케이션과 그 실행 환경을 패키징한 것.
  • 각 컨테이너는 필요한 라이브러리와 의존성을 포함하여, 독립적으로 실행될 수 있다.
  • 쿠버네티스는 Docker와 같은 컨테이너 런타임을 사용하여 이러한 컨테이너를 관리.

(예시) 웹 애플리케이션을 쿠버네티스에서 운영

  • 클러스터: 여러 대의 서버(노드)가 모여 하나의 클러스터 형성 ⇒ 애플리케이션을 배포하고 관리하는 환경
  • 노드: 클러스터 내에 여러 워커 노드. 각 노드는 VM(가상 머신)일 수 있고, 쿠버네티스가 이 노드들을 관리한다.
    • 노드1: 웹 서버 실행 노드
    • 노드2: 데이터베이스 서버 실행 노드
    • 노드3: 캐시 서버 실행 노드
  • 파드: 웹 애플리케이션을 위한 파드 생성.
    • 파드1: 웹 서버와 데이터베이스 관리자를 포함하는 포드. 웹 애플리케이션 요청을 처리하고, 데이터베이스와 상호작용한다.
  • 컨테이너
    • 컨테이너1: Nginx 웹 서버 (웹 서버 역할)
    • 컨테이너2: MySQL 데이터베이스 (데이터 저장 및 관리)
728x90
반응형