KCNA — What Is Kubernetes?
What Is Kubernetes?
Kubernetes (K8s) is an open-source container orchestration platform that automates the deployment, scaling, and management of containerized applications.
The Problem Kubernetes Solves
Before Kubernetes, deploying and managing applications at scale was painful:
| Challenge | Without Kubernetes | With Kubernetes |
|---|---|---|
| Deploying | SSH into servers, manually install apps | Declare what you want, K8s makes it happen |
| Scaling | Manually spin up new servers and load balancers | kubectl scale — K8s handles the rest |
| Self-healing | Monitor manually, restart crashed processes | K8s automatically restarts failed containers |
| Load balancing | Configure HAProxy/NGINX manually | Built-in service discovery and load balancing |
| Rolling updates | Take the app down, deploy new version | Zero-downtime rolling updates by default |
| Resource management | Over/under-provisioning servers | K8s packs containers efficiently on nodes |
A Brief History
| Year | Event |
|---|---|
| 2003-2004 | Google develops Borg — internal container orchestration |
| 2013 | Docker makes containers accessible to everyone |
| 2014 | Google open-sources Kubernetes (based on Borg’s design principles) |
| 2015 | Kubernetes v1.0 released; CNCF founded with K8s as the first project |
| 2018 | Kubernetes becomes the first CNCF Graduated project |
| Today | K8s is the industry standard for container orchestration |
Key Characteristics
Declarative Configuration
You tell Kubernetes what you want, not how to do it:
# "I want 3 replicas of my web app running"
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-app
spec:
replicas: 3 # Desired state
selector:
matchLabels:
app: web
template:
metadata:
labels:
app: web
spec:
containers:
- name: web
image: nginx:1.25
Kubernetes continuously monitors the actual state and reconciles it with the desired state. If a container crashes, K8s replaces it automatically.
Self-Healing
| Scenario | What Kubernetes Does |
|---|---|
| Container crashes | Restarts it automatically |
| Node goes down | Reschedules pods on healthy nodes |
| Container fails a health check | Stops sending traffic, restarts the container |
| Too many pods on one node | Spreads pods across available nodes |
Portable and Extensible
- Runs on any cloud: AWS, GCP, Azure, on-premise, or bare metal
- Runs on any OS: Linux (primary), Windows (with limitations)
- Extensible via Custom Resource Definitions (CRDs) and operators
- Vendor-neutral — governed by the CNCF, not any single company
Core Concepts (Preview)
| Concept | What It Is | Covered In |
|---|---|---|
| Cluster | A set of machines (nodes) running Kubernetes | This chapter |
| Node | A single machine in the cluster | This chapter |
| Pod | The smallest deployable unit — contains one or more containers | Chapter 3 |
| Service | A stable network endpoint to access pods | Chapter 3 |
| Deployment | Manages pod replicas and rolling updates | Chapter 3 |
| Namespace | Logical isolation within a cluster | Chapter 3 |
What Kubernetes Is NOT
| Misconception | Reality |
|---|---|
| “A container runtime” | K8s orchestrates containers — it doesn’t run them directly. Container runtimes (containerd, CRI-O) do that. |
| “A PaaS (Platform-as-a-Service)” | K8s provides building blocks but doesn’t dictate how you deploy apps. It’s more flexible than a PaaS. |
| “A CI/CD tool” | K8s doesn’t build or test your code. It’s the deployment target. |
| “Only for large companies” | K8s is used by everything from startups to enterprises. |
| “The only option” | Alternatives exist (Docker Swarm, Nomad, ECS), but K8s is the industry standard. |
Kubernetes in the Real World
Major managed Kubernetes services:
| Cloud Provider | Managed K8s Service |
|---|---|
| AWS | Amazon EKS (Elastic Kubernetes Service) |
| Google Cloud | Google GKE (Google Kubernetes Engine) |
| Azure | Azure AKS (Azure Kubernetes Service) |
| DigitalOcean | DOKS (DigitalOcean Kubernetes) |
| Oracle Cloud | OKE (Oracle Container Engine) |
Exam note: The KCNA may ask about managed vs. self-managed Kubernetes, but won’t test cloud-specific features.
Key Takeaways for the Exam
- Kubernetes is an open-source container orchestration platform donated to the CNCF by Google
- It uses declarative configuration — you tell it what you want, and it makes it happen
- Core features: self-healing, auto-scaling, rolling updates, service discovery, load balancing
- Kubernetes does NOT run containers directly — it delegates to container runtimes (containerd, CRI-O)
- It was the first CNCF Graduated project (2018)
- It’s vendor-neutral and runs on any cloud or on-premise
What’s Next?
Now that you know what Kubernetes is, let’s look at the brain of the cluster — the Control Plane.