So far, we have interacted with each of the machines individually. What we did was connect to the localhost Docker Daemon server. We could have used the -H option in the docker run command to specify the address of the remote Docker, but that would still mean deploying our application to a single Docker host machine. In real life, however, if servers share the same physical location, we are not interested in which particular machine the service is deployed in. All we need is to have it accessible and replicated in many instances to support high availability. How can we configure a set of machines to work that way? This is the role of clustering.
In the following subsections, you will be introduced to the concept of server clustering and the Kubernetes environment, which is an example of the cluster management software.