Prepare your environment

  1. Install and configure your Kubernetes distribution.

  2. Ensure that the default StorageClass on your cluster supports the dynamic provisioning of volumes. If necessary, refer to the Kubernetes documentation Change the default StorageClass.

    If no default StorageClass is set, you can specify a StorageClass for MSR to use by providing the following additional parameters to the custom resource manifest:

    spec:
      registry:
        storage:
          persistentVolume:
            storageClassName: '<my-storageclass>'
      postgresql:
        volume:
          storageClass: '<my-storageclass>'
      rethinkdb:
        cluster:
          persistentVolume:
            storageClass: '<my-storageclass>'
    

    The first of these three parameters is only applicable when you install MSR with a persistentVolume backend, the default setting:

    spec:
      registry:
        storage:
          backend: 'persistentVolume'
    

    MSR creates PersistentVolumeClaims with either the ReadWriteOnce or the ReadWriteMany access modes, depending on the purpose for which they are created. Thus the StorageClass provisioner that MSR uses must be able to provision PersistentVolumes with at least the ReadWriteOnce and ReadWriteMany access modes.

    The <release-name> PVC is created by default with the ReadWriteMany access mode. If you choose to install MSR with a persistentVolume backend, you can override this default access mode by adding the following parameter to the custom resource manifest:

    spec:
      registry:
        storage:
          persistentVolume:
            accessModes: ['<new-access-mode>']