클러스터부터 인그레스까지, 회사 건물 비유로 쉽게 이해하기
쿠버네티스를 처음 접하면 노드, 파드, 컨테이너, 디플로이먼트, 서비스, 인그레스 등 다양한 용어들이 등장합니다. 처음에는 다소 복잡하게 느껴질 수 있지만, 각각의 개념은 명확한 역할을 가지고 있습니다. 이번 포스팅에서는 이 구성 요소들을 회사 건물 비유를 통해 쉽게 설명드리겠습니다.
| 구성 요소 | 비유 | 설명 |
|---|---|---|
| 클러스터 (Cluster) | 회사 단지 전체 | 쿠버네티스가 관리하는 모든 리소스의 집합입니다. 여러 건물(노드)을 포함합니다. |
| 노드 (Node) | 회사 건물 | 실제 애플리케이션이 실행되는 서버입니다. 여러 파드를 수용합니다. |
| 파드 (Pod) | 사무실 | 하나 이상의 컨테이너를 담고 있는 최소 실행 단위입니다. 같은 목적을 가진 컨테이너들이 함께 존재합니다. |
| 컨테이너 (Container) | 사무실 안의 직원 | 실제 애플리케이션이 돌아가는 환경입니다. 독립적으로 작동하며 필요한 코드와 라이브러리를 포함합니다. |
| 디플로이먼트 (Deployment) | 운영팀 | 어떤 파드를 몇 개 만들고 어떻게 유지할지 결정합니다. 파드의 자동 생성, 복구, 업데이트를 담당합니다. |
| 서비스 (Service) | 안내 데스크 | 파드들의 위치가 바뀌어도 항상 같은 이름으로 접근할 수 있게 해줍니다. 내부 통신의 안정성을 보장합니다. |
| 인그레스 (Ingress) | 출입문 | 외부에서 회사 내부로 들어오는 길입니다. 도메인 기반으로 요청을 받아 적절한 서비스로 연결해줍니다. |
www.example.com으로 들어온 요청을 Nginx 서비스로 전달합니다.| 구성 요소 | 일반적인 수량 | 설명 |
|---|---|---|
| 노드 | 수 개 ~ 수백 개 | 클러스터 규모에 따라 달라집니다. |
| 파드 | 노드당 수십 ~ 수백 개 | 노드의 리소스(CPU, 메모리)에 따라 배치됩니다. |
| 컨테이너 | 파드당 1~2개 | 대부분 단일 컨테이너로 구성되며, sidecar가 포함될 경우 2개 이상이 될 수 있습니다. |
쿠버네티스는 처음에는 복잡하게 느껴질 수 있지만, 이렇게 비유를 통해 이해하면 전체 구조가 한눈에 들어옵니다.
다음 포스팅에서는 YAML 설정 예시나 Helm을 활용한 배포 자동화에 대해 다뤄보겠습니다.
도움이 되셨다면 좋아요와 댓글 부탁드립니다 🙌
궁금한 점이 있다면 언제든지 댓글로 남겨주세요!