Skip to main content

Command Palette

Search for a command to run...

Kubernetes Fundamentals: High Level

Updated
4 min read

Let’s understand some basic Kubernetes concepts. Trust me if the fundamentals are clear, becomes much easier to understand other concepts.

Kubernetes Basics:

So, what exactly is Kubernetes? — Kubernetes is an orchestration tool.

Now you might be wondering: “What does an orchestration tool actually mean?”

In simple terms, an orchestration tool is something that manages and coordinates multiple components and ensures a desired outcome is achieved automatically. Think of it like a manager in an office. Instead of employees, Kubernetes manages containers and makes sure everything runs as expected.

In the Kubernetes world, it manages things like:

  • Pods

  • Deployments

  • Scaling applications

  • Self-healing

  • Rolling updates

And most importantly, it ensures your applications remain up and running.

For example, imagine your application pod crashes unexpectedly. Would you manually log in and restart it every time? Of course not.

This is where Kubernetes shines. Kubernetes detects the failure and automatically recreates the pod to bring your application back to the desired state. That is one of the core ideas behind Kubernetes — desired state management.

The Kubernetes have two major components Control Plane and the Worker Nodes. Let's understand this at high level

Control Plane (Brain):

Think of the Control Plane as the brain of Kubernetes. It decides what should happen, when it should happen, and where it should happen. The Control Plane is made up of the following components:

  • API Server - Entry Point - You can think of it as the front door of Kubernetes.

  • Scheduler - Decides where the pod should run

  • Controller Manager - Ensures Desired state. The Controller Manager continuously checks whether the cluster is in the desired state.

  • ETCD - The Heart of Kubernetes. ETCD is a distributed key-value database where Kubernetes stores all information. Everything Kubernetes knows is stored in ETCD.

Worker Node (The Muscle Power)

As the name suggests, this is where the actual workload runs. Your applications, pods, and containers are executed inside Worker Nodes.

  • Kubelet – The Communicator - The Kubelet continuously talks to the Control Plane and performs action on the node based on configuration. Think of Kubelet as the bridge between the Control Plane and Worker Node.

  • Container Runtime - Runs container (Docker/Containerd). The Container Runtime is responsible for actually running containers.

  • kube-proxy - The kube-proxy is responsible for network communication inside the cluster.

Core Building Blocks

  • pod - Smallest unit, Runs one more more container

  • Deployment- Manager pod, handles scaling, rolling updates and self healing

  • ReplicaSet - Ensures desired number of pods are always running. Deployment uses replica set internally

  • Labels and Selectors - An internal parameter which is used to define/refer and identify pod or other components

  • Namespace : Logical Isolation

How everything works together

Consider that you have a Manifest file where you run the command kubectl apply -f app.yaml

  • Control Plane

    • API Server receives request. The API Server validates the request and accepts the configuration.

    • Once validated, Kubernetes stores the desired configuration in ETCD.

    • Controller Manager - Notices the new entry in ETCD that a new deployment needs x replicas it updates the cluster state and creates the required pod definitions. (Note the pods are not created yet only it updates the configuration)

    • Scheduler - Identifies that X replicas of pods needs to be created and check the configuration and pick a suitable node and assign to the pods

  • Woker Node

    • Kublet which runs on each worker node keeps monitoring Control Plane, the moment it sees the pod scheduled to its node it starts the creation of pod.

    • Container Runtime : The Container Runtime pulls the required image and starts the containers.

    • kube-proxy : Once the pods are running the CNI plugin assigns IP addresses to pods, while kube-proxy manages routing and communication between services and pods.

This is the high-level end-to-end flow of Kubernetes and how all the components work together.

Kubernetes in Detail

Part 1 of 6

Kubernetes in Detail is a comprehensive series that explains Kubernetes from the ground up. It covers all core and advanced Kubernetes concepts in depth, with clear explanations and practical insights.

Up next

Kubernetes Networking Tools: A Layer-by-Layer Guide to What Fits Where

Stop getting lost in the K8s networking soup. Learn exactly how traffic flows and where tools like Ingress, CNIs, and Service Meshes actually fit in.

Kubernetes Fundamentals