What is a control plane? Basics on Kubernetes.

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 api-server, cloud controller manager, controller manager, kube scheduler and etcd. Let’s talk about each component and what are their tasks.

What is a control plane in Kubernetes? Basics on Kubernetes.
What is a control plane in Kubernetes? Basics on Kubernetes.

Kube-apiserver

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

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.

Kube-controller manager

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.

Kube-scheduler

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.


Gaurav Yadav

Gaurav is cloud infrastructure engineer and a full stack web developer and blogger. Sportsperson by heart and loves football. Scale is something he loves to work for and always keen to learn new tech. Experienced with CI/CD, distributed cloud infrastructure, build systems and lot of SRE Stuff.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.