수신 요청의 소스 IP 주소를 기반으로 로드 밸런서 트래픽을 허용하고 로컬 포드 트래픽만 허용하도록 LoadBalancer 유형의 Kubernetes 서비스를 구성할 수 있습니다.
최소 요구 사항
externalTrafficPolicy
및
LoadBalancerSourceRanges
기능을 사용할 수 있습니다.
구성 요소 | 최소 요구 사항 | 추가 정보 |
---|---|---|
vCenter Server 및 ESXi | vSphere 7.0 업데이트 2 | 릴리스 정보를 참조하십시오. |
감독자 클러스터 | v1.19.1+vmware.2-vsc0.0.8-17610687 |
vSphere 네임스페이스 업데이트를 수행하여 감독자 클러스터 업데이트의 내용을 참조하십시오. |
로드 밸런서 | NSX-T Data Center v3.1 |
vSphere with Tanzu에 대한 네트워킹의 내용을 참조하십시오. |
Tanzu Kubernetes 릴리스 | 최신 Tanzu Kubernetes 릴리스 중 하나입니다. | 업데이트를 위한 Tanzu Kubernetes 클러스터 호환성 확인의 내용을 참조하십시오. |
로컬 트래픽 정책 및 소스 IP 범위에 대한 지원 정보
NSX-T Data Center 네트워킹을 사용하는 경우에는 외부 트래픽 정책 및 로드 밸런서 소스 IP 범위를 허용하도록 LoadBalancer 유형의 Kubernetes 서비스를 구성할 수 있습니다. externalTrafficPolicy
기능을 사용하면 포드 트래픽을 로컬 노드로 제한할 수 있습니다. LoadBalancerSourceRange
기능을 사용하면 허용하거나 차단할 소스 IP 주소를 지정할 수 있습니다.
로컬 트래픽 전용 서비스 예
다음 로드 밸런서 서비스 규격은 externalTrafficPolicy
매개 변수가 Local
로 설정된 로드 밸런서 인스턴스를 구성합니다. 그 결과 포드 트래픽은 로컬 포드가 실행 중인 노드로만 라우팅됩니다.
apiVersion: v1 kind: Service metadata: name: local-only spec: selector: app: testApp ports: - protocol: TCP port: 80 targetPort: 80 externalTrafficPolicy: Local type: LoadBalancer
이 기능은 NSX-T 상태 점검 모니터를 사용하여 작동합니다. NSX-T 관리 측면에서 이 기능의 내부 작업을 알고 있어야 합니다.
NSX-T 상태 점검 모니터는 LoadBalancer 유형의 서비스에 해당하는 서버 풀에 대해 kube-proxy가 할당한 Kubernetes 상태 점검 NodePort를 감시합니다. NSX-T 상태 점검 모니터는 HTTP GET 요청을 대상 상태 점검 NodePort로 전송합니다. 노드의 kube-proxy는 실행 중인 로컬 포드가 없는 경우 HTTP 상태 코드 500을 반환합니다. 로컬 포드가 없는 노드는 NSX-T에 의해 DOWN으로 표시되고 NSX Manager에 표시됩니다. 트래픽은 로컬 포드가 실행 중인 노드로만 라우팅됩니다.
소스 IP 범위를 기반으로 트래픽을 허용하는 서비스 예
다음 로드 밸런서 서비스 규격은 허용되는 소스 IP CIDR 어레이로 loadBalancerSourceRanges
매개 변수를 구성합니다. 이러한 소스 IP 범위에서 발생하는 인바운드 요청만 허용되며, 다른 모든 인바운드 트래픽은 삭제됩니다.
apiVersion: v1 kind: Service metadata: name: allow-based-on-source-IPs spec: selector: app: testApp ports: - protocol: TCP port: 80 targetPort: 80 loadBalancerSourceRanges: - 10.0.0.0/24 - 10.1.0.0/24 type: LoadBalancer