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

Reclaim a Retained PV with a New PVC and Restore a Lost MariaDB Database

A MariaDB deployment and its PVC were accidentally deleted. The PersistentVolume survived due to its Retain policy. Restore the database by rebinding the existing PV without losing any data.

Challenge

Kubernetes - Dynamic Provisioning with StorageClass

Explore how the DefaultStorageClass admission controller injects storage classes, explicitly name a StorageClass, switch the cluster default, and inspect where local-path stores volumes on the node.

Challenge

Kubernetes - PersistentVolume Static Binding Patterns

Learn the three static PV binding patterns - generic match, label selector, and bidirectional claimRef - then use a no-provisioner StorageClass with WaitForFirstConsumer to pin storage to a specific node.

Challenge

Provision Dynamic NFS CSI Storage to Restore Stuck Deployments

A production deployment is stuck in Pending because its PersistentVolumeClaim and StorageClass are missing. Set up NFS-backed storage and watch all pods come alive and write shared data across nodes.

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.