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.
A Deployment running a distroless Chainguard nginx image (cgr.dev/chainguard/nginx) is deployed in the namespace webapps, fronted by a ClusterIP Service. Port-forward that Service to localhost port 3333 on cplane-01, use curl to save the response body to /home/laborant/index.html, and verify the file is accessible and contains the expected content.
Use kubectl proxy to open a local, already authenticated HTTP endpoint to the Kubernetes API server, then use curl to list every Secret in the gliese-581 namespace and save the raw JSON response to /home/laborant/secret-list.json.
A remote VM serves an app on port 80 and keeps an internal debugging port bound to 127.0.0.1. Reach the debugging port from your workstation using an SSH tunnel, without exposing it on the VM's external interface.
Write your first TCP client for a push-only telemetry server that starts sending sensor readings as soon as you connect. Likely the easiest way to get started with TCP socket programming.
Managing HTTP routing with Kubernetes Ingress resources the imperative way - host-based routing across namespaces, path-based routing, and a catch-all rule.
Hone your Linux networking skills by setting up routing that lets two isolated private networks communicate.
Test your Linux and Networking skills by identifying which port a service is using. Sounds easy? Perhaps, but be careful - you only get one shot!
Test your Linux and Networking skills by pinpointing a process that is listening on a given port. Sounds easy? Perhaps, but be careful - you only get one shot!
This exercise tests your ability to configure kubernetes network policies to make sure only pods with specific labels can communicate with each other.