쿠버네티스 네트워킹의 핵심, Service와 Ingress 이해하기
Deployment, StatefulSet 같은 워크로드를 이해했다면
다음으로 막히는 지점은 거의 항상 네트워킹이다.
- Pod IP는 왜 계속 바뀌는지
- 외부 요청은 어떻게 Pod까지 들어오는지
- Service랑 Ingress는 정확히 뭐가 다른지
이 글에서는 쿠버네티스 네트워킹의 중심이 되는 Service와 Ingress를
“요청이 들어와서 Pod에 도달하는 흐름” 기준으로 정리한다.
Pod IP를 직접 쓰지 않는 이유
쿠버네티스에서 Pod는 일시적인 존재다.
- 재배포 시 삭제되고 새로 생성된다
- 장애가 나면 다른 Node에서 다시 뜬다
- 그때마다 IP가 바뀐다
즉, Pod IP는 신뢰할 수 있는 접근 수단이 아니다.
그래서 쿠버네티스는
Pod 앞에 항상 고정된 접근 지점을 하나 둔다.
이 역할을 하는 것이 Service다.
Service란 무엇인가
Service는 한 문장으로 이렇게 정리할 수 있다.
Service는 “Pod 집합에 대한 고정된 접근 창구”다.
Service는 다음 역할을 한다.
- Pod IP가 바뀌어도 접근 방식은 유지
- 여러 Pod로 트래픽 분산
- 내부 통신의 기준점 제공
실제로 써보면
“Pod는 바뀌어도 Service는 그대로 있다”는 개념이 매우 중요해진다.
Service의 주요 타입 정리
Service에는 여러 타입이 있지만,
실무에서 핵심은 다음 세 가지다.
ClusterIP (기본값)
- 클러스터 내부 전용
- 외부에서는 접근 불가
- 내부 서비스 간 통신에 사용
가장 많이 쓰이는 형태다.
보통 API 서버, 내부 백엔드 서비스는 이 타입으로 충분하다.
NodePort
- 각 Node의 특정 포트를 열어 외부 접근 허용
- NodeIP:Port 형태로 접근
개념 이해용으로는 좋지만,
실무에서는 직접 쓰는 경우가 많지 않다.
⚠️ 포트 관리, 보안 측면에서 한계가 있다.
LoadBalancer
- 클라우드 환경에서 사용
- 외부 로드밸런서를 자동 생성
- 외부 IP를 통해 접근 가능
AWS, GCP 같은 환경에서는
외부 노출이 필요한 서비스에 자주 사용된다.
Service의 한계
Service만으로도 외부 노출은 가능하다.
하지만 다음과 같은 요구가 생기면 불편해진다.
- 도메인 기반 라우팅
- URL 경로(/api, /admin) 분기
- HTTPS 처리
이 문제를 해결하기 위해 등장한 것이 Ingress다.
Ingress란 무엇인가
Ingress는 Service 앞단에서 동작하는 트래픽 라우팅 규칙 모음이다.
Ingress는 “외부 요청을 어떤 Service로 보낼지 정의하는 규칙”이다.
Ingress 자체는 기능을 수행하지 않는다.
실제로 동작하는 것은 Ingress Controller다.

이 구조를 이해하지 못하면
Ingress가 동작하지 않는 이유를 찾기 매우 힘들어진다.
Ingress를 사용하면 가능한 것들
Ingress를 사용하면 다음이 가능해진다.
- 하나의 진입점으로 여러 서비스 운영
- 도메인 기반 라우팅
- 경로 기반 라우팅
- TLS(HTTPS) 처리
실제로 운영해보면
외부 트래픽 관리는 거의 Ingress를 중심으로 이루어진다.
Service와 Ingress의 관계 정리
헷갈리는 부분을 간단히 정리하면 이렇다.
- Service
- Pod에 대한 접근 방식 정의
- 로드밸런싱 담당
- Ingress
- 외부 요청 라우팅 규칙
- Service 앞단에서 동작
Ingress는 Service를 대체하지 않는다.
항상 Service 위에서 동작한다.
실제로 써보면 겪는 포인트들
실무에서 자주 겪는 상황은 다음과 같다.
- Ingress를 만들었는데 접속이 안 된다
→ Ingress Controller 미설치 - Service는 살아 있는데 외부 접근 불가
→ 타입 설정 문제 - 내부 통신은 되는데 외부만 안 된다
→ 네트워크 흐름 이해 부족
이런 문제들은
요청 흐름을 머릿속에 그릴 수 있느냐에 따라 해결 속도가 크게 달라진다.
정리하며
이번 글에서는 쿠버네티스 네트워킹의 핵심인
Service와 Ingress를 흐름 중심으로 정리했다.
- Pod는 직접 노출하지 않는다
- Service는 Pod의 고정된 접근 지점이다
- Ingress는 외부 트래픽 라우팅 규칙이다
다음 글에서는
Pod가 사용하는 ConfigMap과 Secret,
즉 쿠버네티스에서 설정과 민감 정보를 어떻게 관리하는지를
실무 관점에서 정리해볼 예정이다.
'infra' 카테고리의 다른 글
| 쿠버네티스 HPA 동작 원리 정리: 자동 확장은 어떻게 결정될까 (0) | 2026.02.07 |
|---|---|
| 쿠버네티스 requests와 limits 개념 정리: 리소스 관리와 OOM 방지 (0) | 2026.02.06 |
| 쿠버네티스 StatefulSet과 DaemonSet 차이점 정리: 언제 써야 할까 (0) | 2026.02.04 |
| 쿠버네티스 Deployment와 ReplicaSet 개념 정리: 배포의 기본 구조 (0) | 2026.02.03 |
| 쿠버네티스 핵심 구성 요소 정리: Pod, Node, Cluster 이해하기 (0) | 2026.02.02 |