Docker Swarm was easy to implement. To provide high availability, we simply changed the node roles to accomplish the required odd number of managers. In Kubernetes, this is not so easy; roles cannot be changed, and, usually, administrators do not change the initial number of master nodes.
Therefore, installing a Kubernetes cluster with high-availability components requires some planning. The good thing here is that Docker Enterprise will deploy the cluster for you (since the 2.0 release). We will review this method in Chapter 11, Universal Control Plane, as Universal Control Plane (UCP) will deploy Kubernetes on top of Docker Swarm.
To provide high availability, we will deploy an odd number of control plane components. It is usual to deploy etcd on three additional nodes. In this scenario, nodes would be neither masters nor workers because etcd will be deployed out of the Kubernetes nodes. We will require access to this external etcd...