CKAD Application Observability and Maintenance Practice Question
A pod has been scheduled on a node but is stuck in 'ContainerCreating' state. The team suspects a missing storage class. Which command would best confirm this?
⚠ Common exam trap
A common mix-up: candidates assume checking the StorageClass list (`kubectl get storageclass`) or PVC status (`kubectl get pvc`) will reveal the missing class, but only the pod's detailed description shows the specific provisioning failure event tied to the missing StorageClass.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
kubectl describe pod <pod>
`kubectl describe pod <pod>` provides detailed event logs and status conditions for the pod, including specific error messages like 'failed to provision volume with StorageClass' or 'storageclass.storage.k8s.io "<name>" not found'. This directly confirms whether a missing storage class is the root cause of the 'ContainerCreating' state, as the pod's events will surface the exact provisioning failure.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
kubectl describe node
Why it's wrong here
kubectl describe node aggregates node-level conditions (e.g., MemoryPressure), capacity, allocatable, and node events, but it does not inspect the pod's volume mounts or the specific error the kubelet encounters while provisioning a PersistentVolume. A pod stuck in ContainerCreating due to a missing storage class records the failure in its own event stream, not in the node's status. The node can be perfectly healthy; the fault is with the PVC's storage class resolution, leaving describe node with no relevant storage binding error for this pod.
- ✗
kubectl get pvc
Why it's wrong here
kubectl get pvc lists PersistentVolumeClaims and their status (e.g., Pending, Bound) but does not tie the claim to a particular pod or reveal why the storage class is missing. A PVC referencing a nonexistent storage class appears as Pending, but the precise error like "storageclass.storage.k8s.io \"fast\" not found" is only emitted in the pod's events when the kubelet attempts the mount. Knowing the PVC is pending does not confirm the pod's failure; the pod describe output supplies the actionable cause, so this command is a useful secondary check, not the primary diagnostic.
- ✗
kubectl get storageclass
Why it's wrong here
kubectl get storageclass enumerates the storage classes available in the cluster but cannot tell you which class a given PVC requested or whether that class matches the pod's volume. The pod's creation failure stems from the interaction between the PVC spec and the cluster's StorageClass objects; the pod's event log contains the exact resolution error. Listing storage classes only shows what exists, not why this pod cannot use it, so you cannot infer the pod's stuck state from this command alone.
- ✓
kubectl describe pod <pod>
Why this is correct
kubectl describe pod <pod> displays the pod's full status, including the volume list, associated PVCs, container states, and crucially the Events section at the bottom. If the pod is stuck in ContainerCreating, the kubelet emits a FailedMount event with a message such as "unable to find storage class" or "no persistent volumes available for this claim," which directly identifies the missing storage class. This event is the authoritative source for the reason the pod cannot start, and the output also shows current conditions and volume definitions for a complete diagnostic picture.
Quick reference
AWS S3 Storage Class Comparison
| Storage Class | Min Duration | Retrieval | Use Case |
|---|---|---|---|
| S3 Standard | None | Immediate | Frequently accessed data |
| S3 Standard-IA | 30 days | Immediate | Infrequent access, rapid retrieval |
| S3 One Zone-IA | 30 days | Immediate | Non-critical infrequent data |
| S3 Intelligent-Tiering | None | Immediate–hours | Unknown or changing access patterns |
| S3 Glacier Instant | 90 days | Milliseconds | Archive with instant retrieval |
| S3 Glacier Flexible | 90 days | Minutes–hours | Archive, flexible retrieval |
| S3 Glacier Deep Archive | 180 days | Hours | Long-term compliance archive |
Go deeper
Related to this question
About these practice questions
Courseiva writes every CKAD question from scratch — 826 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This CKAD practice question is part of Courseiva's free CNCF certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the CKAD exam.