해당 문서의 쿠버네티스 버전: v1.25
Kubernetes v1.25 문서는 더 이상 적극적으로 관리되지 않음. 현재 보고있는 문서는 정적 스냅샷임. 최신 문서를 위해서는, 다음을 참고. 최신 버전.
서비스 내부 트래픽 정책
기능 상태:
Kubernetes v1.23 [beta]
서비스 내부 트래픽 정책 을 사용하면 내부 트래픽 제한이 트래픽이 시작된 노드 내의 엔드포인트로만 내부 트래픽을 라우팅하도록 한다. 여기서 "내부" 트래픽은 현재 클러스터의 파드로부터 시작된 트래픽을 지칭한다. 이를 통해 비용을 절감하고 성능을 개선할 수 있다.
서비스 내부 트래픽 정책 사용
ServiceInternalTrafficPolicy
기능 게이트는
베타 기능이며 기본적으로 활성화되어 있다.
이 기능이 활성화되어 있으면,
서비스의
.spec.internalTrafficPolicy
를 Local
로 설정하여 내부 전용 트래픽 정책을 활성화 할 수 있다.
이것은 kube-proxy가 클러스터 내부 트래픽을 위해 노드 내부 엔드포인트로만 사용하도록 한다.
참고: 지정된 서비스에 대한 엔드포인트가 없는 노드의 파드인 경우에
서비스는 다른 노드에 엔드포인트가 있더라도 엔드포인트가 없는 것처럼 작동한다.
(이 노드의 파드에 대해서)
다음 예제는 서비스의 .spec.internalTrafficPolicy
를 Local
로
설정하는 것을 보여 준다:
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app.kubernetes.io/name: MyApp
ports:
- protocol: TCP
port: 80
targetPort: 9376
internalTrafficPolicy: Local
작동 방식
kube-proxy는 spec.internalTrafficPolicy
의 설정에 따라서 라우팅되는
엔드포인트를 필터링한다.
이것을 Local
로 설정하면, 노드 내부 엔드포인트만 고려한다.
이 설정이 Cluster
이거나 누락되었다면 모든 엔드포인트를 고려한다.
기능 게이트의
ServiceInternalTrafficPolicy
를 활성화한다면, spec.internalTrafficPolicy
는 기본값 "Cluster"로 설정된다.
다음 내용
- 토폴로지 인지 힌트에 대해서 읽기
- 서비스 외부 트래픽 정책에 대해서 읽기
- 서비스와 애플리케이션 연결하기 읽기
최종 수정 March 12, 2024 at 8:26 AM PST: Merge pull request #45495 from steve-hardman/fix-1.25 (8eb33af)