PVC

2 min read

Read a PersistentVolumeClaim (whether it is bound, its phase, capacity, storage class and access modes), the PersistentVolume bound to it, and its StorageClass.

Reference

FunctionDescription
pvProvisionerReturns the provisioner that created a PersistentVolume (annotation pv.kubernetes.io/provisioned-by).
pvVolumeModeReturns a PersistentVolume’s volumeMode: Filesystem or Block.
pvcAccessModesReturns the PVC’s spec.accessModes.
pvcBoundReturns true when status.phase == "Bound".
pvcCapacityReturns spec.resources.requests.storage.
pvcPhaseReturns status.phase — "Bound", "Pending", "Released", or "Lost".
pvcStorageClassReturns spec.storageClassName, or "" when not set (cluster default applies).
storageClassProvisionerReturns a StorageClass’s provisioner.
storageClassReclaimPolicyReturns a StorageClass’s reclaimPolicy: Delete or Retain.

Functions

pvProvisioner

pvProvisioner returns the provisioner that created a PersistentVolume (annotation pv.kubernetes.io/provisioned-by).

{{ pvProvisioner .pv }}  → "ebs.csi.aws.com"

pvVolumeMode

pvVolumeMode returns a PersistentVolume’s volumeMode: Filesystem or Block.

{{ pvVolumeMode .pv }}  → "Filesystem"

pvcAccessModes

pvcAccessModes returns the PVC’s spec.accessModes.

{{ pvcAccessModes .pvc }}  → [ReadWriteOnce]

pvcBound

pvcBound returns true when status.phase == "Bound".

{{ pvcBound .pvc }}  → true

pvcCapacity

pvcCapacity returns spec.resources.requests.storage.

{{ pvcCapacity .pvc }}  → "10Gi"

pvcPhase

pvcPhase returns status.phase — "Bound", "Pending", "Released", or "Lost".

{{ pvcPhase .pvc }}  → "Bound"

pvcStorageClass

pvcStorageClass returns spec.storageClassName, or "" when not set (cluster default applies).

{{ pvcStorageClass .pvc }}  → "standard"

storageClassProvisioner

storageClassProvisioner returns a StorageClass’s provisioner.

{{ storageClassProvisioner .storageClass }}  → "ebs.csi.aws.com"

storageClassReclaimPolicy

storageClassReclaimPolicy returns a StorageClass’s reclaimPolicy: Delete or Retain.

{{ storageClassReclaimPolicy .storageClass }}  → "Delete"