DevOps · Kubernetes Basics
Kubernetes for Beginners: Where to Start in 2026
Quick summary — where beginners should start with Kubernetes
Kubernetes beginners should start by learning Linux, Docker and YAML, then run a free local cluster with kind or minikube, deploy an app using Pods, Deployments and Services, and finally add ConfigMaps, Secrets, health probes and scaling. Learn the core objects deeply before advanced tools such as Helm or service meshes.
In this guide you will learn:
- Prerequisites — before Kubernetes.
- How to run a local cluster — for free.
- Core objects and configuration — with working YAML.
- A beginner learning plan — and practice project.
- Interview questions — for Kubernetes beginners.
SECTION 01Prerequisites and a local cluster
Kubernetes runs containers, so it makes much more sense once you are comfortable with Docker. You also need basic Linux commands, networking ideas such as ports and DNS, and YAML, the format Kubernetes uses for configuration. Then you can practise for free on your own laptop with a local cluster tool such as kind or minikube, without paying for a cloud account. Here is what to have in place:
| Prerequisite | Why it matters | Minimum level | Quick practice |
|---|---|---|---|
| Docker | Kubernetes runs container images | Build, run and push an image | Containerise a small web app |
| Linux basics | Debugging inside containers | Files, processes, logs | Use a Linux shell daily |
| Networking basics | Services, ports and DNS | Ports, IPs, HTTP | Curl your own app |
| YAML | All Kubernetes objects are YAML | Indentation, lists, maps | Write a few small YAML files |
#!/usr/bin/env bash
# Requires Docker, kind and kubectl installed
set -euo pipefail
kind create cluster --name learn
kubectl cluster-info --context kind-learn
kubectl get nodes
kubectl get pods -A # system pods that run the cluster
# Delete when finished:
# kind delete cluster --name learn
kubectl get nodes # cluster machines
kubectl get pods # pods in the default namespace
kubectl get all # common objects
kubectl describe pod <name> # details and events
kubectl logs <pod-name> # container logs
kubectl exec -it <pod-name> -- sh # shell inside a container
kubectl apply -f app.yaml # create or update from YAML
kubectl delete -f app.yaml # remove those objects
SECTION 02Core objects: Pods, Deployments and Services
Most beginner Kubernetes work uses a small set of objects. A Pod runs one or more containers. A Deployment keeps a chosen number of Pods running and handles updates. A Service gives those Pods a stable name and address so other apps or users can reach them. Learn these three deeply before moving on, because almost everything else builds on them:
| Object | Plain English meaning | Why it exists | Beginner tip |
|---|---|---|---|
| Pod | Smallest unit; wraps one or more containers | Runs your container | Rarely create Pods directly |
| Deployment | Keeps N Pods running and updates them | Self-healing and rolling updates | Use for stateless apps |
| Service | Stable address in front of Pods | Pods come and go; Services stay | Match labels exactly |
| Namespace | A folder-like grouping of objects | Organise and separate work | Create one per project |
apiVersion: apps/v1
kind: Deployment
metadata:
name: hello
spec:
replicas: 2
selector:
matchLabels: { app: hello }
template:
metadata:
labels: { app: hello }
spec:
containers:
- name: web
image: nginx:1.27
ports: [{ containerPort: 80 }]
---
apiVersion: v1
kind: Service
metadata:
name: hello
spec:
selector: { app: hello }
ports:
- port: 80
targetPort: 80
#!/usr/bin/env bash
set -euo pipefail
kubectl apply -f app.yaml
kubectl rollout status deployment/hello
kubectl get deploy,pods,svc -l app=hello
# Self-healing: delete the pods and watch new ones replace them
kubectl delete pod -l app=hello
kubectl rollout status deployment/hello
kubectl get pods -l app=hello
# Reach the service from your laptop
kubectl port-forward svc/hello 8080:80 >/dev/null &
PF_PID=$!
sleep 2
curl -s localhost:8080 | head -5
kill "$PF_PID"
SECTION 03Configuration, health checks and scaling
Once your app runs, the next step is making it behave like a real service. ConfigMaps and Secrets keep configuration out of images. Readiness and liveness probes tell Kubernetes when a container can receive traffic and when it needs restarting. Resource requests and limits help the scheduler place Pods sensibly, and scaling changes the number of replicas. These habits appear in almost every real cluster:
| Feature | What it does | Example | Why it matters |
|---|---|---|---|
| ConfigMap | Stores non-secret configuration | APP_MODE=production | Same image, different settings |
| Secret | Stores sensitive values | Database password | Keeps secrets out of images |
| Probes | Check readiness and liveness | HTTP /health endpoint | Traffic only to healthy Pods |
| Requests, limits and scaling | Reserve resources; change replicas | cpu: 100m; replicas: 3 | Stable, right-sized apps |
apiVersion: v1
kind: ConfigMap
metadata:
name: hello-config
data:
APP_MODE: "production"
---
apiVersion: v1
kind: Secret
metadata:
name: hello-secret
type: Opaque
stringData:
DB_PASSWORD: "change-me" # practice only; use a secrets manager in real systems
spec:
template:
spec:
containers:
- name: web
image: nginx:1.27
envFrom:
- configMapRef: { name: hello-config }
- secretRef: { name: hello-secret }
readinessProbe:
httpGet: { path: /, port: 80 }
periodSeconds: 5
livenessProbe:
httpGet: { path: /, port: 80 }
initialDelaySeconds: 10
resources:
requests: { cpu: 100m, memory: 64Mi }
limits: { cpu: 250m, memory: 128Mi }
# Scale: kubectl scale deployment hello --replicas=3
SECTION 04Kubernetes beginner learning plan
Use these templates to learn Kubernetes in a sensible order:
Week 1 Docker refresher, YAML, kind or minikube, kubectl basics
Week 2 Pods, Deployments, Services, labels, namespaces
Week 3 ConfigMaps, Secrets, probes, requests and limits, scaling
Week 4 Practice project, troubleshooting drills, notes
Later: Ingress, Helm, persistent volumes, HPA, a managed cloud cluster
Project: Deploy your own containerised API on kind
- Build the image and load it into kind (kind load docker-image)
- Deployment with 2 replicas, probes and resources
- Service and port-forward to test
- ConfigMap for settings, Secret for a password
- Rolling update to a new image tag, then rollback
- README with commands and a simple diagram
Practise fixing these on purpose:
1. Wrong image tag -> Pod in ImagePullBackOff
2. App crashes on start -> CrashLoopBackOff; read kubectl logs
3. Service selector typo -> no endpoints; kubectl get endpoints
4. Bad readiness path -> Pod never Ready; kubectl describe
5. Too-low memory limit -> OOMKilled; check events
Write down the symptom, command used and fix for each.
SECTION 05Tips for Kubernetes beginners
These habits make learning Kubernetes much smoother:
- Learn Docker first — Kubernetes makes sense once containers do.
- Practise locally — kind or minikube are free and safe.
- Master three objects — Pods, Deployments and Services first.
- Read events and logs — kubectl describe and logs solve most problems.
- Break things on purpose — troubleshooting drills build real confidence.
SECTION 06Interview Q&A — Kubernetes basics
Q1What is the difference between a Pod and a Deployment?
A Pod runs containers; a Deployment manages a set of identical Pods, keeping the desired number running and handling rolling updates.
Q2Why do we need a Service?
Pods are temporary and their IPs change. A Service provides a stable name and address that routes traffic to matching Pods using labels.
Q3What is the difference between readiness and liveness probes?
Readiness decides whether a Pod receives traffic; liveness decides whether a container should be restarted.
Q4How would you debug a Pod stuck in CrashLoopBackOff?
Check kubectl logs for the container, kubectl describe for events, verify configuration and environment variables, and test the image locally.
Q5What are resource requests and limits?
Requests are the resources reserved for scheduling; limits are the maximum a container may use before being throttled or killed.
SECTION 07Test yourself — Kubernetes basics quiz
Five questions. No sign-up.
0 / 5Pick an answer to see why it is right or wrong.
SECTION 08Frequently asked questions
Where should a beginner start with Kubernetes?
Learn Docker, Linux basics and YAML, then create a local cluster with kind or minikube and deploy a simple app using a Deployment and a Service.
Is Kubernetes hard to learn?
It has many concepts, but beginners can become productive by focusing on Pods, Deployments, Services, configuration and troubleshooting first.
Do I need a cloud account to learn Kubernetes?
No. Local tools such as kind and minikube let you learn for free on your laptop. Managed cloud clusters can come later.
Should I learn Docker before Kubernetes?
Yes. Kubernetes manages containers, so understanding images and containers first makes Kubernetes much easier.
How long does it take to learn Kubernetes basics?
With regular practice, many learners become comfortable with core objects in a few weeks. Production-level skills take longer.
SECTION 09Related reads
Classroom & online · Noida
Learn Kubernetes with hands-on labs
Our DevOps Training Course covers Linux, Docker, Kubernetes, CI/CD, cloud and monitoring with guided labs and projects.
Talk to a counsellor for current fees- Docker and Kubernetes
- CI/CD pipelines
- Hands-on labs
- Weekday & weekend batches