쿠버네티스 아키텍처를 이해하는 가장 좋은 방법은 사용자의 요청이 물리적 인프라에서 실제 데이터까지 어떻게 흘러가는지 계층(Layer)별로 뜯어보는 것입니다.

핵심 포인트 요약
- 인그레스 vs 서비스: 인그레스는 “어디로(URL)” 갈지 정하고, 서비스는 “누구에게(Pod)” 보낼지 결정합니다.
- 포트포워딩의 위치: 아키텍처 그림에 나타나지 않는 ‘비밀 통로’입니다. 인그레스나 서비스를 거치지 않고 개발자가 파드에 직접 터널을 뚫어 접속하는 방식입니다.
- KinD와 EKS의 차이: 이 모든 구조는 동일하지만, KinD는 이 모든 것이 내 컴퓨터의 Docker 컨테이너 안에서 일어나고, EKS는 AWS의 실제 장비 위에서 일어난다는 점이 다릅니다.
1. 진입 계층 (External Access Layer)
클러스터 외부의 사용자가 가장 먼저 만나는 지점입니다.
- Ingress: HTTP/HTTPS 요청을 도메인이나 경로에 따라 적절한 서비스로 라우팅하는 ‘스마트한 문지기’입니다.
- Load Balancer: 클라우드(EKS) 환경에서는 실제 AWS ALB/NLB가 생성되어 트래픽을 클러스터 내부로 안전하게 전달합니다.
2. 서비스 계층 (Internal Discovery Layer)
클러스터 내부의 내비게이션 역할을 합니다.
- Service (L4): 파드(Pod)들은 언제든 죽고 새로 뜰 수 있어 IP가 계속 변합니다. 서비스는 이러한 파드들에게 변하지 않는 고정된 이름(DNS)과 IP를 부여하여 안정적인 통신을 보장합니다.
3. 실행 계층 (Workload Layer)
실제 비즈니스 로직이 돌아가는 곳입니다.
- Pod: 쿠버네티스에서 배포할 수 있는 가장 작은 단위입니다. 하나 이상의 컨테이너(App, Redis 등)가 포함되어 실제로 사용자 요청을 처리합니다.
4. 저장 계층 (Persistence Layer)
데이터가 사라지지 않게 보관하는 곳입니다.
- PV / PVC: 파드가 삭제되어도 데이터는 남아야 합니다. 물리적인 디스크(EBS, 로컬 디스크 등)를 추상화하여 파드에 연결해 주는 역할을 합니다.