What's on this page

Storage

Storage Class

By default, any service requiring persistence is configured to use the default provisioner of your Kubernetes cluster. You can check your default with kubectl:

kubectl get storageclass

The default storage class will be shown with (default) alongside it’s name. If you have no default, you can mark an existing class as the default with:

kubectl patch storageclass <your-class-name> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'

The values provided with the Helm charts in LM configure specific storage classes which need overriding in order to use the system default. This should be done as follows:

cassandra: 
  persistence:
    storageClass: null

elasticsearch:
  master:
    persistence:
      storageClass: null
  data:
    persistence:
      storageClass: null

kafka:
  persistence:
    storageClass: null
  zookeeper:
    persistence:
      storageClass: null

openldap:
  persistence:
    storageClass: null

Additionally it will be necessary to disable the creating of volumes during the Foundation install by also adding this value

volumesInit:
  enabled: false

Alternatively, you may explicitly set the storage class for each service by adding storageClass fields instead of ‘null’ above.

Storage Size

The size of persistent volume created for each service may be configured by adding resource size settings to the custom values file. See Kubernetes - Persistent Volumes for more information about how the size of a volume is managed.

The default values for each service are shown below. Override any defaults by adding them to your custom values.

cassandra: 
  persistence:
    size: "60Gi"

elasticsearch:
  master:
    persistence:
      size: "20Gi"
  data:
    persistence:
      size: "30Gi"

kafka:
  persistence:
    size: "150Gi"
  zookeeper:
    persistence:
      size: "15Gi"

openldap:
  persistence:
    size: "5Gi"

Next Steps

Continue configuring your installation with External LDAP