Read time: ~

Hands-on Lab Ideas: Kubernetes Fault Injection Recipes

Reusable Kubernetes fault-injection recipes for building a chaos lab, inject real failures across pods, JVM, networking, storage, and RBAC.

Reach for this page once you’ve finished the per-module labs and want more reps, or when you’re designing your own capstone or game-day scenario. Each row is a reusable fault-injection recipe you can build into a private “chaos lab” repo, inject the fault, then diagnose it using nothing but the tools taught in the linked course lesson.

Fault-injection recipes

#Fault to injectLayerExpected learner actionCourse lesson
1Wrong image tag in DeploymentPodDiagnose ErrImagePull via describe/eventsReading Pod Status and Logs
2-Xmx set above container memory limitJVMCorrelate OOMKilled with jcmd VM.flagsCrashLoopBackOff and Exit Code Deep Dive, Heap Dumps and Memory Leak Hunting
3Readiness probe path typo (/actuator/helth)ProbeDiagnose via describe pod Unhealthy eventsCrashLoopBackOff and Exit Code Deep Dive: liveness/readiness probe-induced restarts
4Service selector label mismatchNetworkingDiagnose via empty kubectl get endpointsDNS and Service Discovery Deep Dive
5NetworkPolicy default-deny without explicit allowNetworkingDiagnose via netshoot connectivity testDNS and Service Discovery Deep Dive: NetworkPolicy blocking traffic
6ConfigMap key renamed without updating Deployment env mappingConfigDiagnose via env inside pod vs ConfigMap contentConfigMap and Secret Propagation
7HikariCP pool size > DB max connectionsJVM/DBDiagnose via thread dump showing waiting threadsThread Dumps and Deadlock Analysis
8Infinite loop / unbounded cache causing heap growthJVMCapture and analyze heap dump, find leak suspectHeap Dumps and Memory Leak Hunting
9CPU limit too low under loadResourceDiagnose via cpu.statnr_throttled vs GC logsGC Tuning and CPU Throttling in Containers
10Istio DestinationRule circuit breaker with low maxRequestsPerConnectionMeshDiagnose via Envoy access log flagsService Mesh Troubleshooting with Istio
11PVC storage class typoStorageDiagnose via Pending PVC + describe eventsPersistent Storage for Stateful Workloads
12IRSA role ARN missing a trust relationshipCloud/IAMDiagnose via AWS SDK AccessDenied + SA annotation checkCloud-Managed Clusters: EKS, GKE, and AKS
13PodDisruptionBudget blocking node drainCluster opsDiagnose stuck kubectl drainObservability: Metrics, Logs, Traces, and Autoscaling (PDB), Node and Control Plane Internals (drain mechanics)
14Admission webhook backend pod downCluster opsDiagnose cluster-wide resource creation failuresNamespaces, RBAC, and Multi-Tenancy
15SIGTERM not handled gracefully, causing dropped requests on rolloutApp lifecycleDiagnose via error spike during rollout restart, fix with preStop + graceful shutdownActuator Runbooks and Ephemeral Debug Containers

Related:Command Cheat Sheet · Assessment Rubric · Incident Runbook Template