Go to file
Starttoaster 2c9d88e5ac
Update Chart.yaml
2024-12-18 02:02:15 -08:00
.github/workflows Update docker publish workflow with longer timeout 2024-06-05 17:35:57 -07:00
chart/nfs-subdir-external-provisioner Update Chart.yaml 2024-12-18 02:02:15 -08:00
cmd/nfs-subdir-external-provisioner Update external provisioner library to latest for client-go updates 2024-06-06 12:46:54 -07:00
.gitignore Update external provisioner library to latest for client-go updates 2024-06-06 12:46:54 -07:00
CHANGELOG.md docs: add changelog for v4.0.3 2024-01-25 19:15:00 +02:00
CONTRIBUTING.md Update template files to include repo-specific info 2020-03-26 07:32:42 +05:30
Dockerfile Update everything everywhere all at once because this project is near ancient 2024-06-05 15:53:11 -07:00
LICENSE Initial commit 2020-03-26 07:23:01 +05:30
README.md Update documentation with this repo's values - remove some unneeded documentation 2024-06-05 17:36:22 -07:00
code-of-conduct.md Initial commit 2020-03-26 07:23:01 +05:30
go.mod Update dependencies, bump Go to 1.23 2024-12-18 09:55:20 +00:00
go.sum Update dependencies, bump Go to 1.23 2024-12-18 09:55:20 +00:00

README.md

Kubernetes NFS Subdir External Provisioner

This is a fork of an upstream kubernetes-sigs project here. The upstream project has seen little support in years, resulting in horribly insecure build artifacts since their images aren't rebuilt over time, and with no new releases they haven't been able to publish a new image with fewer CVEs from the base image. This project is unlikely to see much in the way of features in this fork, but should be more secure to run with a more up-to-date base image and Go dependencies.

NFS subdir external provisioner is an automatic provisioner that use your existing and already configured NFS server to support dynamic provisioning of Kubernetes Persistent Volumes via Persistent Volume Claims. Persistent volumes are provisioned as ${namespace}-${pvcName}-${pvName}.

How to deploy NFS Subdir External Provisioner to your cluster

To note again, you must already have an NFS Server.

With Helm

Follow the instructions from the helm chart README.

The tl;dr is

helm repo add nfs-subdir-external-provisioner https://starttoaster.github.io/nfs-subdir-external-provisioner/
helm install nfs-subdir-external-provisioner nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \
    --set nfs.server=x.x.x.x \
    --set nfs.path=/exported/path

NFS provisioner limitations/pitfalls

  • The provisioned storage is not guaranteed. You may allocate more than the NFS share's total size. The share may also not have enough storage space left to actually accommodate the request.
  • The provisioned storage limit is not enforced. The application can expand to use all the available storage regardless of the provisioned size.
  • Storage resize/expansion operations are not presently supported in any form. You will end up in an error state: Ignoring the PVC: didn't find a plugin capable of expanding the volume; waiting for an external controller to process this PVC.