Official Kubernetes on CoreOS Guides and Tools
coreos.com
coreos.com
This will get you to a "single machine" kubernetes cluster and a working `kubectl` tool in a few minutes.
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).
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.
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.
First persistent storage tackled, then networking and now resource-aware orchestration.
You can find resources that explain all of the constraints in depth at the Raft homepage: https://raft.github.io/
https://coreos.com/os/docs/latest/cluster-architectures.html
Can you expand on the etcd growth pains you've been through?
etcd had a HUGE issue with the implementation of the raft consensus algorithm they were using. This was in version 0.x
The tough part was that, even though etcd 2.0 was released in January [1], it was not put into CoreOS alpha until April [2]
After moving to 2.x - all my problems went away. It had a small learning curve of setting up lots of nodes in the cluster vs proxies [3]. 2.x had a lot of functionality added, but the main one for us was it's reliability. Being able to query status of members, add/remove members from the cluster and monitoring.
Before etcd 2.x, the whole etcd infrastructure would die (and consequently, fleet) if just ONE node restarted. Needless to say, it's come a long way.
We've been running etcd 2.x since January in a container [4], then just doing export FLEETCTL_ENDPOINT=http://127.0.0.1:2379
[1] - https://coreos.com/blog/etcd-2.0-release-first-major-stable-...
[2] - https://coreos.com/blog/coreos-alpha-with-etcd-2/
In fact someone recently made a video showing a 1000 machine cluster; let me find that.
UPDATE: here is the video https://www.youtube.com/watch?v=sgWv9sVTIYQ
I'm the author of that video, BTW, so I know that for sure. :-)
https://github.com/kubernetes/kubernetes/blob/master/docs/ro...
wget -qO- http://git.io/veKlu | sudo sh
Read More Here: https://github.com/meteorhacks/kube-init