When deploying a cluster to be used as production, the best possible advice is to use a commercial service. All the main cloud providers (AWS EKS, Google Kubernetes Engine (GKE), and Azure Kubernetes Service (AKS)) allow you to create a managed Kubernetes cluster, meaning that the only required parameter is to choose the number and type of physical nodes and then access it through kubectl.
We will use AWS for the examples in this book, but take a look at the documentation of other providers in case they work better for your use case.
Kubernetes is an abstraction layer, so this way of operation is very convenient. The pricing is similar to paying for raw instances to act as node servers and removes the need to install and manage the Kubernetes Control Plane so the instances act as Kubernetes nodes.
It's worth saying it again: unless you have a...