メインコンテンツまでスキップ

Istio Ingress 向けに Proxy Protocol を設定する

Managed - FPT Kubernetes Engine 上の Istio gateway 経由でアプリケーションにアクセスし、エンドユーザーの実際の public IP が必要な場合は、次のように Proxy Protocol を設定します。

Proxy Protocol を有効にする​

  1. istio-ingressgateway の service 設定にアノテーション loadbalancer.fptcloud.com/proxy-protocol: "true" を追加します。

  2. istio-system namespace に EnvoyFilter を apply します。

    apiVersion: networking.istio.io/v1alpha3
    kind: EnvoyFilter
    metadata:
    name: proxy-protocol
    namespace: istio-system
    spec:
    configPatches:
    - applyTo: LISTENER
    patch:
    operation: MERGE
    value:
    listener_filters:
    - name: envoy.filters.listener.proxy_protocol
    typed_config:
    '@type': type.googleapis.com/envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol
    workloadSelector:
    labels:
    istio: [lable-istio-gateway]

この設定により、istio-ingressgateway の pod ログに、gateway 経由でアプリケーションにアクセスしたエンドユーザーの実際の送信元 public IP が表示されます。

注記

このガイドは Istio オープンソース版 1.22 以前を対象としています。