Kubernetes Course
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.
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:
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.
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.
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.
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
NAME STATUS ROLES AGE VERSION control-plane Ready control-plane 14d v1.28.0 worker-node-01 Ready <none> 14d v1.28.0 worker-node-02 Ready <none> 14d v1.28.0 NAMESPACE NAME READY STATUS RESTARTS AGE kube-system coredns-5d78c9869d-4xvzk 1/1 Running 0 14d kube-system etcd-control-plane 1/1 Running 0 14d kube-system kube-apiserver-control-plane 1/1 Running 0 14d kube-system kube-scheduler-control-plane 1/1 Running 0 14d default payment-api-7d4b9c8f6-x2p9k 1/1 Running 0 2d default payment-api-7d4b9c8f6-mn7ql 1/1 Running 0 2d default auth-service-6c5f8d9b4-k8sj2 1/1 Running 2 2d
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.
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.