Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between Docker Swarm and Kubernetes/Mesophere?

From what I understand, Kubernetes/Mesosphere is a cluster manager and Docker Swarm is an orchestration tool. I am trying to understand how they are different? Is Docker Swarm analogous to the POSIX API in the Docker world while Kubernetes/Mesosphere are different implementations? Or are they different layers?

like image 443
Debnath Sinha Avatar asked Dec 06 '14 18:12

Debnath Sinha


People also ask

Is Docker swarm same as Kubernetes?

The major difference between the platforms is based on complexity. Kubernetes is well suited for complex applications. On the other hand, Docker Swarm is designed for ease of use, making it a preferable choice for simple applications.

Is Docker swarm better than Kubernetes?

Both platforms are also highly customizable, though both are not very easy to customize. Kubernetes does have a slight advantage over Docker Swarm because it can scale up to around 5,000 nodes, while Docker Swarm can scale up to 4,700 nodes.

What is the difference between Docker and Docker Swarm?

The difference between Docker Swarm and Docker Compose is that Compose is used for configuring multiple containers in the same host. Docker Swarm is different in that it is a container orchestration tool. This means that Docker Swarm lets you connect containers to multiple hosts similar to Kubernetes.

What are the differences between Docker compose Docker swarm and Kubernetes?

What is the difference between these three? I can sum it up in a single sentence: Docker (or specifically, the docker command) is used to manage individual containers, docker-compose is used to manage multi-container applications and Kubernetes is a container orchestration tool. Of course, nothing is quite that simple.


1 Answers

Disclosure: I'm a lead engineer on Kubernetes

Kubernetes is a cluster orchestration system inspired by the container orchestration that runs at Google. Built by many of the same engineers who built that system. It was designed from the ground up to be an environment for building distributed applications from containers. It includes primitives for replication and service discovery as core primitives, where-as such things are added via frameworks in Mesos. The primary goal of Kubernetes is a system for building, running and managing distributed systems.

Swarm is an effort by Docker to extend the existing Docker API to make a cluster of machines look like a single Docker API. Fundamentally, our experience at Google and elsewhere indicates that the node API is insufficient for a cluster API. You can see a bunch of discussion on this here: https://github.com/docker/docker/pull/8859 and here: https://github.com/docker/docker/issues/8781

like image 167
brendan Avatar answered Oct 23 '22 01:10

brendan