Challenges

Focused hands-on problems designed to help you hone your DevOps or Server Side skills. Some challenges are more educational, while others are based on real-world scenarios. The platform provides hints and feedback for each challenge, including automated solution checks.

Collection
Category
Difficulty
Challenge,  Hard

Troubleshoot Why the Calendar Todo App Pods Are Stuck in Pending

The production "Calendar Todo" web application has been deployed in the prod namespace but all pods are stuck in Pending. Investigate the cluster, identify why the application cannot run, fix the underlying node issue, and verify the app is serving traffic on NodePort 31777.

Submissions: 17/27
Challenge,  Hard

Klustered: Level Three

Make sure the Klustered deployment is running and that you can browse to it and see the counter increase with each refresh.

Submissions: 30/64
Challenge,  Hard

Disable API Server NodePort and Configure kube-scheduler Resource Requests

Configure the kube-scheduler static pod with CPU resource requests based on node allocatable, and disable the NodePort access to the Kubernetes API server so it is only reachable via ClusterIP.

Submissions: 21/28
Challenge,  Hard

Purge an Accidentally Pushed Image From a Container Registry

Sometimes an image needs to be removed from a registry - because it was pushed by mistake, contains sensitive data, or simply should no longer be available. Practice purging a container image properly: remove the tag, trace it to the manifest and blobs behind it, and make sure the image can no longer be pulled - even by digest.

Submissions: 48/112
Challenge,  Hard

Assemble and Publish a Multi-Platform Image from Single-Platform Variants

An internal service is halfway through a Python-to-Go rewrite: the amd64 build already runs the new Go code while arm64 still ships the legacy Python one - same API, two completely different codebases and Dockerfiles. Can you build and push a single multi-platform image from the two independent single-platform variants?