The module is deprecated.
Use the sds-replicated-volume module instead.
The module is guaranteed to work only in the following cases:
- if stock kernels shipped with the supported distributions are used;
- if a 10 Gbps network is used.
As for any other configurations, the module may work, but its smooth operation is not guaranteed.
DRBDStorageClass
Scope: Cluster
Version: v1alpha1
-
spec
Defines a Kubernetes Storage class configuration.
Note that this field is in read-only mode.
-
spec.isDefaultShould this Storage class be used as default.
Default:
false
-
spec.reclaimPolicy
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
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
Required value
Selected DRBDStoragePool resource’s name. -
spec.topology
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
- 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=
-
spec.volumeAccess
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 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
-
specDefines desired rules for Linstor’s Storage-pools.
-
spec.lvmvolumegroups
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.nameSelected LVMVolumeGroup resource’s name.
-
spec.lvmvolumegroups.thinpoolnameSelected Thin-pool name.
-
-
spec.type
Defines the volumes type. Might be:
- LVM (for Thick)
- LVMThin (for Thin)
Allowed values:
LVM
,LVMThin
-