I just spent 30 hours figuring that out (DNS, flanneld), and that's with using hyperkube. (I'm building a new framework that helps you build a custom dev-environment for your workflow using Kubernetes, called Matsuri).
I don't regret it, since I know a lot more about the details of how this works together, and this will help a lot when it comes time to putting this on AWS for production. But I don't want to force this on my team either, so I'll end up putting something together with Vagrant (or finding something that works with it).
One thing I realized though: this stuff should be baked in as part of a standard Linux distro. A working, single-node Kubernetes setup works far better than docker-compose / fig / crane / any number of homebrewed orchestration for dev work. No wonder people are using CoreOS and RHEL 7/Atomic, and not Ubuntu. It's seriously making me consider switching to one of those, off of Ubuntu.
You can get a one-click managed Kubernetes cluster on Google Cloud Platform (we call it Container Engine.) Would that be interesting to you vs. running on AWS? [Googler asking.]
Yeah, I saw there was a of great instructions on Kubernetes and GCE.
AWS, for all it's warts and cruft, is familiar to me, and we have our operations on it right now.
What I'm focused on right now is building a dev environment framework. There's already excessive focus on getting this stuff into production. Neither AWS or GCE will help me with that.
The existing single node solutions have been painful to get up and running, and always seem to be missing some feature or other (DNS, for example).