반응형
Kubernetes의 Service Port와 IP는 클러스터 내부에서 동작하는 네트워크 환경과 밀접하게 연관되어 있습니다. 이를 Cluster Port와 Cluster IP라고 볼 수 있지만, 약간의 세부적인 이해가 필요합니다.
1. Service IP와 Cluster IP
- Service IP는 Kubernetes의 ClusterIP라고도 불립니다.
- ClusterIP는 Kubernetes 클러스터 내에서 서비스에 접근하기 위한 고정된 IP 주소입니다.
- 클러스터 내부에서만 접근 가능하며, 외부에서는 직접 접근할 수 없습니다(ClusterIP 타입의 Service인 경우).
- 이 IP는 클러스터의 네트워크 CIDR(예: 10.x.x.x) 범위 내에서 자동으로 할당됩니다.
- 클라이언트가 Service에 요청을 보낼 때 사용하는 주소입니다.
예: ClusterIP 타입의 Service
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
type: ClusterIP
selector:
app: my-app
ports:
- port: 80 # Service Port
targetPort: 8080 # Pod Port
- 위 예제에서:
- Service IP는 Kubernetes가 자동으로 할당한 ClusterIP입니다.
- 클러스터 내부에서 10.x.x.x:80으로 접근 가능.
2. Service Port와 Cluster Port
- Service Port는 Service에 정의된 포트입니다.
- 클라이언트가 Service에 요청할 때 사용하는 포트입니다.
- 이 포트는 ClusterIP와 함께 사용되어 Service의 엔드포인트로 작동합니다.
- Cluster Port라는 개념은 Kubernetes에서 명시적으로 사용되지 않지만, Service Port는 클러스터 내부에서 통신을 위한 포트로 간주할 수 있습니다.
Service Port와 Target Port
- Service Port는 Service에서 사용되는 포트이고, Target Port는 Service가 연결하는 Pod의 포트를 의미합니다.
- Service Port와 Target Port는 다를 수 있습니다:
- 클라이언트는 Service Port로 요청을 보내고,
- kube-proxy가 요청을 받아 Target Port로 전달합니다.
3. ClusterIP와 NodePort의 차이
- ClusterIP:
- 기본 Service 타입.
- 클러스터 내부에서만 접근 가능.
- IP는 클러스터 CIDR에서 자동 할당.
- NodePort:
- 클러스터 외부에서 접근 가능.
- 각 노드의 고정된 포트를 통해 트래픽이 Service로 전달됩니다.
- NodePort는 30000~32767 범위에서 할당됩니다.
4. 결론
- Service IP는 Kubernetes의 ClusterIP와 동일한 개념입니다.
- 클러스터 내부에서 서비스에 접근하기 위해 사용되는 고유 IP입니다.
- Service Port는 클라이언트가 Service로 트래픽을 보낼 때 사용하는 포트입니다.
- 이를 넓은 의미에서 Cluster Port로 볼 수 있으나, Kubernetes에서는 공식적으로 Cluster Port라는 용어를 사용하지 않습니다.
- Service Port는 ClusterIP와 함께 클러스터 내부에서 Pod으로의 트래픽을 라우팅하는 역할을 합니다.
반응형
'K8S' 카테고리의 다른 글
[kubernetes] Ingress 사용하는 이유 (0) | 2024.12.23 |
---|---|
[Kubernetes] externalTrafficPolicy와 internalTrafficPolicy (0) | 2024.12.21 |
Service와 kube-proxy의 차이 (0) | 2024.12.21 |
CNI, Kube-proxy, Service 의 특징 및 통신과정 (0) | 2024.12.21 |
kube-proxy와 cni의 비교 (0) | 2024.12.21 |
댓글