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

Provision Ephemeral Storage for a Pod Using a Generic Ephemeral Volume

Create a Pod that uses a generic ephemeral volume backed by a dynamic StorageClass. Unlike emptyDir, ephemeral volumes are provisioned as PersistentVolumeClaims and support storage requests and access modes.

Challenge

Configure a Memory-Backed emptyDir Volume with a Size Limit

A Deployment is using a disk-backed emptyDir volume. Convert it to a memory-backed tmpfs volume for better performance — but make sure to set a size limit to prevent the Pod from exhausting the node's RAM.

Challenge

Mount a ConfigMap and Secret into a Single Directory Using a Projected Volume

Combine an existing ConfigMap and Secret into one volume and mount them at a single path inside a Pod — using only one volume definition.

Challenge

Add a Sidecar Log Tailer to an Existing Deployment

Add a sidecar container to an existing Deployment that tails a shared log file written by the main application container. Use a shared volume to make the log file available to both containers.

Challenge

Deploy a Pod with a Sidecar Log Shipper Using Init Container Pattern

Create a Pod with a main application container and a sidecar container that continuously streams shared logs. Kubernetes implements sidecar containers as a special case of init containers.

Challenge

Kubernetes - emptyDir Volumes: Sharing, Lifecycle, and Memory-Backed Storage

Use emptyDir volumes to share data between containers, understand the volume lifecycle across container restarts and pod deletion, and explore memory-backed ephemeral storage.

Challenge

Provision and Configure a PersistentVolume and PersistentVolumeClaim for a Deployment

Practice static storage provisioning in Kubernetes by creating a PersistentVolume backed by hostPath, binding it to a PersistentVolumeClaim, and mounting it in a Deployment — a core CKAD skill for storage management.