I've just set-up a 3-node Kubernetes cluster on AWS using Kelsey's guide. I notice that K8 assigns a unique virtual IP address to each pod and service. In the guide, a AWS route table is used to map the virtual IPs to actual IPs. While this works, it seems quite primitive and is not scalable when nodes are added/removed to the Kubernetes cluster.
What's the standard way to handle these virtual IPs when hosting Kubernetes on AWS at scale?
AWS route tables have a limit of 50 entries each, so that's not a very scalable solution. The most common approach is to use an overlay network. Two popular ones are
The Flannel README in particular gives a good overview of how it works.