In this article on series basics on Kubernetes, we are going to talk about what exactly do people mean when they use the term control plane. If you have not read the older article of this series you can read them below.
What is a control plane?
The Control plane comprises the components that work together to control the different functioning of the kubernetes. It has
cloud controller manager,
kube scheduler and
etcd. Let’s talk about each component and what are their tasks.
Kube-apiserver exposes the Kubernetes APIs and is responsible for saving and updating the states in etcd. It is a kind of outer world interface of kubernetes. Anyone who wants to make changes in Kubernetes interacts with kube-apiserver.
Cloud controller manager
This is the component that handles the cloud-specific logic. Now what this means is if you have asked for some component in k8s, it may be implemented in different ways in different clouds. Cloud controller manager understands this and creates the resources as per cloud. You can simply understand this as kubernetes resources to cloud resources mapping or how a particular resource will be implemented in different clouds.
Cloud controller manager runs only if you are running k8s on any cloud. If you are running Kubernetes on your premise, you will not need a cloud controller manager.
etcd is a persistent store for Kubernetes store. It is a highly consistent and available key-value datastore. You can read more about it in the below article.
These are the controller to handle the basic functionality of Kubernetes like node management, job management, endpoint management, service and account token controllers, and other such components.
So in short this is the process that takes over when a node joins, a new endpoint is created, a new service account is created and other basic functionality of Kubernetes.
The main task of this is to find out the pods which are not assigned any node and assign a node to them. This includes the factors involved in node selection like affinity, anti-affinity etc.
This was very basic on Kubernete’s control plane. If you like the article please share and subscribe.