Payments service, mission 3 of 4

No shell

advanced, about 15 minutes, in the Kubernetes Simulator

The briefing

From Dana Kowalski, on-call lead at Larchwood (a fictional company)

Platform is moving the payments database this morning. If payments stops being ready, the logs won't help much — they only say upstream database unavailable.

And the image is distroless: there's no shell to kubectl exec into. kubectl debug adds a temporary container with tools to a running pod, sharing its network. Find out what payments can't reach, and fix it.

What you'll do

  • payments: 2 ready replicas
  • payments reaches its database by a name that resolves
  • Bonus star: Look from inside with kubectl debug before changing anything

The mission checks the cluster, not your keystrokes: any fix that works, passes.

Concepts

  • kubectl debug

    Adds an ephemeral container to a running pod: same network, and with --target the same process view, but your choice of image — busybox has nslookup and wget. Without -it, it runs one command; kubectl logs POD -c reads its output. It can't be removed, and it never changes the app's container.

    Read the Kubernetes docs

Read first

More Payments service missions

  1. 1. Migrate, then release
  2. 2. Not dead, just slow
  3. 3. No shell
  4. 4. Charged twice
Every Kubernetes Simulator mission

AboutGuidesCompare

PrivacyCookiesTerms

Hackademy is a trading name of Mather Software Ltd, registered in England and Wales, company number 17443861. ICO registration ZC256628.

Contact: support@mathersoftware.com© 2026 Mather Software Ltd