Getting Started with Kubernetes
Welcome to Kubernetes
Kubernetes (K8s) is an open-source container orchestration platform originally built by Google and now maintained by the CNCF. Where Docker Compose runs containers on a single machine, Kubernetes runs them across a cluster of machines — automatically deciding which node has capacity, restarting crashed containers, and rolling out updates without downtime.
Kubernetes is the industry standard for running containers at scale. Understanding it unlocks cloud-native architecture.
When Do You Need Kubernetes?
Kubernetes adds significant complexity. You don't need it if:
- You're running a small app on a single server — Docker + PM2 or Docker Compose is enough
- You're on a serverless path — Lambda + Fargate may be a better fit
You do need it when:
- You have multiple services that need to scale independently
- You want self-healing (automatic restart, rescheduling on node failure)
- You need sophisticated deployment strategies (canary, blue-green)
- You're working with a team that's already standardized on K8s
What You'll Learn
- Architecture — control plane, worker nodes, etcd, and how they interact
- Pods — the smallest deployable unit (one or more containers)
- Deployments — declaring desired state and letting K8s maintain it
- Services — exposing pods to network traffic within and outside the cluster
- ConfigMaps and Secrets — managing configuration and sensitive data
- Namespaces — isolating environments within a single cluster
- kubectl — the CLI for interacting with any Kubernetes cluster
- AWS EKS — running a managed Kubernetes cluster on AWS
Prerequisites
- Strong understanding of Docker and containers
- Comfort with the terminal and YAML files
- A local K8s setup: Docker Desktop's built-in K8s or
minikube