Knowledge Base Article

Deploying Sisense with custom-defined storage classes (rwxScName / rwoScName)

Deploying Sisense with custom-defined storage classes (rwxScName / rwoScName)

 
Sisense can be installed on different platforms (RKE / OpenShift / EKS / GKE / AKS, etc) with a variety of storages. Usually, you just need to specify the exact supported storage type, and the additional required packages will be installed. However, there can be cases when you need to use some other storage classes that are not supported out of the box; or, you'd like to skip some specific steps during the Sisense installation (e.g. skipping FSX CSI helm chart installation because you use a different driver or need to manage it on your own).
 
The Helm Provisioner allows you to deploy Sisense with RWO/RWX storage classes that were defined by you.

You should use persistence.rwoScName and persistence.rwxScName parameters for this purpose. You must define both of them while persistence.storageType must be empty. 

Thus the below parameters must have those values:

  • persistence.enabled: true
  • persistence.storageType: '' (needs to be empty strings)
  • fsxDnsName: "" (needs to be empty strings)
  • fsxMountName: "" (needs to be empty strings)
  • nfsServer: "" (needs to be empty strings)
  • nfsPath: "" (needs to be empty strings)
  • efsAwsRegion: "" (needs to be empty strings)
  • rwxScName: <your-RWX-storageClass-name> (Example: 'aws-efs')
  • rwoScName: <your-RWO-storageClass-name> (Example: 'gp2')

Example below:

[...]

persistence:

  enabled: true
  ## storageType: fsx, nfs (client), nfs-server
  # fsx - Will install fsx-csi driver
  # nfs - Will install nfs client
  # nfs-server - Will install nfs-server
  # efs - Will install efs client
  storageType: ''

## AWS FSx
fsxDnsName: ""
fsxMountName: ""

## NFS Client
nfsServer: ""
nfsPath: ""

## AWS EFS
efsFileSystemId: ""
efsAwsRegion: ""

## Manual ReadWriteMany, ReadWriteOnce StorageClass definition
## ReadWriteMany StorageClass name (e.g: gluster, trident, nfs, nfs-client, cephfs)
rwxScName: "aws-fsx"

## ReadWriteOnce StorageClass name (e.g: gp2, default, standard)
rwoScName: "gp2"

[...]

Set all other parameters according to the guide and proceed with the installation.

Published 04-03-2023

5 Comments

  • jreyes's avatar
    jreyes
    Data Storage

    Does the "rwoScName" support gp3? What does the "default" and "standard" refer to? Is there a list that shows all supported StorageClasses somewhere?

  • OlegV's avatar
    OlegV
    Sisense Employee

    GP3 is supported without a need to use 'rwoScName'. It can be set via installer-values.yaml file with ebs_csi.enabled: true

    You can find the guide here: https://docs.sisense.com/main/SisenseLinux/implementing-amazon-ebs-csi-driver.htm

    > What does the "default" and "standard" refer to?

    They are examples from the typical options. E.g. there is 'default' SC on AKS and 'standart' SC on GKE. You can see them with 'kubectl get sc' on your cluster.

    The supported storages are actually in the list of storageType options. The purpose of rwoScName / rwxScName is to use others that are not officially supported if you have a core requirement. There are still minimal performance requirements of 100MB/s / 1600 IOPS, but you can discuss a particular SC with Solution Architects.

  • Thanks, where can I get `kubespray/extra_values/<files>` templates as referred in the guide you linked? 

  • OlegV's avatar
    OlegV
    Sisense Employee

    You can extract the complete file from the tarball of the generic installer or add the needed parameter explicitly to your values.yaml like this

    installer-values: |
      ## AWS EBS CSI Drivers.
      ebs_csi:
        enabled: true