Get familiar with Kubernetes Architecture
In the world of Kubernetes, a cluster is a collection of nodes or servers using a shared network to communicate between each other.
Md. Raufur Rahman · · 3 min read

Kubernetes Architecture
Cluster
In the world of Kubernetes, a cluster is a collection of nodes or servers using a shared network to communicate between each other.
Node
A physical or virtual machine with a given role.
-
Control-plane (Master Node): Makes most of the necessary decisions and acts as the brain of the entire cluster. It can be a single node or a group node in large projects.
-
Worker Node: Responsible for running workloads. These are usually controlled by the Master node and carry out various tasks according to the master node’s instructions.
Master Node Components
The Master node in a Kubernetes cluster consists of five components:
-
kube-api-server:
- Acts as the entrance to the Kubernetes control plane.
- Responsible for validating and processing requests delivered using client libraries like the
kubectlprogram.
-
etcd:
- A distributed key-value store.
- Stores configuration data and information about the state of the cluster.
-
kube-controller-manager:
- Responsible for controlling the state of the cluster.
- Ensures that requests made to the cluster are fulfilled.
- A single process containing all the controller processes.
-
kube-scheduler:
- Assigns tasks to a certain node considering available resources and task requirements.
- Ensures none of the nodes in the cluster is overloaded.
-
cloud-controller-manager:
- In a real-world cloud environment, this component binds the cluster with the cloud provider’s API.
- Isolates components interacting with the cloud platform from those interacting with the cluster.
Node Components
-
kubelet:
- Acts as the gateway between the control plane and each node in a cluster.
- Interacts with the etcd store to keep state information updated.
-
kube-proxy:
- Runs on each node and maintains network rules.
- Any network request reaching a service inside the cluster passes through this service.
-
Controller Runtime:
- Kubernetes runs applications in containers, so every node needs a container runtime like Docker.
Kubernetes Objects
-
Pod:
- Smallest deployable unit in the cluster.
- Can contain one or more tightly coupled containers that share network and storage resources.
-
ReplicaSet:
- Ensures a specified number of pod replicas are running at all times.
- Maintains the desired state by creating or deleting pods as needed.
-
Deployment:
- Manages updates to ReplicaSets and provides necessary updates to applications.
- Can roll back changes as necessary.
-
Service:
- An abstract way to expose an application running on a set of pods as a network service.
Example YAML Configuration
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
spec:
containers:
- name: nginx-container
image: nginx:latest
Command to Apply Configuration
kubectl apply -f <name.yaml>
Apply Command Workflow:
kubectlsends the YAML configuration to thekube-api-server.kube-api-serverreceives, validates, and processes the request, storing it inetcdas part of the desired state.kube-schedulerobserves the new desired state and makes scheduling decisions, identifying a node with available resources.kube-api-servercontacts thekubeletof the chosen node, providing necessary commands for creating the pod.kubeletinteracts with the container runtime (e.g., Docker) to start the container according to the pod’s configuration.kubeletkeeps state information updated inetcd.kube-proxyon the node sets up network rules to allow communication to and from the pod.
Was this useful? A like tells me what to write more of.
Related posts
· 6 min read · 17 reads
Build and Push a NextJs application to Docker Hub using GitHub Actions
Today I will show you how to build and push your NextJs application to the docker hub using GitHub Action. We will write a CI/CD YAML pipeline and describe each step.
Comments (1)
Arafin Ahmed
Previously, I had a confusion about the how proxy pass through the cluster. After reading this blog, I got a clear idea about the network flow.