KCNA Storage Solutions 2 — Questions and Answers
Question 1: Which Kubernetes object defines how a storage volume can be accessed across multiple pods?
- StorageClass
- PersistentVolumeClaim
- PersistentVolume (Correct answer)
- VolumeMount
Correct answer: PersistentVolume
A PersistentVolume (PV) defines the storage resource itself, including its access modes such as ReadWriteOnce, ReadOnlyMany, or ReadWriteMany.
Question 2: What happens to a PersistentVolume with a Reclaim Policy of 'Delete' when its PVC is removed?
- The PV is retained for manual cleanup
- The PV is released but not deleted
- The underlying storage asset is deleted along with the PV (Correct answer)
- The PV is recycled and made available again
Correct answer: The underlying storage asset is deleted along with the PV
The 'Delete' reclaim policy causes both the PV object and the associated external storage asset to be removed when the PVC is deleted.
Question 3: Which access mode allows a PersistentVolume to be mounted as read-write by many nodes simultaneously?
- ReadWriteOnce (RWO)
- ReadOnlyMany (ROX)
- ReadWriteMany (RWX) (Correct answer)
- ReadWriteOncePod (RWOP)
Correct answer: ReadWriteMany (RWX)
ReadWriteMany (RWX) permits multiple nodes to mount the volume with read-write access at the same time, which is required for shared storage scenarios.
Question 4: In the CSI specification, which component runs on every node and handles volume mount/unmount operations?
- CSI Controller Plugin
- CSI Node Plugin (Correct answer)
- CSI Provisioner
- CSI Attacher
Correct answer: CSI Node Plugin
The CSI Node Plugin runs as a DaemonSet on every node and is responsible for local operations such as mounting and unmounting volumes.
Question 5: A developer wants storage that is automatically provisioned when a PVC is created. Which Kubernetes feature enables this?
- Static Provisioning
- Volume Expansion
- Dynamic Provisioning via StorageClass (Correct answer)
- HostPath volumes
Correct answer: Dynamic Provisioning via StorageClass
Dynamic provisioning uses a StorageClass with a provisioner to automatically create PersistentVolumes on demand when a PVC is submitted.
Question 6: Which field in a PVC spec is used to request a specific StorageClass for dynamic provisioning?
- volumeName
- storageClassName (Correct answer)
- provisioner
- accessModes
Correct answer: storageClassName
The 'storageClassName' field in a PVC spec references the StorageClass that should be used to dynamically provision the volume.
Question 7: What is the effect of annotating a StorageClass with 'storageclass.kubernetes.io/is-default-class: "true"'?
- It makes the StorageClass read-only
- PVCs without a storageClassName are automatically bound to this class (Correct answer)
- It prevents the StorageClass from being deleted
- It replicates volumes across all nodes
Correct answer: PVCs without a storageClassName are automatically bound to this class
Marking a StorageClass as the default causes PVCs that do not specify a storageClassName to use that class for dynamic provisioning.
Which Kubernetes object defines how a storage volume can be accessed across multiple pods?