#Dedicated StorageClass per SVM to achieve multi tenancy

1 messages · Page 1 of 1 (latest)

hot prawn
#

Hi,

one of our customers has a multi tenant cluster and plans to migrate from Longhorn to the Trident Operator.

Our plan is to use dedicated SVMs for each of the tenants and create the corresponding TridentBackendConfig resource (containing the SVM configuration) and map these to dedicated StorageClasses to achieve a 1:1 mapping.

Questions:

  • From what I can see in the docs there is no option to map a TridentBackendConfig to a StorageClass or am I wrong here?
  • What could be an alternative approach?

Thanks and BR,

Philipp

vocal stream
#

you can select the BackendConfig by using the parameters collection of the StorageClass. There are some examples in the Trident repo, e.g. here. I have no idea by what you can select in that collection, maybe you can directly select a backend by name, but even if not, Storage Pools are always a possibility because they can definitely be selected (see the storage-class-bronze-default.yaml file for an example)

tardy tree
#

You can add labels to the spec of a storage class and selectors in the storage class to select the backend.
apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
name: backend-tbc-ontap-san
namespace: trident
spec:
version: 1
storageDriverName: ontap-san
labels:
storagename: 'customer1'
svm: customer1
...

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: san-sc
provisioner: csi.trident.netapp.io
parameters:
selector: "storagename=customer1"
...