posted 8 years ago
Having used both Swarm and Kubernetes, Docker Swarm is a cluster manager for Docker hosts and exposes a pool of hosts (nodes) as a single “virtual” host. These nodes are not to be accessed directly. The swarm cluster may be accessed via a single Swarm Manager on the <swarm_ip:swarm_port>.
In contrast a Kubernetes cluster exposes multiple endpoints for the multiple Pods in the cluster, which could be running on a single or multiple nodes. Multiple endpoints could be accessed by multiple clients.
Which to use, Swarm or Kubernetes depends on the use case. If a multinode cluster is to be managed as a single node use Swarm. If a single/multi node cluster of Docker containers/Pods being accessed by multiple clients is to managed, use Kubernetes.