quobyte-csi-driver

Shared Volume for Dynamic volumes

With this feature, you can provision PV as a sub-directory of the volume instead of an exclusive Quobyte volume.

Requirements

Storage Class configuration

Your storage class must provide parameters.quobyteTenant and parameters.sharedVolumeName along with other parameters. Following is the sample storage class that uses shared_volume of the tenant csi-test

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: quobyte-csi-shared-volume
# must match Quobyte CSI provisioner name
provisioner: csi.quobyte.com
# For shared volumes, volume expansion if requested from k8s always succeeds.
# admin need to either disable it via this flag or set Quota limits on shared volume.
#allowVolumeExpansion: true
parameters:
  quobyteTenant: "csi-test"
  # provisions PV as subdirectory of the "shared_volume"
  # Not having "sharedVolumeName" parameter, triggers creation of a new Quobyte volume
  # (with the name same as PV's name) for the dynamic provisioning
  sharedVolumeName: "shared_volume"
  # createQuota is not required with shared volumes and ignored if provided.
  # If Storage admin requires Quota for shared volumes, they must set Quota for volume via
  # Quobyte's management API at tenant level/volume level
  #createQuota: "true"
  csi.storage.k8s.io/provisioner-secret-name: "quobyte-admin-credentials"
  csi.storage.k8s.io/provisioner-secret-namespace: "quobyte"
  csi.storage.k8s.io/controller-expand-secret-name: "quobyte-admin-credentials"
  csi.storage.k8s.io/controller-expand-secret-namespace: "quobyte"
  csi.storage.k8s.io/node-publish-secret-name: "quobyte-admin-credentials"
  csi.storage.k8s.io/node-publish-secret-namespace: "quobyte"
  user: root
  group: root
  accessMode: "750"
reclaimPolicy: Delete