LoadBalancer タイプの Kubernetes サービスを構成して、受信要求の送信元 IP アドレスに基づいてロード バランサ トラフィックを許可し、ローカル ポッド トラフィックのみを許可することができます。

最小要件

次の最小要件を満たす Tanzu Kubernetes クラスタでは、LoadBalancer タイプの Kubernetes サービスと一緒に externalTrafficPolicy および LoadBalancerSourceRanges 機能を使用できます。
コンポーネント 最小要件 詳細情報
vCenter Server と ESXi vSphere 7.0 Update 2 リリース ノートを参照してください。
スーパーバイザー クラスタ v1.19.1+vmware.2-vsc0.0.8-17610687 vSphere 名前空間の更新の実行による スーパーバイザー クラスタ の更新を参照してください。
ロード バランサ

NSX-T Data Center v3.1

vSphere with Tanzu のネットワークを参照してください。
Tanzu Kubernetes リリース 最新の Tanzu Kubernetes リリースの 1 つ。 更新のための Tanzu Kubernetes クラスタ互換性の確認を参照してください。

ローカル トラフィック ポリシーと送信元 IP アドレス範囲のサポートについて

NSX-T Data Center ネットワークを使用している場合は、LoadBalancer タイプの Kubernetes サービスを構成して、外部トラフィック ポリシーとロード バランサの送信元 IP アドレス範囲を許可できます。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 健全性チェック モニタは、ターゲットの健全性チェック NodePort に HTTP GET 要求を送信します。実行中のローカル ポッドがない場合、ノード上の kube-proxy は HTTP ステータス コード 500 を返します。ローカル ポッドがないノードは、NSX-T によって「切断」とマークされ、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