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

Enable Per-Pod DNS Records for a Deployment

A service in the mesh namespace returns only a single IP during DNS lookup, preventing the peer-server pods from finding each other. Investigate why DNS does not return one address per pod and change the service configuration so that peer discovery works correctly.

Submissions: 29/34
Challenge,  Medium

Extend the Cluster with an Additional Service CIDR for the dev Team

Add a new, separate Service CIDR range for the dev team using the ServiceCIDR API object — without touching or restarting the cluster's default Service CIDR — then create a Service with an explicit ClusterIP inside that new range and verify DNS resolution.

Submissions: 20/25
Challenge,  Medium

Pin a Client to the Same Pod Using Service Session Affinity

Configure a Kubernetes Service so that requests from the same client IP are always routed to the same backend Pod for a sustained period, using ClientIP-based session affinity.

Submissions: 14/17
Challenge,  Easy

Inject an Ephemeral Container into a Distroless Pod and Test Cross-Namespace HTTP

A distroless pod running in the cherry namespace has no shell or debugging tools. Use kubectl debug to attach an ephemeral container, test connectivity to the request-logger service, and verify the request was received in its logs.

Submissions: 71/90
Challenge,  Medium

Resolve a Container Port Conflict and Expose Multiple Ports Through a Single Service

A Deployment with two nginx containers has a port conflict — both containers use port 80. Fix the conflict by updating the ConfigMap, mounting it into the second container, updating the containerPort, and exposing both containers via a NodePort Service.

Submissions: 24/37