Dynamic Volume Provisioning Example Using a Pod

AI Tools

A PersistentVolumeClaim is a request for abstract storage resources by a user. The PersistentVolumeClaim would then be associated to a Pod resource to provision a PersistentVolume, which would be backed by a Lightbits volume.

An optional volumeMode can be included to select between a mounted file system (default) or raw block device-based volume.

Using the lb-csi-plugin, specifying Filesystem for volumeMode can support ReadWriteOnce accessMode claims, and specifying Block for volumeMode can support ReadWriteOnce accessMode claims.

Filesystem Volume Mode PVC

The file examples/filesystem-workload.yaml provided with the Supplementary Package contains two manifests:

  1. PVC named example-fs-pvc referencing example-sc StorageClass created above.

  2. POD named example-fs-pod binding to example-fs-pvc.

Deploying PVC and POD

To deploy the PVC and the POD, run:

kubectl apply -f examples/filesystem-workload.yaml persistentvolumeclaim/example-fs-pvc created pod/example-fs-pod created

Verifying Deployment

Using the following command we will see the PV, PVC resources in Bound status and POD in READY state.

kubectl get pv,pvc,pod NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE persistentvolume/pvc-7680be61-0694-44cf-9d1b-1f69827d0b4b 10Gi RWO Delete Bound default/example-fs-pvc example-sc 69s NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE persistentvolumeclaim/example-fs-pvc Bound pvc-7680be61-0694-44cf-9d1b-1f69827d0b4b 10Gi RWO example-sc 70s NAME READY STATUS RESTARTS AGE pod/example-fs-pod 1/1 Running 0 70s

Deleting PVC and POD

kubectl delete -f examples/filesystem-workload.yaml persistentvolumeclaim "example-fs-pvc" deleted pod "example-fs-pod" deleted

Block Volume Mode PVC

The file examples/block-workload.yaml provided with the Supplementary Package contains two manifests:

  1. PVC named example-block-pvc referencing example-sc StorageClass created above.

  2. POD named example-block-pod binding to example-block-pvc.

You can follow the same flow described in the Filesystem Volume Mode PVC section above, to deploy the block volume-mode example.