Courseiva
Storage →mediumMultiple Select

CKA Storage Practice Question

Which THREE statements about StorageClasses are true?

⚠ Common exam trap

Many candidates confuse StorageClasses as namespaced resources (like PVCs) or assume only admins can create them, when in fact StorageClasses are cluster-scoped and RBAC-controlled, and the question tests precise knowledge of their configurable fields.

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

✓

A StorageClass can specify a provisioner to enable dynamic volume provisioning.

Option C is correct because a StorageClass defines a provisioner field (for example, kubernetes.io/aws-ebs or a CSI driver name) that tells Kubernetes which plugin should dynamically provision PersistentVolumes when a matching PVC is created. Option D is correct because setting volumeBindingMode: WaitForFirstConsumer defers both PV provisioning and binding until a pod that uses the PVC is scheduled, which allows topology-aware scheduling decisions. Option E is correct because the reclaimPolicy field in a StorageClass (values such as Delete or Retain) sets the reclaim policy applied to PVs that are dynamically provisioned by that class. Option A is not correct because creating StorageClasses is governed by RBAC, not restricted to cluster administrators; any subject granted the appropriate permissions on the storageclasses resource can create them. Option B is not correct because StorageClasses are cluster-scoped resources, not namespaced, and are referenced by PVCs across namespaces.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✗

    Only cluster administrators can create StorageClasses.

    Why it's wrong here

    Kubernetes does not restrict StorageClass creation to cluster administrators alone. Any principal with RBAC permissions that include the 'create' verb on the 'storageclasses' resource in the cluster scope can create them, e.g. a ServiceAccount bound to a custom ClusterRole. While it is common for administrators to manage them, nothing in Kubernetes enforces that only cluster-admins create StorageClasses.

  • ✗

    StorageClasses are namespaced resources.

    Why it's wrong here

    StorageClasses are cluster-scoped resources, not namespaced. Unlike PersistentVolumeClaims or Pods, a StorageClass does not live inside any namespace; it is available cluster-wide and defines policies for dynamic provisioning that any namespace can reference. You can confirm this with 'kubectl get storageclasses' which does not require or show a namespace.

  • ✓

    A StorageClass can specify a provisioner to enable dynamic volume provisioning.

    Why this is correct

    A StorageClass's 'provisioner' field specifies the volume plugin responsible for dynamically provisioning PersistentVolumes. For example, 'kubernetes.io/aws-ebs' or 'pd.csi.storage-gke.io' causes the in-tree or CSI driver to create a new storage volume when a PVC references this StorageClass. Without a provisioner, a StorageClass cannot dynamically create PVs and is generally only useful for binding pre-existing PVs.

  • ✓

    The volumeBindingMode in a StorageClass can be set to 'WaitForFirstConsumer' to delay PV creation until a pod uses the PVC.

    Why this is correct

    When 'volumeBindingMode' is set to 'WaitForFirstConsumer', Kubernetes delays PersistentVolume binding and dynamic provisioning until a Pod that uses the PVC is scheduled. This mode is particularly useful with topology-constrained provisioners (e.g. zonal CSI drivers) because the volume can be created in the same zone as the Pod. In contrast, the default 'Immediate' mode binds or provisions the volume as soon as the PVC is created, regardless of where Pods will run.

  • ✓

    A StorageClass can set the reclaim policy for dynamically provisioned PVs.

    Why this is correct

    The 'reclaimPolicy' field in a StorageClass determines what happens to a dynamically provisioned PersistentVolume when the PVC that uses it is released. A value of 'Delete' automatically removes the underlying storage asset and the PV object, while 'Retain' leaves the PV and its data in place for an administrator to manually reclaim or recover. This policy is set on the PV at creation time and is distinct from the reclaim policy on a statically provisioned PV, which can be manually updated later.

Quick reference

AWS S3 Storage Class Comparison

Storage ClassMin DurationRetrievalUse Case
S3 StandardNoneImmediateFrequently accessed data
S3 Standard-IA30 daysImmediateInfrequent access, rapid retrieval
S3 One Zone-IA30 daysImmediateNon-critical infrequent data
S3 Intelligent-TieringNoneImmediate–hoursUnknown or changing access patterns
S3 Glacier Instant90 daysMillisecondsArchive with instant retrieval
S3 Glacier Flexible90 daysMinutes–hoursArchive, flexible retrieval
S3 Glacier Deep Archive180 daysHoursLong-term compliance archive

About these practice questions

One of 726 original CKA practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

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.