Kubernetes architecture
Kubernetes is a cluster architecture. This means that in a full production environment, you will usually have several machines running your workloads simultaneously to create a reliable and scalable architecture. (Note that Kubernetes can run on one machine also, which is great for testing but misses the whole point for production.)
To coordinate cluster functionalities, Kubernetes has two main feature groups: the control plane responsible for cluster management and the node components that communicate with the control plane and execute tasks in the worker machines. Figure 2.1 shows a representation of the whole system.
Figure 2.1 – Kubernetes architecture
Let’s take a closer look at each group and its components.
Control plane
The main components of the control plane are the following:
- kube-apiserver
- etcd
- kube-scheduler
- kube-controller-manager
When running a cloud-based Kubernetes...