Cluster
A Kubernetes cluster consists of a control plane plus a set of worker nodes that together orchestrate and run containerised applications.
Every cluster needs at least one worker node in order to run the application pods. Clusters may have different types of nodes with different resources (e.g. CPU:RAM ratios) or different capabilities (e.g. GPU for machine learning).
In a production environment, the control plane usually runs across multiple control plane nodes to provide redundancy for the control plane components. Similarly, application pods will usually be deployed across multiple nodes for improved fault-tolerance and availability.