반응형
externalTrafficPolicy와 internalTrafficPolicy는 Kubernetes에서 서비스(Service) 리소스를 정의할 때 사용되는 두 가지 중요한 설정입니다. 이들은 트래픽 라우팅 방식을 지정하여 클러스터 외부와 내부 간의 네트워크 흐름을 어떻게 처리할지를 결정합니다.
1. externalTrafficPolicy
externalTrafficPolicy는 클러스터 외부에서 유입되는 트래픽을 처리하는 방법을 정의합니다. 이 설정은 LoadBalancer나 NodePort 서비스 유형에 대해 사용됩니다.
- Cluster (기본값):
- 트래픽이 클러스터의 모든 노드에 라우팅됩니다.
- 로드밸런서가 들어오는 트래픽을 여러 파드로 분배할 때 클러스터 내 모든 노드에서 파드로 전달되는 방식입니다. 이 경우, 클라이언트의 원본 IP 주소는 로드밸런서가 선택한 노드의 IP로 변경됩니다.
- 원본 IP가 변경되므로, 클라이언트의 IP 주소를 로깅하거나 추적하는 데 문제가 생길 수 있습니다.
- Local:
- 트래픽은 로드밸런서가 라우팅할 수 있는 로컬 노드로만 전달됩니다. 즉, 트래픽은 파드가 실제로 실행 중인 노드로만 라우팅됩니다.
- 클라이언트의 원본 IP 주소를 그대로 유지할 수 있어, 원본 IP가 필요한 경우 유용합니다.
- 그러나 클러스터 내에 적절한 노드가 없으면 트래픽이 전달되지 않습니다.
2. internalTrafficPolicy
internalTrafficPolicy는 Kubernetes 1.24 이상에서 도입된 기능으로, 클러스터 내에서 내부 트래픽을 어떻게 처리할지 정의합니다. 이는 LoadBalancer 서비스 유형에 대해서만 적용됩니다.
- Cluster (기본값):
- 트래픽이 클러스터 내의 모든 노드에서 서비스로 라우팅됩니다.
- 클러스터 내에서 서비스의 엔드포인트가 여러 노드에 분산되어 트래픽을 라우팅합니다.
- Local:
- 트래픽은 로컬 노드로만 라우팅됩니다. 즉, 클러스터 내의 특정 노드에서만 트래픽이 서비스 파드로 전달됩니다.
- 이 설정은 파드가 실제로 실행 중인 노드로만 트래픽을 제한하려는 경우 유용합니다.
요약
- externalTrafficPolicy: 외부에서 들어오는 트래픽의 라우팅 방식을 설정합니다. Cluster는 클러스터의 모든 노드로, Local은 로컬 노드로만 라우팅합니다.
- internalTrafficPolicy: 클러스터 내에서 내부 트래픽이 어떻게 라우팅될지 설정합니다. Cluster는 모든 노드로, Local은 로컬 노드로만 트래픽을 라우팅합니다. externalTrafficPolicy와 internalTrafficPolicy
반응형
'K8S' 카테고리의 다른 글
[kubernetes] Ingress 사용하는 이유 (0) | 2024.12.23 |
---|---|
service와 clusterIP의 관계에 대해 알아보자 (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 |
댓글