Ingress-nginx: externalTrafficPolicy: "Local" [ GCP complains nodes are unhealthy. ]

Created on 5 Dec 2018  路  2Comments  路  Source: kubernetes/ingress-nginx

NGINX Ingress controller version:
0.21.0
Kubernetes version (use kubectl version):
v1.11.2-gke.18

Environment:

  • Cloud provider or hardware configuration: GKE

What happened:
I've been trying to get website visitor's real ip from my application, but it was showing 10.28.0.1 etc local IP address.

What you expected to happen:
Show real IP of users.

How to reproduce it (as minimally and precisely as possible):
Then I've read that https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-type-loadbalancer
If I set controller.externalTrafficPolicy: "Local" i should get visitor's real IP (and it works as expected).

However GCP dashboard complains my nodes are not healthy (yes it was mentioned on documents too, only node that scheduled nginx on it reports healthy).
image

My question is: Is there any caveat / disadvantage other than this warning? If yes , what should I do?
If not, am I good to go with this?

Most helpful comment

Closing. This works as expected. Only the node/s where the ingress controller is running will be healthy. The reason if externalTrafficPolicy: "Local" avoids "jumping" between nodes, in order to be able to preserve the source IP address.

s there any caveat / disadvantage other than this warning?

No

All 2 comments

Closing. This works as expected. Only the node/s where the ingress controller is running will be healthy. The reason if externalTrafficPolicy: "Local" avoids "jumping" between nodes, in order to be able to preserve the source IP address.

s there any caveat / disadvantage other than this warning?

No

Thank you very much, sorry I had to raise an issue, cuz slack didn't work for me.

Was this page helpful?
0 / 5 - 0 ratings