Kubernetes control plane
Learning objectives
- You know of the Kubernetes control plane.
In the previous part, we took a brief look into Container orchestration and Kubernetes, also creating our first Kubernetes application. To create the application, we created a Docker image building it into Minikube, and then created the needed configurations for deploying the image. Finally, we used the kubectl
command to apply the configurations, and to check out the deployment status.
The kubectl
command did not work in isolation however. For it to work, we had to start our Kubernetes cluster, in this case Minikube, which then the kubectl
command interacted with.
We interact with the Kubernetes control plane when using
kubectl
.
Kubernetes control plane is an orchestration layer of a Kubernetes cluster that consists of a set of processes that are responsible for managing the cluster. The control plane has a distributed key-value store ectd, a scheduler, two controller managers, and an API server (which kubectl
interacts with).
The control plane manages nodes in the cluster and interacts with them. The interaction is handled through kubelet and kube-proxy that are processes running on each node. The kubelet is responsible for managing the containers, while the kube-proxy handles the networking. The Kubernetes control plane is summarized in Figure 1 along with a Kubernetes node with a pod with three containers.