Configure Persistent Volumes

    How to use persistent volumes with a Couchbase cluster.

    Storage Class Configuration

    Ensure you have read the storage classes documentation and created any necessary storage classes for your platform.

    Couchbase Cluster Configuration

    Once storage classes are provisioned correctly using them is simple:

    kind: CouchbaseCluster
      - size: 1
        name: data_services
          - data
          default: couchbase (1)
      volumeClaimTemplates: (2)
      - metadata:
          name: couchbase (3)
          storageClassName: standard (4)
          resources: (5)
              storage: 1Gi
    1 spec.servers[].volumeMounts.default tells the Operator to provision a default persistent volume claim and attach it to a pod of that server class.
    2 spec.volumeClaimTemplates[] defines a list of templates related to storage. These will be used to create Kubernetes persistent volume claims and therefore have the same data structure. However the Operator is only concerned with the following parameters, any others are ignored.
    3 spec.volumeClaimTemplates[] is a unique identifier for a persistent volume template. It is referred to by attributes in the spec.servers[].volumeMounts object.
    4 spec.volumeClaimTemplates[].spec.storageClassName refers to a dynamically allocated storage class defined on the platform.
    5 spec.volumeClaimTemplates[].spec.resources defines the size of the volume that will be allocated.