It is unlikely that maintenance will resume.
This solution did not allow us to set repeatable names on our ceph rbds, etc. It is an interesting idea, but in our environment we were unable to find any situation in which we could bootstrap a clean cluster and detect the old rbds using this patch as we had hoped. That is not to say that this wouldn't be a good solution for any other storage backends. Also note that the upstream hasn't seen many commits in the last year it might not be the best to adopt this unless you are willing to maintain the image overall...
If you choose to use this image, continue informed that it is outdated and was never the best solution, compared to the alternatives that are available.
In alternative to this, we are simply using static-pvs when we care too much, dynamic resources with retain, backing up our k8s resources with velero.
docker pull ghcr.io/anoxape/csi-provisioner:v5.3.0-r1
v5.3.0-r1was specified as an example, a newer version may be available.
➡️ Official Repository: https://github.com/anoxape/csi-provisioner
Be aware that all Docker Images / Registry Tags are frozen for this project, no future releases are planned or expected.
You are recommended to:
external-provisioner with templated names for provisioned PV's instead of UUIDs.
Allows local PersistentVolumes to persist across edge Kubernetes reinstallations. Confirmed to work with OpenEBS LocalPV-ZFS, as it reuses pre-existing physical volumes based on their assigned names.
Implemented as a targeted patch compatible with upstream versions 3.x through 5.x.
Deploy OpenEBS LocalPV-ZFS with reprovisioner:
zfsController:
provisioner:
image:
registry: ghcr.io/
repository: anoxape/csi-provisioner
tag: v5.3.0-r1
Enable reprovisioner and configure name template:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: zfs-tank
provisioner: zfs.csi.openebs.io
reclaimPolicy: Retain
volumeBindingMode: WaitForFirstConsumer
parameters:
fstype: zfs
poolname: tank/k8s/v
external-reprovisioner.anoxape.org/enabled: "true"
external-reprovisioner.anoxape.org/volume-name-template: ${pvc.annotations['home.arpa/volume-name']}
Add custom annotation:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: foo
namespace: bar
annotations:
home.arpa/volume-name: foobar
spec:
storageClassName: zfs-tank
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
Expect provisioned:
apiVersion: v1
kind: PersistentVolume
metadata:
name: foobar
...
apiVersion: zfs.openebs.io/v1
kind: ZFSVolume
metadata:
name: foobar
namespace: system
...
Supported tokens for name resolution:
${pvc.namespace}${pvc.name}${pvc.annotations['ANNOTATION_KEY']}Content type
Image
Digest
sha256:fd5436807…
Size
40.3 MB
Last updated
10 months ago
docker pull prplanit/external-provisioner