[TIL] 쿠버네티스 핵심 구성 요소 정리

Wook·6일 전
0

TIL | 취업 후

목록 보기
11/12

쿠버네티스 핵심 구성 요소 🚀

클러스터부터 인그레스까지, 회사 건물 비유로 쉽게 이해하기

쿠버네티스를 처음 접하면 노드, 파드, 컨테이너, 디플로이먼트, 서비스, 인그레스 등 다양한 용어들이 등장합니다. 처음에는 다소 복잡하게 느껴질 수 있지만, 각각의 개념은 명확한 역할을 가지고 있습니다. 이번 포스팅에서는 이 구성 요소들을 회사 건물 비유를 통해 쉽게 설명드리겠습니다.


🧭 전체 구조 비유: "회사 건물, 사무실, 직원, 운영팀, 안내 데스크, 출입문"

구성 요소비유설명
클러스터 (Cluster)회사 단지 전체쿠버네티스가 관리하는 모든 리소스의 집합입니다. 여러 건물(노드)을 포함합니다.
노드 (Node)회사 건물실제 애플리케이션이 실행되는 서버입니다. 여러 파드를 수용합니다.
파드 (Pod)사무실하나 이상의 컨테이너를 담고 있는 최소 실행 단위입니다. 같은 목적을 가진 컨테이너들이 함께 존재합니다.
컨테이너 (Container)사무실 안의 직원실제 애플리케이션이 돌아가는 환경입니다. 독립적으로 작동하며 필요한 코드와 라이브러리를 포함합니다.
디플로이먼트 (Deployment)운영팀어떤 파드를 몇 개 만들고 어떻게 유지할지 결정합니다. 파드의 자동 생성, 복구, 업데이트를 담당합니다.
서비스 (Service)안내 데스크파드들의 위치가 바뀌어도 항상 같은 이름으로 접근할 수 있게 해줍니다. 내부 통신의 안정성을 보장합니다.
인그레스 (Ingress)출입문외부에서 회사 내부로 들어오는 길입니다. 도메인 기반으로 요청을 받아 적절한 서비스로 연결해줍니다.

🔄 실제 흐름 예시: 웹 애플리케이션 배포

  1. 클러스터: AWS에 쿠버네티스 클러스터를 생성합니다.
  2. 노드: EC2 인스턴스 3대를 노드로 구성합니다.
  3. 디플로이먼트: Nginx 웹 서버 파드를 3개 생성하도록 설정합니다.
  4. 파드: 각 노드에 Nginx 파드가 배포됩니다.
  5. 컨테이너: Nginx 컨테이너가 웹 요청을 처리합니다.
  6. 서비스: Nginx 파드들을 묶어 하나의 이름으로 접근할 수 있게 합니다.
  7. 인그레스: www.example.com으로 들어온 요청을 Nginx 서비스로 전달합니다.

📦 일반적인 배치 수량

구성 요소일반적인 수량설명
노드수 개 ~ 수백 개클러스터 규모에 따라 달라집니다.
파드노드당 수십 ~ 수백 개노드의 리소스(CPU, 메모리)에 따라 배치됩니다.
컨테이너파드당 1~2개대부분 단일 컨테이너로 구성되며, sidecar가 포함될 경우 2개 이상이 될 수 있습니다.

🧠 핵심 요약

  • 클러스터 > 노드 > 파드 > 컨테이너 순으로 계층 구조를 가집니다.
  • 디플로이먼트는 파드의 생성, 복구, 업데이트를 자동으로 관리합니다.
  • 서비스는 파드 집합에 안정적으로 접근할 수 있도록 도와줍니다.
  • 인그레스는 외부 요청을 내부 서비스로 연결해주는 출입문 역할을 합니다.

✨ 마무리

쿠버네티스는 처음에는 복잡하게 느껴질 수 있지만, 이렇게 비유를 통해 이해하면 전체 구조가 한눈에 들어옵니다.
다음 포스팅에서는 YAML 설정 예시나 Helm을 활용한 배포 자동화에 대해 다뤄보겠습니다.

도움이 되셨다면 좋아요와 댓글 부탁드립니다 🙌
궁금한 점이 있다면 언제든지 댓글로 남겨주세요!

profile
지속적으로 성장하고 발전하는 진취적인 태도를 가진 개발자의 삶을 추구합니다.

0개의 댓글