MediumKubernetes — Part -01. This page or file documents my journey… | by Anush Lobo | Oct, 2026 | Medium
Sitemap
Anush Lobo

Anush Lobo

Kubernetes — Part -01

7 min readOct 22, 2026

--

This page or file documents my journey of transfering monolithic architecture codebase into microservices

this is going to be a multi part document because of the vast concept in it stick on with me and see the important concept that we might have to face during this process.

cluster, node, and Pod.

Cluster

what is cluster? and why do we have the concept called cluster ?

A cluster is a group of computers that work together as one. A node is one computer inside the cluster.

A Kubernetes cluster is a group of connected machines managed by Kubernetes to run and manage applications.

In this example:

  • 2 nodes are the machines that run your workloads.
  • 5 Pods run the five microservices.
  • Each Pod typically contains one application container in this example.

A Pod is the Kubernetes unit that gets scheduled onto a node. A node can run multiple Pods.

What exactly is a node?

Think of a node as a computer that provides resources for running applications.

A node could be:

  • A physical server.
  • A virtual machine on a cloud provider.
  • A virtual machine running locally for development.

Pod

You might be wondering:

“If a node is a machine, can I directly place my Docker container inside it?”

Kubernetes introduces an abstraction called a Pod.

A Pod is the smallest deployable unit in Kubernetes.

Kubernetes schedules Pods onto nodes. A Pod contains one or more containers.

For most ordinary applications, a Pod contains one application container.

             KUBERNETES CLUSTER
|
v
NODE 1
|
v
POD 1
|
v
FRONTEND CONTAINER

Notice the relationship:

  • The cluster manages the overall environment.
  • The node provides the machine resources.
  • The Pod is the unit Kubernetes schedules.
  • The container runs your application process.

One important distinction: Kubernetes doesn’t automatically create a Pod for every Docker container you build. You need to create or configure a Kubernetes workload, such as a Deployment, that manages the Pods.

One final distinction: a microservice is an application/service; a container is a way to package and run it; a Pod is the Kubernetes workload unit; and a node is the machine running the Pod.

Kubernetes

Kubernetes is a container orchestration platform.

It helps you deploy, manage, scale, and recover containers across a cluster of machines.

just in case any interview they ask why did u choose kubernetes and what are the alternatives then u can answer

  1. Docker Swarm — Has a smaller ecosystem of extensions and integrations, so you may find fewer options for advanced platform requirements
  2. HashiCorp Nomad — Some capabilities, such as service discovery and secrets management, typically require integrating other tools, whereas Kubernetes provides native resources for several of these functions.
  3. Red Hat OpenShift — Adds enterprise features and operational complexity, and still relies on Kubernetes underneath rather than replacing it.
  4. Amazon ECS — It is closely tied to AWS, making it less portable to other cloud providers than Kubernetes configurations designed for multiple environments.

5. Docker Compose — It is primarily designed to manage multi-container applications, not to provide Kubernetes-style cluster orchestration across multiple machines.

Get Anush Lobo’s stories in your inbox

Join Medium for free to get updates from this writer.

6. Google Cloud Run — Offers less control over the underlying cluster and networking infrastructure because Google manages the platform for you.

Why Kubernetes uses a cluster

  1. If one machine dies, the app keeps running (work moves to another machine).
  2. When traffic grows, add more machines without rewriting the app.
  3. I manage one thing: I say “run my 5 services” and Kubernetes decides where.

Step 1: The Problem with a Single Computer

Imagine you built an online shopping website:

  1. You run the website on a single computer.
  2. At first, only 10 people visit per day. Everything works fine.
  3. Suddenly, your website goes viral, and 50,000 people show up at the same time.
  4. That single computer runs out of memory, freezes, and crashes. Your website goes completely offline.
  5. Even worse: if that crash happens at 3:00 AM while you are asleep, your website stays dead until you wake up and fix it manually.

Step 2: What is a “Cluster”?

To prevent your website from dying when one machine fails, you can connect multiple computers together with cables so they can share the workload.

  • A cluster simply means a group of computers connected together to work as one single team.
  • Each individual computer inside that group is called a node.

If one computer in the team dies, the other computers can take over the work so your website never shuts down.

Step 3: What is “Kubernetes” (and Why Do We Need It)?

Now you have a team of 10 computers (a cluster), but running a team requires management:

  • Who decides which computer should handle which customer?
  • If Computer #3 crashes at midnight, who notices and restarts the website on Computer #4?
  • If millions of people visit on Black Friday, who launches 20 more copies of your website to handle the rush?

kubernetes is a platform that is used to manage and control the scalling and manage and deployment of the containerized application

It acts as a brain for managing all the containers together.

At the center of every kubernetes cluster is a standard structure architecture which is made up of two main part those are

master node also know as the control plane and the worker node

Press enter or click to view image in full size
Press enter or click to view image in full size

1 API Services

Kubernetes’ central communication point.

its like the entry point for the kubernetes .

The API Server is not the container that runs your React application. It is part of the machinery that manages the Kubernetes cluster.

If u are a beginner like me u might be think the request that the API server handles are the api calls that is made when u run ur frontend application and in this case its not those api request in here all the request that the user in a scene the client sends using the kubectl that inspects or asks for the update or the enquiry of the cluster is handled by the API Server in the master node

The Kubernetes API Server handles requests to manage and inspect the Kubernetes cluster. It is not the API server that normally handles requests from users of your React application.

Your terminal

kubectl get nodes

Kubernetes API request

Kubernetes API Server

Part of the control plane

Processes requests to inspect or manage Kubernetes resources

this api servers validate the client and then accept the command.

schedular

it is the tool that is used to assign the pods to the worker node .lets say u made the request to the api server to create a new pod the schedular is going to check the availability of the node or check which node has enough capacity to launch this pod .

once everything is decided the schedular provides the information to the api server

Press enter or click to view image in full size

and the api server tells or gives in this information to the kubelet and then the pod is created

controller manager

its used to manage the entire cluster and to make sure that everything is fine as u have defined inside your manifested files. lets say u have said for the 4 pods to run so this makes sure that the 4 pods are running

and it does it by comparing the desired state with the actual state of the cluster and the state is saved in the next coponent

etcd

it stores the state information of the cluster in the kubernetes cluster a key value pair. and also saves the configuration details

Press enter or click to view image in full size

worker node

kubelet

so pods are the smallest deployable unit that runs the container and a pod can have multiple container in it .

to deploy and manage pod inside the worker node there is an agent named as kubelet .it runs on all worker node and it gets the information from the master node to decide where should the pod running and how to manage it .

CRI

and to run the container we have the container runtime interface such as docker others are dockerd

Queue proxy

to make the end user access the pods and in order to facilitate the communication between the pods we have this tool.

minikube

Press enter or click to view image in full size

I will continue with the minikube in the next part so please go check it out .

--

--