Модуль устарел.
Переключитесь на использование модуля sds-replicated-volume.
Работоспособность модуля гарантируется только в следующих случаях:
- при использовании стоковых ядер, поставляемых вместе с поддерживаемыми дистрибутивами;
- при использовании сети 10Gbps.
Работоспособность модуля в других условиях возможна, но не гарантируется.
DRBDStorageClass
Scope: Cluster
Version: v1alpha1
-
spec
Defines a Kubernetes Storage class configuration.
Note that this field is in read-only mode.
-
spec.isDefaultНазначить ли дочерний StorageClass классом по умолчанию.
По умолчанию:
false
-
spec.reclaimPolicy
Обязательный параметр
Reclaim policy дочернего StorageClass. Может быть:
- Delete (если PersistentVolumeClaim будет удален, вместе с ним удалится соответствующий PersistentVolume)
- Retain (если PersistentVolumeClaim будет удален, соответствующий PersistentVolume останется нетронутым в статусе Released)
Важно: это поле является неизменяемым и не может быть изменено после первоначального создания ресурса.
Допустимые значения:
Delete
,Retain
-
spec.replication
Режим репликации StorageClass. Может быть:
- None — в этом режиме репликация отключена, и данные существуют только в одном экземпляре.
- Availability — режим репликации, при котором том остается доступным для чтения и записи, даже если одна из реплик тома становится недоступной. Данные хранятся в двух экземплярах на разных узлах. Этот режим предотвращает потерю данных при выходе из строя одного узла, содержащего реплику тома. Однако, если после этого будет безвозвратно потерян оставшийся (активный) узел, данные записанные на этот узел (с момента выхода из строя первого) будут потеряны.
- ConsistencyAndAvailability — режим репликации, при котором том остается доступным для чтения и записи, даже если одна из реплик тома становится недоступной. Данные хранятся в трех экземплярах на разных узлах. Этот режим обеспечивает защиту от потери данных при выходе из строя двух узлов, содержащих реплики тома. Однако при потере двух реплик том переходит в режим только для чтения (Read-Only).
Обратите внимание, что режимом репликации по умолчанию является ‘ConsistencyAndAvailability’. Важно: это поле является неизменяемым и не может быть изменено после первоначального создания ресурса.
По умолчанию:
ConsistencyAndAvailability
Допустимые значения:
None
,Availability
,ConsistencyAndAvailability
-
spec.storagePool
Обязательный параметр
Имя Storage Pool в бэкенде LINSTOR. -
spec.topology
Обязательный параметр
Настройки топологии для томов в создаваемом StorageClass. Может быть:
- TransZonal — реплики для томов будут создаваться в разных зонах (по одной реплике на зону). Для использования этой топологии доступные зоны должны быть указаны в параметре zones, а на узлах кластера должен присутствовать лейбл topology.kubernetes.io/zone=<название зоны>.
- Zonal — все реплики томов создаются в той же зоне, которую планировщик выбрал для размещения пода, использующего данный том. Рекомендуется использовать эту топологию в условиях высокого пинга и/или низкой пропускной способности сети между зонами.
- Ignored — для размещения реплик томов не будет использоваться информация о топологии. Реплики могут размещаться на любых доступных узлах, но с ограничением: не более одной реплики определенного тома на один узел.
Обратите внимание, что создать StorageClass с топологией ‘Ignored’ можно только если в кластере нет зон (нет узлов с лейблами topology.kubernetes.io/zone). Важно: это поле является неизменяемым и не может быть изменено после первоначального создания ресурса.
Допустимые значения:
TransZonal
,Zonal
,Ignored
-
spec.volumeAccess
Режим доступа к данным. Может быть:
- Local — в этом режиме запрещено создание пода на узлах, на которых отсутствует локальная реплика тома, используемого этим подом.
- EventuallyLocal — в этом режиме том будет создан сразу после появления пода и назначения ему рабочего узла. При первоначальном создании пода учитываются настройки его топологии, и локальная реплика, по возможности, будет создана на том же узле, где размещен под. Однако может возникнуть ситуация, когда под создаётся на узле, на котором отсутствует локальная реплика тома. В таком случае под будет подключен по сети к существующим репликам тома, после чего, через 30 минут, на этом узле начнется создание локальной реплики тома, включающее копирование всех данных тома по сети с других реплик на этот узел.
- PreferablyLocal — то же, что и в EventuallyLocal, за исключением того, что под будет постоянно подключен по сети к репликам тома, если он был создан на узле, где отсутствует локальная реплика тома (локальная реплика на этом узле создаваться не будет).
- Any — в этом режиме том будет создан до появления пода и может быть размещен на любом доступном узле без учета настроек топологии у пода, который будет использовать его в будущем. В случае, если под создан на узле, где отсутствует локальная реплика тома, под будет постоянно подключен по сети к репликам тома.
Обратите внимание, что режимом доступа по умолчанию является ‘PreferablyLocal’.
Важно: при использовании настроек EventuallyLocal, PreferablyLocal и Any доступ к данным по сети разрешен только в пределах одной зоны. Запрещено создание пода в зоне, где отсутствует реплика тома.
Важно: это поле является неизменяемым и не может быть изменено после первоначального создания ресурса.
По умолчанию:
PreferablyLocal
Допустимые значения:
Local
,EventuallyLocal
,PreferablyLocal
,Any
-
spec.zones
Список зон, в которых будут созданы реплики тома. Контроллер повесит лейбл с именем StorageClass на те узлы, на которых будет возможно создать реплики томов.
Обратите внимание, что для режимов репликации ‘Availability’ и ‘ConsistencyAndAvailability’ вам необходимо указать 3 зоны, если выбрана топология TransZonal. Обратите внимание, что данный параметр является обязательным, если выбрана топология TransZonal. Важно: это поле является неизменяемым и не может быть изменено после первоначального создания ресурса.
-
DRBDStoragePool
Scope: Cluster
Version: v1alpha1
-
specDefines desired rules for Linstor’s Storage-pools.
-
spec.lvmvolumegroups
Список LVMVolumeGroup-ресурсов, Volume Group’ы/Thin-pool’ы которых будут использованы для создания Storage-pool’ов в бэкенде LINSTOR.
Обратите внимание, что каждый LVMVolumeGroup-ресурс обязан иметь тот же тип (Thin/Thick), что указан в поле ‘Spec.Type’ текущего ресурса.
-
spec.lvmvolumegroups.nameИмя ресурса LVMVolumeGroup.
-
spec.lvmvolumegroups.thinpoolnameИмя выбранного Thin-pool в рамках указанного LVMVolumeGroup. Обязательное поле если вы создаёте DRBDStoragePool с типом LVMThin.
-
-
spec.type
Определяет тип Volume’ов. Может быть:
- LVM (для классических LVM-томов)
- LVMThin (для Thin-томов)
Допустимые значения:
LVM
,LVMThin
-