<p>I am running <code>GKE</code> cluster with single node. I have set up ingress for managing &amp; forwarding rules inside <code>Kubernetes</code> cluster.</p>

<p>however by default pod use <code>instance (Node) IP</code> for external connection. I have not set up <code>NAT gateway</code> here. I have shared node external IP with the third party but changed IP from ephemeral to static to keep it.</p>

<p>What is the best way possible now to manage a single IP for <code>egress</code> even if we do auto-scaling from single node to multi-node but egress IP will be the same.</p>

Harsh Manvar
<p><a href="https://kubernetes.io/docs/concepts/cluster-administration/networking/#google-compute-engine-gce" rel="nofollow noreferrer">The default behaviour for GKE</a> when pods send traffic outside of the cluster, SNAT occurs and the node IP is used to replace the pod IP. The destination will only see the node IP. If you have more than 1 node, you will end up with more than 1 source IP.</p>

<p>Your best option to ensure you have a single IP for egress traffic is to use <a href="https://cloud.google.com/nat/docs/gke-example" rel="nofollow noreferrer">Cloud NAT with GKE</a></p>
