Change from externalTrafficPolicy: cluster to local


There is great support article on the subject “Preserving Client IP Address” where it’s explains that by changing from externalTrafficPolicy: cluster to local, client IP address should be preserved. What would be the best way to perform the change on an already existing Kong installation?

We have working Kong installation via Helm with definition “type: LoadBalancer” and AWS as environment. Just wondering these following questions:

Can we achieve this by just changing the value from cluster to local and running Helm upgrade?
Or is it mandatory to perform Kong reinstallation completely?
Will there be any traffic disruption during these change?

Answering my own question. You can change between externalTrafficPolicy Local and Cluster simply just by changing the value and executing helm upgrade. Anyhow in AWS environment this will cause 40 - 90 seconds downtime, because target group registered targets will go through initial process.

Also please note that executing helm upgrade on existing services may cause problems like “invalid: spec.clusterIP: Invalid value: “”: field is immutable” if you are running Kubernetes older than 1.22. Additional info about the related bug Replace does not work for services · Issue #91459 · kubernetes/kubernetes · GitHub