私の目標は、Webアプリケーション(Kubernetes 1.4クラスタにデプロイされたもの)に、もともとHTTPリクエストを行ったクライアントのIPを表示させることです。ベアメタルクラスタ上でアプリケーションを実行する予定であるため、1.4で導入されたGCEとservice.alpha.kubernetes.io/external-traffic: OnlyLocal
サービスアノテーションは当てはまりません。IngressでリモートクライアントIPを維持する
代替手段をお探しの場合は、目標を達成するためにIngressを設定することを提案しているthis questionが見つかりました。そこで、Ingressとthe NginX Ingress Controllerを設定しました。デプロイメントはスムーズに進み、Ingress Addressとポート80経由で私のWebアプリケーションに接続することができました。しかし、ログではまだクラスタ内部IP(172.16.0.0/16から)の範囲が表示されます。これは、外部クライアントIPはIngress経由で正しく渡されていません。上記に加えて設定する必要があることを教えてください。
マイ進入設定:層4プロキシとして
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: myWebApp
spec:
backend:
serviceName: myWebApp
servicePort: 8080