
없으면 -> 노드 ssh 접속 후에 따로 10.x.x.x. 로 접근해야함. (귀찮)
Kubernetes에서 Pod는 고정된 존재가 아님.
장애가 나면 다시 생성되고, 배포가 바뀌면 교체됨.
문제는 이때 Pod IP도 바뀔 수 있음.
그래서 애플리케이션이 Pod IP를 직접 보고 통신하면 위험함.
예를 들어 프론트엔드가 백엔드 Pod IP로 직접 요청을 보내고 있었는데, 백엔드 Pod가 재시작되면 IP가 바뀜.
그러면 기존 IP로는 더 이상 접근할 수 없음.
이 문제를 해결하는 게 Service임.
Service는 Pod 앞에 고정된 접근 지점을 만들어줌.
Pod가 바뀌어도 Service 이름은 그대로라서 안정적으로 접근 가능함.
curl http://backend-service
또 Service는 같은 라벨을 가진 여러 Pod로 트래픽을 분산해줌.
즉, 로드밸런싱 역할도 함.
Service가 없으면 다음 문제가 생김.
- Pod IP 변경 시 통신 끊김
- 여러 Pod로 트래픽 분산 어려움
- DNS 이름으로 접근 불가
- 운영 중 장애 대응 어려움
CKA 시험에서는 Service 문제를 보면 selector부터 확인하는 게 중요함.
kubectl get pods --show-labels
kubectl describe svc <service-name>
kubectl get endpoints
Service가 있는데 통신이 안 되면 대부분 Pod label과 Service selector가 안 맞는 경우가 많음.
결론적으로 Service는 Kubernetes에서 안정적인 통신을 위한 필수 리소스임.
Pod가 바뀌어도 애플리케이션이 계속 접근할 수 있게 해주는 고정된 문 같은 역할임.
'TIL' 카테고리의 다른 글
| VPN거치면 왜 느릴까? (0) | 2026.05.04 |
|---|---|
| kubectl namespace에 대해서 알아야 할 것. (0) | 2026.05.04 |
| Pods 개념 정리 ( CKA 대비) (0) | 2026.04.28 |
| 쿠버네티스 컴포넌트 정리 (0) | 2026.04.27 |
| Kubernetes Controller Manager 정리 (CKA 대비) (0) | 2026.04.27 |