| NB: I'm one of the founders of the Kubernetes project I'd recommend anyone trying to install Kubernetes check out: https://get.k8s.io/ Or the single node Docker based instructions: https://github.com/kubernetes/kubernetes/blob/master/docs/ge... Or boot2k8s:
https://github.com/skippbox/boot2k8s Or kubernetes on OS X:
https://github.com/rimusz/coreos-osx-gui-kubernetes-cluster Or of course the "as a service" versions like Google Container Engine, CoreOS Tectonic, etc. We're definitely also working on simplifying the install instructions. I'd also like to expand a little on some of the features that differentiate Swarm from Kuberentes, namely: * Secrets
* Replicated sets of containers
* Rolling update from one version of code to the next
* AutoScaling (Kubernetes 1.1, in Release Candidate now)
* HTTP load balancing for autoscaling
* Load balancing for sets of objects (e.g. Frontend)
* Service discovery of those replicated sets (Swarm has discovery for individual containers, but no concept of Service)
In general, our goal is to build a system that makes distributed system construction easier.I would also refer people to the discussion in https://github.com/docker/compose/issues/1899#issuecomment-1... as well as https://github.com/docker/docker/pull/8859 on why we feel that the Node-based Docker API is problematic for a cluster level API. |
To expand on what Brendan wrote, Kubernetes does a lot more than just run containers. It provides container-centric infrastructure and a platform for building robust automation.
https://github.com/kubernetes/kubernetes/blob/master/docs/wh...
http://www.slideshare.net/BrianGrant11/wso2con-us-2015-kuber...
In a VM-centric world, one wouldn't just use raw VMs in production, but would also use managed groups, load balancing, autoscaling, DNS, Spinnaker, etc. If one manually pins specific containers to specific hosts, IaaS APIs and tools can still be used directly. When dynamically scheduling containers, that doesn't work.