Skip to content

Labs

Small production failures. Concrete actions. Use the terminal to investigate each incident, apply a safe change, and prove that it worked.

Hands-on practice

Choose an incident

10
Beginner 8 min

The pods that won't stay up

A hands-on Kubernetes debugging lab using simulated kubectl commands and configuration changes.

# Kubernetes# Debugging# Deployments
Start lab
Beginner 7 min

The service with no endpoints

A hands-on Kubernetes networking lab for debugging a Service selector that no longer matches its Pods.

# Kubernetes# Networking# Services
Start lab
Beginner 8 min

A safe tunnel to PostgreSQL

Reach a private PostgreSQL Service with kubectl port-forward, without exposing the database publicly.

# Databases# PostgreSQL# Kubernetes# Networking
Start lab
Intermediate 10 min

The ALB with healthy instances and no traffic

Diagnose an AWS Application Load Balancer whose target health check still uses a removed path.

# AWS# Networking# ALB# Terraform
Start lab
Intermediate 10 min

The private hostname pointing to yesterday

Follow DNS evidence from resolver to route and correct a stale private record after an ingress migration.

# Networking# DNS# AWS# Troubleshooting
Start lab
Intermediate 11 min

The role that can read S3 but not the secret

Trace an AWS AccessDenied across S3 and KMS, then grant the workload only the missing decrypt permission.

# AWS# IAM# KMS# Security
Start lab
Advanced 12 min

PostgreSQL has no connections left

Find an oversized application pool and idle transactions before they turn connection pressure into an outage.

# PostgreSQL# Databases# Connection pools# Reliability
Start lab
Advanced 12 min

The Terraform lock nobody owns

Investigate a remote state lock, prove that no run is active, and remove only the orphaned lock.

# Terraform# State# AWS# Operations
Start lab
Advanced 14 min

The query that scans twelve million orders

Read an execution plan and add one composite index that matches the production query's filter and sort.

# MySQL# Databases# Indexes# Performance
Start lab
Advanced 15 min

The policy that allows the API but blocks its names

Debug a default-deny Kubernetes egress policy that permits the database IP path but silently blocks DNS.

# Kubernetes# Networking# NetworkPolicy# DNS
Start lab