Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Checkout Service Incident — Killercoda SRE pairing exercise

A self-contained Kubernetes incident for a senior SRE pairing interview. The candidate is dropped into a single-node cluster where the checkout service is failing after a "recent deploy," and must investigate and mitigate.

Files

File Purpose
index.json Killercoda scenario metadata (wires intro/step/finish + the boot script).
background.sh Runs invisibly on boot. This is where the incident is planted.
intro.md First screen the candidate sees — the incident framing.
step1.md The working terminal step with light orienting nudges.
finish.md Closing screen.
INTERVIEWER_GUIDE.md Private. Oracle script, expected path, scoring rubric, EKS follow-ups, difficulty knobs. Do not include in anything the candidate sees.

The incident (spoiler)

Two faults, both from one kubectl apply:

  1. Readiness probe points at port 8080; app listens on 5678 → no Ready pods → empty Service endpoints → outage.
  2. Memory request sized to ~40% of the node → only ~2 of 4 replicas schedule; the rest stay Pending.

Full detail and scoring are in INTERVIEWER_GUIDE.md.

Deploy to Killercoda

  1. Put this directory in a Git repo (e.g. checkout-incident/ at the root).
  2. In Killercoda: Creators → Repository, add your repo name + branch, and register the Deploy Key under your GitHub repo's Settings → Deploy Keys, plus the webhook (Payload URL + Secret, content type JSON) under Settings → Webhooks.
  3. Push. Killercoda syncs on every push. Find it under Creators → Scenarios.

Authoring note: the schema is details.intro / details.steps[] / details.finish, each pointing at a markdown file, with optional background/foreground scripts on intro and finish only. Backend image is kubernetes-kubeadm-1node (or kubernetes-kubeadm-1node-4GB for more headroom). You can scaffold/validate structure with pip install killercoda-cli.

Test it before you use it

Boot the scenario, wait ~30s, then:

kubectl get pods -n shop          # expect ~2 Running (0/1 READY), ~2 Pending
kubectl get endpoints -n shop     # expect none

If all four pods pend, your node is too small — switch to the 4GB image or lower the 40% factor in background.sh.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages