A lot of people seem confused about how Ingress works in Kubernetes and questions come up almost daily in Slack. It's not their fault, either - unfortunately the Kubernetes documentation is pretty weak in this area. Updating the documentation itself is probably a better use of time than writing this, I just prefer this ...
I recently gave a talk at Google Cloud Next about using Kubernetes to deploy and manage microservices around the world using Kubernetes. I've blogged about how you can set up MongoDB in a StatefulSet already, so now I'm going to deep dive on how you can set up cluster federation and deploy your services around the world!
Over the past few months, I've been working with Kubernetes a lot as Ayetier has been making the shift towards container orchestration. As easy as it was to create and scale services, it was a bit frustrating to see how most reverse proxy solutions seemed kludgy at best.
When running your application services on top of an orchestration tool like Kubernetes or Mesos with Marathon, there are some common necessities you'll need to satisfy. Your application will usually contain two types of services, those that should be visible only from inside of the cluster, and those that you want to expose to the external world, outside your cluster and maybe to the internet (e.g frontends).
guide - Kubernetes clusters for the hobbyist.
backplane-kubernetes-ingress - prototype Kubernetes Ingress Controller for Backplane.io
kube-applier enables automated deployment and declarative configuration for your Kubernetes cluster.
external-dns - Configure external DNS servers (AWS Route53, Google CloudDNS and others) for Kubernetes Ingresses and Services