CKA Storage Practice Question
A developer creates a PVC with storageClassName: "" (empty string). What does this mean?
⚠ Common exam trap
A common mix-up: candidates confuse an empty string `""` with omitting the field entirely, assuming it will fall back to the default StorageClass, but Kubernetes treats them as distinct: omitted means 'use default', while empty string means 'disable default and require exact match'.
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
✓
The PVC will only bind to PVs that also have storageClassName: ""
When a PVC has `storageClassName: ""` (empty string), it explicitly disables dynamic provisioning and static binding to a PV that also has `storageClassName: ""`. This means the PVC will only bind to a pre-existing PV that has its `storageClassName` set to an empty string, bypassing any default StorageClass. It does not remain pending indefinitely, nor does it use or trigger the default StorageClass.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
The PVC will remain pending indefinitely
Why it's wrong here
This statement is incorrect because the PVC can successfully bind if a matching PersistentVolume is already available. Specifically, if a statically provisioned PV exists with its storage class set to an empty string and has sufficient capacity, the control loop will bind them. Therefore, pending status is not guaranteed to be indefinite.
- ✗
The PVC will use the default StorageClass
Why it's wrong here
Omitting the storageClassName field entirely triggers the cluster's default StorageClass admission controller to assign a default class. In contrast, explicitly setting the field to an empty string ("") disables this fallback behavior. This explicitly signals to the control plane that the PVC must only match PVs with no StorageClass.
- ✗
The PVC will be dynamically provisioned using the cluster's default StorageClass
Why it's wrong here
Dynamic provisioning relies on an active volume plugin associated with a valid, named StorageClass to automatically create backing storage on demand. Specifying an empty string explicitly opts out of this dynamic workflow. Consequently, the Kubernetes volume controller will only search for existing, statically provisioned PersistentVolumes to satisfy the claim.
- ✓
The PVC will only bind to PVs that also have storageClassName: ""
Why this is correct
Setting storageClassName: "" on a PVC restricts binding exclusively to PersistentVolumes that also have their storageClassName set to an empty string or omitted. This behavior ensures that the PVC bypasses dynamic provisioning entirely. It allows the PVC to bind only to statically created PVs that represent pre-existing physical storage assets.
Go deeper
Related to this question
Learn chapter
Configuring Storage Classes and Dynamic Provisioning
Key term
Persistent Volumes
A Persistent Volume is a piece of storage in a Kubernetes cluster that has been provisioned by an administrator and exists independently of any single pod that uses it.
Key term
Storage Classes
A Storage Class in Kubernetes is a template that defines how persistent storage is provisioned automatically, including the type of storage, performance characteristics, and provisioning policies.
About these practice questions
This CKA question is part of Courseiva's 726-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam 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 CKA 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 CKA exam.