Kubernetes Lesson 1 – What is Kubernetes | Dataplexa
Kubernetes Fundamentals · Lesson 1

What is Kubernetes

You've heard the word everywhere — in job listings, at conferences, in every "cloud-native" article you've ever scrolled past. Let's cut through the noise and understand what Kubernetes actually is, why it exists, and why it's become the operating system of the modern cloud.

The Problem Kubernetes Solves

Imagine you're running a payments API inside a Docker container. It works perfectly on your laptop. You push it to production — one container, one server. Traffic grows. The container crashes at 2 AM. Nobody notices until users start complaining. You restart it manually. Traffic grows more. You spin up a second container on a second server. Now you have to keep track of which server is running what, manually route traffic between them, and pray neither crashes simultaneously.

This is the container management hell that every engineering team hit around 2014–2016. Kubernetes was Google's answer to this problem — born from a decade of running billions of containers internally with a system called Borg.

Without Kubernetes
Container crashes → manual restart required
Traffic spike → manually spin up more containers
Deploy new version → downtime or manual coordination
Server dies → your service dies with it
With Kubernetes
Container crashes → Kubernetes auto-restarts it
Traffic spike → auto-scales containers instantly
Deploy new version → zero-downtime rolling update
Server dies → workloads reschedule to healthy nodes

The One-Line Definition (That Actually Means Something)

Kubernetes is an open-source container orchestration platform that automates the deployment, scaling, and management of containerised applications.

Let's break that phrase down because every word is doing real work:

Open-source
Google donated it to the CNCF in 2014. It's now maintained by hundreds of companies. AWS, Google, Microsoft all build their managed Kubernetes offerings on this same codebase.
Container orchestration
"Orchestration" means coordinating many containers across many machines — deciding where they run, restarting them when they fail, routing traffic to healthy ones.
Automates deployment
You describe what you want (3 replicas of my payment service, always running), and Kubernetes makes it happen — and keeps making it happen even when things go wrong.
Scaling & management
Kubernetes watches your application's health and resource usage in real time. Too much traffic? Scale up. Quiet period? Scale down. A node dies? Move workloads automatically.

The Analogy That Makes It Click

The name "Kubernetes" is ancient Greek for helmsman — the person who steers a ship. The logo is a ship's wheel. The analogy is intentional and it's a good one.

📦
Shipping
Containers
Standardised boxes that carry cargo. Don't care what's inside.
🚢
The Ship
Cluster of Servers
Many physical or virtual machines that provide compute capacity.
The Helmsman
Kubernetes
Decides where every container goes, keeps the fleet on course, responds to problems.

Before standardised shipping containers existed, loading a cargo ship was chaos — different sizes, different handling, different crews needed for every type of goods. The shipping container revolution standardised everything. Docker did exactly the same thing for software. Kubernetes is the port authority, the logistics system, and the fleet manager — all in one.

What a Kubernetes Cluster Looks Like

A Kubernetes cluster is made up of two types of machines: a Control Plane (the brain) and Worker Nodes (the muscle). Here's how they fit together — we'll go deep on every component in Lessons 5 and 6.

Kubernetes Cluster
Control Plane
API Server
Front door to the cluster
etcd
Cluster state database
Scheduler
Assigns Pods to Nodes
Controller Manager
Maintains desired state
Worker Node 1
kubelet
Talks to control plane
kube-proxy
Handles networking rules
Running Pods
payment-api
auth-svc
redis
empty
Worker Node 2
kubelet
Talks to control plane
kube-proxy
Handles networking rules
Running Pods
payment-api
frontend
notif-svc
postgres
Control signals
Node reports health back to control plane
Pod (running container/s)

Declarative: The Mental Shift That Changes Everything

The most important thing to understand about Kubernetes isn't its architecture — it's its philosophy. Kubernetes is declarative, not imperative.

Imperative (old way)
"Start container A on server 3. Then start container B on server 3. Now check if they're running. If container A crashes, run this restart script..."
You describe every step. You own every failure.
Declarative (Kubernetes way)
"I want 3 replicas of my payment service always running, with at least 512MB RAM each, updated one at a time when I deploy."
You describe the goal. Kubernetes figures out every step.

This shift is profound. With Kubernetes you write a YAML file describing your desired state. Kubernetes continuously checks reality against that desired state. Any deviation — a crashed container, a full disk, a failed node — and Kubernetes acts to restore what you declared. You'll write your first YAML in Lesson 14 and it'll make complete sense by then.

Your First Kubernetes Command

The scenario: You've just joined a fintech startup as a junior DevOps engineer. It's your first week and your lead wants you to prove you can talk to a Kubernetes cluster. There's a staging cluster already running. Your task: ask Kubernetes what's running inside it. Here's the single command that every Kubernetes engineer runs a hundred times a day.

# Ask Kubernetes to list all nodes in your cluster
# A "node" is a physical or virtual machine in the cluster
kubectl get nodes

# Ask Kubernetes to list all Pods (running containers) across all namespaces
# --all-namespaces means "show me everything, not just my default workspace"
kubectl get pods --all-namespaces
What just happened?

kubectl is the command-line tool you use to talk to Kubernetes. Every command you send goes to the API Server on the control plane, which then reads from or writes to etcd (the cluster's database of truth).

Reading the node output: You can see 3 machines — one control plane and two workers. STATUS: Ready means they're healthy and connected. VERSION: v1.28.0 tells you which Kubernetes version each node runs.

Reading the Pod output: READY: 1/1 means 1 container is running out of 1 expected — healthy. RESTARTS: 2 on the auth-service is a red flag — something crashed it twice. You'd investigate that next. kube-system namespace contains Kubernetes' own internal components — etcd, the API server, CoreDNS.

What Kubernetes did internally: Nothing — you just read state. The API Server authenticated your request, looked up the node registry and Pod list in etcd, and returned it. No changes to the cluster were made.

The Objects You'll Master in This Course

Kubernetes manages your applications through a set of objects. Think of them as LEGO bricks — each one has a specific job, and you combine them to build production-grade systems. Here's your first look at the full hierarchy:

Object What it does Covered in
Pod The smallest deployable unit. Wraps one or more containers. Lesson 8
ReplicaSet Ensures N copies of a Pod are always running. Self-heals. Lesson 9
Deployment Manages ReplicaSets. Handles rolling updates and rollbacks. Lesson 10
Service Stable network endpoint for a group of Pods. Load balances traffic. Lesson 11
ConfigMap Stores non-sensitive config data. Injected into Pods at runtime. Lesson 19
Secret Like ConfigMap, but for sensitive data (passwords, API keys). Lesson 20
Ingress HTTP/HTTPS routing rules. The entry point from the outside world. Lessons 33–34

Who Uses Kubernetes and Why It Matters for Your Career

Kubernetes is not a niche tool. As of 2024, over 5.6 million developers use Kubernetes, and it runs workloads for Spotify, Airbnb, GitHub, the New York Times, and thousands of other production systems. All three major cloud providers (AWS EKS, Google GKE, Azure AKS) offer fully managed Kubernetes.

71%
of Fortune 100 companies run Kubernetes in production
$140k+
Average US salary for engineers with Kubernetes skills
3 clouds
AWS, GCP, and Azure all have managed Kubernetes offerings
Teacher's Note

Don't get overwhelmed by the terminology in this lesson. You don't need to memorise the architecture diagram right now — you just need to understand the big picture. By Lesson 15 you'll have deployed a real application. By Lesson 30 you'll understand every component in that diagram above from first principles. Trust the sequence. The concepts compound.

Practice Questions

Type your answer and check — no tricks, just checking your understanding.

1. The name "Kubernetes" comes from ancient Greek. What does it mean in English?



2. Kubernetes uses a __________ model — you describe the desired state and it makes reality match that description.



3. What component in the Kubernetes control plane stores the entire cluster state — effectively the cluster's database?



Knowledge Check

Choose the best answer for each question.

1. Which statement best describes what Kubernetes does?


2. Where do your application's Pods (containers) actually run inside a Kubernetes cluster?


3. A Kubernetes cluster has 3 replicas of a Pod declared. One Pod crashes. Which components are responsible for noticing and restoring the desired state?


Up Next · Lesson 2

Why Kubernetes is Needed

We go deep on the problem — from bare-metal servers to VMs to containers to orchestration — tracing exactly why the industry needed Kubernetes to exist.