Learn Everything

Containers & Orchestration

Kubernetes

Production-grade container orchestration for automated scaling, healing, and rollout.

Kubernetes (K8s) provides declarative infrastructure management at cluster scale. It continuously compares the desired state declared in manifests against real cluster state, automatically reconciling pods, load balancing traffic, rolling out zero-downtime updates, and restarting failed workloads.

advancedEst. 8-12 hrs study time7 Live LabsPart of DevOps Engineer Path ↗

Virtual Lab Ready

Automated testing sandbox running in your browser.

Launch First Lab ⚡

No local installation required

Hands-on Practice

Interactive Terminal Labs

Real environment tasks with automated validation. Write real commands, verify state, and debug errors.

7 tasks available
LAB 01
beginnerGuided Task

Run Your First Pod

Topic: Fundamentals & Pods

A Pod is one or more containers that share network and storage — the smallest thing Kubernetes runs. Create one imperatively and watch it reach the Running state.

Key Checks:

  • Pod web exists
  • Pod web is Running
Env: kubernetes 1.30 (kind)Open Lab ↗
LAB 02
beginnerPractice Task

Deploy and Scale a ReplicaSet

Topic: Deployments & Scaling

Nobody runs bare Pods in production. A Deployment keeps a chosen number of identical Pods alive and replaces any that die. Create one with 3 replicas.

Key Checks:

  • Deployment web exists
  • Deployment web is running exactly 3 replicas
Env: kubernetes 1.30 (kind)Open Lab ↗
LAB 03
beginnerGuided Task

Expose a Deployment

Topic: Services

Pods come and go, so their IPs are useless as an address. A Service gives a stable virtual IP and DNS name in front of a set of Pods.

Key Checks:

  • A Service named web-svc exists
  • The Service forwards to the web deployment on port 80
Env: kubernetes 1.30 (kind)Open Lab ↗
LAB 04
intermediateScenario

Diagnose a Crashing Pod

Topic: Debugging Workloads

A Pod called api in this cluster is stuck in CrashLoopBackOff. Find out why from its logs, identify the missing piece, and record it. Failure is part of the curriculum.

Key Checks:

  • File ~/report/crash.txt exists naming the missing environment variable
Env: kubernetes 1.30 (kind)Open Lab ↗
LAB 05
beginnerGuided Task

Apply a Manifest

Topic: YAML Manifests

Imperative commands are for learning; YAML manifests are for real life. Write a Pod manifest and apply it — the declarative workflow behind GitOps and ArgoCD.

Key Checks:

  • File ~/manifests/pod.yaml exists
  • Pod web-yaml is Running
Env: kubernetes 1.30 (kind)Open Lab ↗
LAB 06
intermediatePractice Task

Keep Configuration Out of the Image

Topic: Configuration & Resource Limits

The same image runs in staging and in production - only the configuration differs. Write a ConfigMap that holds the environment-specific settings.

Key Checks:

  • Directory ~/k8s exists
  • File ~/k8s/config.yaml declares a ConfigMap
Env: kubernetes 1.30 (kind)Open Lab ↗
LAB 07
advancedChallenge

Set Resource Limits on a Deployment

Topic: Configuration & Resource Limits

A pod without limits can starve its neighbours or monopolise the node. Declare CPU and memory limits, apply the manifest and check the rollout.

Key Checks:

  • File ~/k8s/deployment.yaml exists and declares a Deployment
  • The manifest sets CPU and memory limits
Env: kubernetes 1.30 (kind)Open Lab ↗

System Design

Control Plane & Worker Architecture

Understand how this tool operates internally before running production workloads.

Internal Mechanics

The control plane (kube-apiserver backed by etcd, kube-scheduler, kube-controller-manager) manages desired state. Worker nodes run kubelet, container runtime, and kube-proxy to schedule and network pods.

Mental Model Rule of Thumb

Never treat Kubernetes as a black box. Understanding its boundary with the kernel, filesystem, and network stack prevents 90% of production outages.

Core Architectural Subsystems

kube-apiserver

Central REST API gateway validating and persisting state to etcd.

kube-scheduler

Assigns unscheduled Pods to optimal worker nodes based on resources & affinity.

kubelet

Agent on each node ensuring containers described in PodSpecs are running and healthy.

kube-proxy

Maintains network rules on nodes using iptables/IPVS to route ClusterIP traffic.

Developer Reference

Command Reference & Cheatsheet

Curated commands, flags, and one-liners tested for everyday operational productivity.

Inspect
kubectl get pods -A -o wide

List all pods across all namespaces with assigned node IPs

Debug
kubectl describe pod <pod-name> -n <ns>

View detailed pod lifecycle events, conditions and errors

Debug
kubectl logs -f <pod-name> -c <container> --previous

Stream logs from a previous crashed container instance

Deploy
kubectl apply -f manifest.yaml

Apply declarative resource configuration to the cluster

Scale
kubectl scale deployment/<name> --replicas=5

Imperatively scale replica count of a deployment

Rollout
kubectl rollout restart deployment/<name>

Trigger a graceful rolling restart of all pods in deployment

Fundamental Primitives

Key Terminology & Primitives

Core abstractions you must master to communicate and build with confidence.

Pod

The smallest deployable computing unit, consisting of one or more co-located containers sharing network IP and storage.

Deployment & ReplicaSet

Declarative updates for Pods with replica management, rolling update strategies, and rollback capabilities.

Service & Ingress

Stable DNS endpoints (ClusterIP, NodePort, LoadBalancer) routing traffic to dynamic ephemeral Pod IPs.

ConfigMap & Secret

Decoupling configuration and sensitive credentials from container image binaries.

Production War-Stories

Common Pitfalls & Debugging Playbook

The exact errors that take down production systems and how to diagnose and resolve them.

!

CrashLoopBackOff

Symptom

Pod repeatedly crashes on startup and enters exponential backoff.

Resolution

Check 'kubectl logs <pod> --previous' and 'kubectl describe pod <pod>'. Common causes include missing environment variables, bad config files, or failed database connectivity.

!

ImagePullBackOff / ErrImagePull

Symptom

Kubelet cannot fetch container image from registry.

Resolution

Verify image repository name and tag spelling. Check imagePullSecrets for private registry credentials.

Reliability Standards

Production Readiness Checklist

Review this checklist before deploying workloads to staging or production clusters.

  • ✓Always define requests and limits for both CPU and memory.
  • ✓Configure liveness, readiness, and startup probes properly.
  • ✓Use PodDisruptionBudgets (PDB) to safeguard availability during node drains.
  • ✓Deploy across multiple availability zones using topologySpreadConstraints.
  • ✓Enforce network policies to restrict pod-to-pod east-west traffic.

Full Curriculum Track

Master Kubernetes as part of the DevOps Engineer path

Tools do not exist in isolation. Learn how Kubernetes connects with other systems, CI/CD pipelines, and infrastructure patterns.