Proxy Protocol - Durchleiten der Source IP

Bei der Standardkonfiguration von Ingress Controller und OpenStack Load Balancer kommen alle externen Webanfragen aus dem Kubernetes-Cluster von der internen IP des Load Balancers.

Wenn die externe IP innerhalb des Kubernetes-Clusters benötigt wird, muss das sogenannte Proxy-Protokoll aktiviert werden.

Beispiel NGINX Ingress Controller

Die folgenden Zeilen müssen in die ConfigMap des Ingress-Controllers eingefügt werden:

use-proxy-protocol: "true"
use-forwarded-headers: "true"

Darüber hinaus muss dem zugehörigen Load Balancer Service für den NGINX Ingress Controller eine Annotation hinzugefügt werden:

apiVersion: v1
kind: Service
metadata:
  annotations:
    loadbalancer.openstack.org/proxy-protocol: "true"

Jetzt können Anwendungen innerhalb des Kubernetes-Clusters die externe IP-Adresse von externen Webanfragen anzeigen.