← Back to list

Kubernetes learnings — K8 components Overview

control plane:

RCH · 2024-05-23 12:17 · 0 claps · 2.2 min read
#k8s #kubernetes #kubernetes-architecture #kubelet
Open on Medium ↗
Wiki topics: EDU · Education & Learning ☁️ · DevOps & Cloud 🏛️ · Architecture

Kubernetes learnings — K8 components Overview

pic from https://kubernetes.io/docs/concepts/overview/components/

pic from https://kubernetes.io/docs/concepts/overview/components/

control plane:

The components in the control plane makes global decisions and responsible to schedule, deploy and to respond to events. The control plane components can run on any machine, but for simplicity, when start up script runs, it spins all the control plane components on one machine.

api-server: This is a front gate for k8 control plane. It can scale horizontally. It manages traffic between multiple instances when run scaled horizontally.

etcd: consistent and highly-available key value store.

scheduler: This takes care of assigning a node to a newly spinned pod. It takes decision of node allocation based on hardware/software constraints, data locality.

kube-control-manager: It manages various controllers in k8. controllers are control loops that continuously watch the state of your cluster, then make or request changes where needed. Controllers continuously talk to the kube-apiserver and the kube-apiserver receives all information of nodes through Kubelet.

Some types of controllers:

  1. Node controller: It is responsible for onboarding new nodes to the cluster handling situations where nodes become unavailable or get destroyed to keep our application running. If it stops receiving signals from a node, the node is marked unreachable but it waits for 40 seconds before marking it unreachable. After the node is marked unreachable it waits for 5 minutes to come back up if it doesn’t, it removes the pod’s assigned to that node and provisions them on the healthy nodes if pod’s are part of the replica set.
  2. Deployment controller: K8s deployment controller is responsible for the following functions. Managing a set of pods in the form of Replica Sets & Hash-based labels, Rolling out new versions of application through new Replica Sets, Rolling back to old versions of application through old Replica Sets, Pause & Resume Rollout/Rollback functions, Scale-Up/Down functions.
  3. Replica controller: It is responsible for monitoring the status of replica sets and ensuring that the desired number of pod’s are available at all times within the set. If a POD dies it will create another POD. It makes sure that desired number of PODs or at least one POD is in running state. It has the capability to bring up or down the specified no of PODs.

cloud-control-manager: The cloud-controller-manager is a Kubernetes control plane component that embeds cloud-specific control logic. It lets you link your cluster into your cloud provider api and separates out the components that interact with that cloud platform from components that only interact with your cluster.

Node:

Now lets read on node components. Node components run on every node, maintaining running pods and providing the Kubernetes runtime environment.

kubelet: It is an agent that runs on every node in the cluster. It monitors if pods are running and are healthy. It doesn’t monitor the pods created outside k8.

kube-proxy: It runs on every node in the cluster. It maintains network rules on nodes. These network rules allow network communication to your Pods from network sessions inside or outside of your cluster.

container runtime: It is responsible for managing the execution and lifecycle of containers within the Kubernetes environment.


메타데이터
post_id
258eeb97406d
slug
kubernetes-learnings-k8-components-overview-258eeb97406d
url
https://medium.com/@rchtech/kubernetes-learnings-k8-components-overview-258eeb97406d
canonical_url
https://medium.com/@rchtech/kubernetes-learnings-k8-components-overview-258eeb97406d
author_url
https://medium.com/@rchtech
status
ok
fetched_at
2026-06-27 23:56:40