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

Community Collection

Challenges contributed by the community members sharing their knowledge and expertise.

Challenge,  Medium

Grant Read-Only Access to a Developer Using RBAC Role and RoleBinding

A developer named siddhi requires read-only access to specific resources in the production namespace. Create a Role and RoleBinding to grant the minimum required permissions without any write access.

Submissions: 25/26
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: 22/30
Challenge,  Medium

Troubleshoot CrashLoopBackOff Caused by a Missing TLS Secret

A deployment is failing because the application cannot load its TLS certificate. Create the missing secret and mount it into the deployment so the Flask app can serve TLS traffic.

Submissions: 32/45
Challenge,  Easy

Verify Kernel Isolation Between Kata Containers and runc Using RuntimeClass

Prove that Kata Containers Pods run inside a dedicated VM with a separate guest kernel, completely isolated from the host kernel, by comparing kernel versions across runc and Kata runtimes.

Submissions: 21/29
Challenge,  Medium

Configure Selective Pod-to-Pod Communication Using NetworkPolicies Under Default-Deny

Learn how to control traffic between Pods using Kubernetes NetworkPolicy. Apply a default deny-all policy and then selectively allow only the traffic that is required between frontend and backend Pods.

Submissions: 15/17
Challenge,  Medium

Schedule a Maintenance Pod with Host Namespace Access Using Taints, Tolerations, and NodeSelector

Learn how to taint a node, schedule a Pod using nodeSelector and tolerations, and share the host network, PID, and IPC namespaces with the Pod.

Submissions: 15/18