We have a cluster on GCP with installed Istio 1.12.6.
Now, we need to get the actual client IP address in our microservices.
I managed to configure the istio ingress service to propagate the IP address by changing the
Unfortunately, this change affects the load balancing and the availability of our services.
For example: when we trigger an istio update from 1.12.5 to 1.12.6 using revisions, there is a short downtime (some ping requests are failing), even that we have ingress gateway pod on every node.
This is not the case if externalTrafficPolicy=Cluster.
Is there a way to preserve the high availability of our services (externalTrafficPolicy=Cluster) and propagate the client ip address to our services?
I saw that there is an Istio configuration
numTrustedProxies which can control the value of
x-envoy-external-address header based on
X-Forwarded-For header, but in our case there is no XFF header at all.