A cloud engineer needs to deploy a containerized application on Amazon EKS. The application requires a persistent storage volume that can be dynamically provisioned. Which Kubernetes resource should be used to request storage?
A PersistentVolumeClaim requests storage from a StorageClass, which triggers dynamic provisioning of a PersistentVolume. This satisfies the stem's requirement for dynamically provisioned persistent storage on Amazon EKS, unlike a PersistentVolume, which represents already-provisioned capacity, or a StorageClass, which only defines the provisioning template.
Why this answer
A PersistentVolumeClaim (PVC) is the correct Kubernetes resource to request storage because it acts as a request for storage by a pod, specifying size, access modes, and optionally a StorageClass. In Amazon EKS, a PVC can trigger dynamic provisioning of an EBS or EFS volume via a StorageClass, decoupling the storage request from the underlying PersistentVolume. This allows the cloud engineer to deploy the containerized application without manually pre-provisioning storage.
Exam trap
The exam often tests the distinction between a PersistentVolume (the actual storage resource) and a PersistentVolumeClaim (the request for storage), leading candidates to mistakenly select PV when the question asks for the resource that 'requests' storage.
How to eliminate wrong answers
Option A is wrong because a PersistentVolume (PV) is a cluster resource representing pre-provisioned storage, not a request for storage; it is the backend volume that a PVC binds to. Option C is wrong because a StorageClass defines the storage type and provisioner (e.g., 'ebs.csi.aws.com') but does not itself request storage; it is referenced by a PVC to enable dynamic provisioning. Option D is wrong because a ConfigMap is used to inject configuration data (key-value pairs) into pods, not for persistent storage requests.