The module is actively developed. It might significantly change in the future.

The module is guaranteed to work only in the following cases:

As for any other configurations, the module may work, but its smooth operation is not guaranteed.

DRBDStorageClass

Scope: Cluster
Version: v1alpha1

DRBDStorageClass is a Kubernetes Custom Resource that defines a configuration for a Kubernetes Storage class.
  • spec object

    Defines a Kubernetes Storage class configuration.

    Note that this field is in read-only mode.

    • spec.isDefault boolean
      Should this Storage class be used as default.

      Default: false

    • spec.reclaimPolicy string

      Required value

      The storage class’s reclaim policy. Might be:

      • Delete (If the Persistent Volume Claim is deleted, deletes the Persistent Volume and its associated storage as well)
      • Retain (If the Persistent Volume Claim is deleted, remains the Persistent Volume and its associated storage)

      Allowed values: Delete, Retain

    • spec.replication string

      The Storage class’s replication mode. Might be:

      • None (in this mode the Storage class’s ‘placementCount’ and ‘AutoEvictMinReplicaCount’ params equal ‘1’)
      • Availability (in this mode the Storage class’s ‘placementCount’ and ‘AutoEvictMinReplicaCount’ params equal ‘2’)
      • ConsistencyAndAvailability (in this mode the Storage class’s ‘placementCount’ and ‘AutoEvictMinReplicaCount’ params equal ‘3’)

      Note that default Replication mode is ‘ConsistencyAndAvailability’.

      Default: ConsistencyAndAvailability

      Allowed values: None, Availability, ConsistencyAndAvailability

    • spec.storagePool string

      Required value

      Selected DRBDStoragePool resource’s name.
    • spec.topology string

      Required value

      The topology settings for the volumes in the created Storage class. Might be:

      • TransZonal - replicas of the volumes will be created in different zones (one replica per zone). To use this topology, the available zones must be specified in the ‘zones’ param, and the cluster nodes must have the topology.kubernetes.io/zone= label.
      • Zonal - all replicas of the volumes are created in the same zone that the scheduler selected to place the pod using this volume.
      • Ignored - the topology information will not be used to place replicas of the volumes. The replicas can be placed on any available nodes, with the restriction: no more than one replica of a given volume on one node.

      Note that the ‘Ignored’ value can be used only if there are no zones in the cluster (there are no nodes with the topology.kubernetes.io/zone label).

      Allowed values: TransZonal, Zonal, Ignored

    • spec.volumeAccess string

      The Storage class’s access mode. Might be:

      • Local (in this mode the Storage class’s ‘allowRemoteVolumeAccess’ param equals ‘false’ and Volume Binding mode equals ‘WaitForFirstConsumer’)
      • EventuallyLocal (in this mode the Storage class’s ‘allowRemoteVolumeAccess’ param equals ‘- fromSame:\n - topology.kubernetes.io/zone’, ‘auto-diskful’ param equals ‘30’ minutes, ‘auto-diskful-allow-cleanup’ param equals ’true’, and Volume Binding mode equals ‘WaitForFirstConsumer’)
      • PreferablyLocal (in this mode the Storage class’s ‘allowRemoteVolumeAccess’ param equals ‘- fromSame:\n - topology.kubernetes.io/zone’, and Volume Binding mode equals ‘WaitForFirstConsumer’)
      • Any (in this mode the Storage class’s ‘allowRemoteVolumeAccess’ param equals ‘- fromSame:\n - topology.kubernetes.io/zone’, and Volume Binding mode equals ‘Immediate’)

      Note that the default Volume Access mode is ‘PreferablyLocal’.

      Default: PreferablyLocal

      Allowed values: Local, EventuallyLocal, PreferablyLocal, Any

    • spec.zones array of strings

      Array of zones the Storage class’s volumes should be replicated in. The controller will put a label with the Storage class’s name on the nodes which be actual used by the Storage class.

      Note that for Replication mode ‘Availability’ and ‘ConsistencyAndAvailability’ you have to select exactly 1 or 3 zones.

DRBDStoragePool

Scope: Cluster
Version: v1alpha1

DRBDStoragePool is a Kubernetes Custom Resource that defines a configuration for Linstor Storage-pools.
  • spec object
    Defines desired rules for Linstor’s Storage-pools.
    • spec.lvmvolumegroups array of objects

      An array of names of LVMVolumeGroup resources, whose Volume Groups/Thin-pools will be used to allocate the required space.

      Note that every LVMVolumeGroup resource has to have the same type Thin/Thick as it is in current resource’s ‘Spec.Type’ field.

      • spec.lvmvolumegroups.name string
        Selected LVMVolumeGroup resource’s name.
      • spec.lvmvolumegroups.thinpoolname string
        Selected Thin-pool name.
    • spec.type string

      Defines the volumes type. Might be:

      • LVM (for Thick)
      • LVMThin (for Thin)

      Allowed values: LVM, LVMThin