2025 07 16
2025-07-16
k8s Headless Service
- 개요
- Service가 Headless 하다는 것은, 해당 서비스가 ClusterIP를 가지지 않는다는 뜻
- 일반적인 Service와 달리 가상 IP를 할당하지 않고,
- 트래픽을 Pod로 라우팅할 때 로드 밸런싱이나 프록시 동작 없이 각 파드의 실제 IP로 직접 접근 가능토록
- 특징
- clusterIP: None 으로 설정됨
spec.clusterIP: None
- 로드밸런싱이 동작하지 않음. headless 서비스는 분산 과정이 없다
- DNS 쿼리 수행 시, 서비스에 연결된 모든 파드의 IP 목록이 반환됨
- 파드 개별 접근이 필요한 아키텍쳐에 적합
- StatefulSet, 분산 시스템
- 파드가 고유하게 식별되어, 자신만의 IP/DNS로 접근 필요
- 사용 예시
- StatefulSet과 조합해 각 Pod가 고유한 DNS/IP로 접근 가능해야 할 때
- Cassandra, MongoDB, Kafka 같은 클러스터링된 DB에서 노드 간 직접 통신이 필요한 경우