Post

NFS Subdir External Provisioner

NFS Subdir External Provisioner

NFS Subdir External Provisioner

Dynamic PersistentVolume provisioner backed by an existing NFS export, for workloads that want shared/NFS-backed storage rather than Longhorn’s replicated block storage. Runs as a single-replica Deployment in the nfs-provisioner namespace.

Like MetalLB, this component has no manifest directory under /home/bjones/Kubernetes — it was deployed directly rather than tracked in this repo. Details below come from live cluster state.

Backing NFS export

SettingValue
NFS server192.168.1.194
Export path/media_pool
Provisioner namecluster.local/nfs-subdir-external-provisioner

The provisioner mounts that export at its own pod root and creates a subdirectory per PersistentVolumeClaim.

StorageClass

Exposed as the nfs-media-pool StorageClass:

1
2
NAME             PROVISIONER                                     RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION
nfs-media-pool   cluster.local/nfs-subdir-external-provisioner   Retain          Immediate           true

reclaimPolicy: Retain — unlike local-path and longhorn (both Delete), PVs from this class survive PVC deletion; the backing directory on the NFS export has to be cleaned up manually. Not set as the cluster default — used only by workloads that request storageClassName: nfs-media-pool explicitly (e.g. shared media libraries).

This post is licensed under CC BY 4.0 by the author.