Kubernetes Workloads: Pods
Build a Pod from scratch, exec into it, try to edit an immutable field, explore all three restart policies, and observe graceful termination.
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.
Build a Pod from scratch, exec into it, try to edit an immutable field, explore all three restart policies, and observe graceful termination.
Create a Pod that uses a postStart lifecycle hook to write a custom message to the nginx welcome page, expose it via a NodePort Service, and verify the hook ran successfully.
A Pod is running nginx and exposed via NodePort. Copy a local HTML file into the running Pod so NGINX serves it as the default homepage using only imperative commands.
Create a Pod that does not mount the default ServiceAccount token, preventing it from accessing the Kubernetes API server.
Create a LimitRange in a namespace to enforce minimum, maximum, and default resource constraints for containers, then deploy a compliant Pod.
Create a static pod named mcp-grafana on node-01 and delete an existing pod from the cluster.
Create a ServiceAccount with permissions to access only that specific Secret using RBAC resourceNames restriction.
Convert an existing Pod manifest into a Deployment and move the hardcoded environment variables into a Kubernetes Secret.
Create a Pod with ConfigMap volume mount, expose it via ClusterIP Service, and test connectivity from another namespace. This combines multiple Kubernetes concepts.
Inject ConfigMap values as environment variables into a Kubernetes Pod.