Sign inSign up

prplanit/external-provisioner

By prplanit

•Updated 10 months ago

Image
0

368

prplanit/external-provisioner repository overview

⁠📦 This image is not maintained!

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-r1 was 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:

  1. Interview other solutions for syncing qbittorrents IP with Gluetun.
  2. Fork this or the original repository, update any deps + base-image, make stability improvements to the script and build the image yourself.
  3. Continue to use a stale release from us without modifications understanding you are free to do so but that you were already at your own risk, and we do not recommend this either.

⁠External Provisioner (patch forked from external-reprovisioner by anoxape⁠)

external-provisioner with templated names for provisioned PV's instead of UUIDs.

⁠Motivation

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.

⁠Usage

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
...

⁠Options

Supported tokens for name resolution:

  • ${pvc.namespace}
  • ${pvc.name}
  • ${pvc.annotations['ANNOTATION_KEY']}

Tag summary

Content type

Image

Digest

sha256:fd5436807…

Size

40.3 MB

Last updated

10 months ago

docker pull prplanit/external-provisioner