Kubernetes has many features and is more complex than Docker Swarm. It provides additional features not available on Docker Swarm without having to modify our application code. Docker Swarm is more aligned with microservices logic, while Kubernetes is closer to the virtual machine application's lift and shift approach (move application as is to a new infrastructure). This is because the Kubernetes pod object can be compared to virtual machines (with application processes running as containers inside a pod).
Before we begin discussing Kubernetes architecture, let's review some of the concepts that we've learned about orchestration.
Orchestration should provide all that's required for deploying a solution to execute, manage, and publish applications based on the containers distributed on a pool of nodes. Therefore, it should provide a control plane to ensure cluster availability, a scheduler for deploying applications, and a network...