gitwtfhub

wtf is kubernetes-troubleshooting-lab?

saif-hadd/kubernetes-troubleshooting-lab — explained in plain English

Analysis updated 2026-05-18

21NoneAudience · ops devopsComplexity · 3/5LicenseSetup · moderate

TL;DR

A hands on lab with fifteen realistic Kubernetes failure scenarios, each with diagnosis steps and fixes, for practicing production troubleshooting.

Mindmap

mindmap
  root((k8s lab))
    What it does
      15 failure scenarios
      Runnable on real clusters
      SRE style writeups
    Failure planes
      Workload issues
      Scheduling and capacity
      Network and storage
      Control plane
    Method
      Five question triage
      Diagnosis to resolution
      Best practices
    Use cases
      Practice on call skills
      Train new engineers
      Build diagnostic habits
    Audience
      DevOps engineers
      Platform engineers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Practice diagnosing a CrashLoopBackOff or OOMKilled pod using real kubectl commands

REASON 2

Learn to trace networking failures across CoreDNS, ingress, and network policies

REASON 3

Train new DevOps engineers using a repeatable five question triage method

What's in the stack?

KuberneteskubectlMinikubeKindAmazon EKS

How it stacks up

saif-hadd/kubernetes-troubleshooting-labstealthyboy93/bibata-catppuccin-cursorsuqiyue2001/vibe-coding-prd
Stars211916
LanguageNoneNoneNone
Setup difficultymoderateeasyeasy
Complexity3/51/51/5
Audienceops devopsgeneralvibe coder

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Requires a running Kubernetes cluster such as Minikube, Kind, or EKS.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

Wtf does this do

This repository is a hands on training lab for troubleshooting Kubernetes, aimed at engineers who want to practice the kind of diagnostic work expected from a mid level or senior DevOps or platform engineer. It contains fifteen realistic failure scenarios, each one runnable on Minikube, Kind, or Amazon EKS, and each modeled on incidents that actually happen in production clusters. Every scenario follows the same structure: an overview of what is failing and why it matters, the exact symptoms an operator would see through kubectl commands, the root cause, a step by step diagnosis path, several possible fixes with their tradeoffs, best practices to prevent the issue from happening again, and production tips drawn from experienced platform engineers. The scenarios are grouped by the layer of the system they touch. Workload level problems include CrashLoopBackOff, ImagePullBackOff, out of memory kills, and CPU throttling. Scheduling and capacity problems include pods stuck in a pending state, nodes that are not ready, and autoscaling issues with Karpenter. Networking problems cover CoreDNS failures, broken ingress routing, and network policies blocking traffic. There is a storage scenario about persistent volume claims stuck pending, and control plane scenarios covering RBAC permissions, etcd, and the Kubernetes API server itself. The README also teaches a general five question triage method: what is failing, where it is failing, why it is failing, since when, and how far the blast radius reaches. This method is meant to build a repeatable way of thinking rather than memorized commands, so it should transfer to problems the lab does not explicitly cover. Each scenario lives in its own folder with a Kubernetes manifest that reproduces the failure, plus any supporting service or configuration files needed. The project is licensed under MIT and welcomes contributions, with a roadmap for adding more scenarios over time. No specific programming language is listed for the repository, since it is built almost entirely from YAML manifests and Markdown documentation rather than application code.

Yoink these prompts

Prompt 1
Walk me through diagnosing the CrashLoopBackOff scenario in this lab step by step
Prompt 2
Explain the difference between the workload, scheduling, and network failure planes covered here
Prompt 3
Help me set up scenario 07 for CoreDNS failures on Kind
Prompt 4
Quiz me on the five question triage method this repo teaches

Frequently asked questions

wtf is kubernetes-troubleshooting-lab?

A hands on lab with fifteen realistic Kubernetes failure scenarios, each with diagnosis steps and fixes, for practicing production troubleshooting.

What language is kubernetes-troubleshooting-lab written in?

Mainly None. The stack also includes Kubernetes, kubectl, Minikube.

What license does kubernetes-troubleshooting-lab use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is kubernetes-troubleshooting-lab to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is kubernetes-troubleshooting-lab for?

Mainly ops devops.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.