Challenges

Focused, hands-on problems for sharpening your DevOps and server-side skills. Some teach specific concepts while others mirror real-world scenarios. Every challenge includes hints, feedback, and automated solution checks.

Collection
Category
Difficulty
Challenge ·Medium

Debug a Pod Stuck at 0/1 Ready Due to a Readiness Probe

A new intern learning about probes wrote a small Pod manifest. The exec command and the application are both correct, but the Pod never becomes Ready because one probe parameter is missing. Find it and add it.

Submissions: 20/27
Challenge ·Medium

Pick and Deploy the Least Permissive NetworkPolicy

The security team left five NetworkPolicy files on the workstation. Only one of them lets the frontend reach the backend while granting nothing more. Identify it and deploy it, unchanged.

Submissions: 7/7
Challenge ·Medium

Access a Private Kubernetes API Server Through an SSH SOCKS Proxy

The production Kubernetes cluster lives inside a private VPC, and its API server has no public endpoint. Turn an SSH connection to the bastion host into a SOCKS proxy and teach kubectl to use it, so the cluster becomes manageable from your workstation.

Submissions: 33/51
Challenge ·Medium

Kubernetes - Multi-Container Pod Design Patterns

Build five ways to combine containers in one Pod: a sidecar that extends the app, an init container that finishes before the app starts, a native sidecar with a startup guarantee, an ambassador that mutates an outbound call, and an adapter that translates an inbound one.

Challenge ·Medium

CKA Practice: Renew Expiring Control Plane Certificates

kubectl is dead: the kube-apiserver certificate expired and the control plane is down, while the workload quietly keeps serving. Diagnose the expiry offline, renew the certificates, bring the control plane back, and prove the cluster recovered.

Submissions: 12/18
Challenge ·Medium

CKA Practice: Recover a Broken Static Control-Plane Pod

Every kubectl command against a kubeadm cluster fails, and the workload is still serving. With no API to query, the usual tools tell you nothing. Work from the node itself to find what broke and bring the control plane back.

Submissions: 14/16
Challenge ·Medium

Issue Per-Pod mTLS Certificates with PodCertificateRequest

Kubernetes 1.37 can hand every pod its own short-lived X.509 identity, no service mesh and no sidecar involved. The API is served out of the box, but it issues nothing without a signer, and a request nobody answers leaves the pod waiting forever. Get a stalled workload its certificates, give its client an identity of its own, and make the server actually enforce mutual TLS.

Submissions: 15/19
Challenge ·Medium

Extend kubectl with a Custom Image-Inspection Plugin

A helper script that lists every container image running in the cluster — along with its on-disk size and the workload that uses it — has been downloaded to cplane-01. Install it as a kubectl plugin named kubectl-images so that kubectl images works from any directory.

Submissions: 20/23
Challenge ·Medium

Provision Ephemeral Storage for a Pod Using a Generic Ephemeral Volume

Create a Pod that uses a generic ephemeral volume backed by a dynamic StorageClass. Unlike emptyDir, ephemeral volumes are provisioned as PersistentVolumeClaims and support storage requests and access modes.

Submissions: 25/29