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.
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.
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.
Practice real-world disaster recovery — restore a deleted production workload by restoring an etcd snapshot and reconfiguring the etcd static pod to use the recovered data directory.
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.
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.
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.
A Pod must be fully isolated from the cluster network. Deny all incoming traffic and block all outgoing traffic except DNS queries on port 53.
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.
Enforce Kubernetes security best practices by disabling automatic ServiceAccount token mounting and providing a short-lived projected token to the application Pod.
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.
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.