Available with limitations in: CE
Available without limitations in: BE, SE, SE+, EE
The module lifecycle stage: Preview
The module has requirements for installation
The module is only guaranteed to work if the system requirements are met. As for any other configurations, the module may work, but its smooth operation is not guaranteed.
Requirements
To the Deckhouse version: 1.72 and above.
To the versions of other modules:
-
sds-node-configurator: 0.6.1 and above. -
snapshot-controller: any version.
Conversions
The module is configured using the ModuleConfig resource, the schema of which contains a version number. When you apply an old version of the ModuleConfig schema in a cluster, automatic transformations are performed. To manually update the ModuleConfig schema version, the following steps must be completed sequentially for each version:
-
Updates from version 1 to 2:
Need to remove the
.enableThinProvisioningparameter.
Parameters
Schema version: 2
-
-
objectsettings.backupModule backup settings
-
booleansettings.backup.enabledModule backup state
Default:
true -
integersettings.backup.retentionCountNumber of backups to keep
Default:
7 -
stringsettings.backup.scheduleBackup schedule
Default:
0 3 * * *
-
-
objectsettings.dataNodesSettings for Linstor on nodes with data
Default:
{}-
objectsettings.dataNodes.nodeSelector
The same as in the Pods
spec.nodeSelectorparameter in Kubernetes.If parameter is omitted, Linstor nodes will be placed on all nodes.
Caution! Changing this parameter does not result in data redistribution. If node with data no longer matches the
nodeSelector, data on that node will become inaccessible.Default:
{ "kubernetes.io/os": "linux" }
-
-
objectsettings.drbdPortRangeSettings for DRBD TCP ports
Default:
{}-
integersettings.drbdPortRange.maxPortDRBD ports range end
Default:
7999 -
integersettings.drbdPortRange.minPortDRBD ports range start
Default:
7000
-
-
stringsettings.logLevelModule log level
Default:
INFOAllowed values:
ERROR,WARN,INFO,DEBUG,TRACE -
stringsettings.registrySchemeDeprecated parameter. Remove it from ModuleConfig for Deckhouse with version greater than 1.57.
Default:
https -
array of stringssettings.storageClassLabelIgnoredPrefixes
List of label-key prefixes that MUST NOT be propagated from a ReplicatedStorageClass to the managed Kubernetes StorageClass.
The controller treats this list as a complement to a built-in (system) list and drops any ReplicatedStorageClass label whose key starts with any prefix from either list.
Matching is literal
strings.HasPrefix(Go semantics): an entry without a trailing/matches by substring, NOT by full label key. For example,teamwould drop every key starting withteam(team,team-id,team.example.com/...). To restrict matching to a specific subdomain, end the entry with/(e.g.argocd.argoproj.io/). To target an exact label key, write the full key and be aware it also matches keys whose name extends it (e.g.app.kubernetes.io/managed-byalso dropsapp.kubernetes.io/managed-by-foo).Note that
kubernetes.io/in the system list matches only labels whose key literally starts withkubernetes.io/; reserved subdomains such astopology.kubernetes.io/zoneornode.kubernetes.io/*are NOT covered by default — add them here explicitly if your environment requires it.The defaults cover labels typically added by GitOps tooling (Argo CD, Flux, Rancher Fleet) so that their reconcilers do not fight the storage controller over labels on the managed StorageClass.
Default:
[ "argocd.argoproj.io/", "kustomize.toolkit.fluxcd.io/", "helm.toolkit.fluxcd.io/", "fleet.cattle.io/" ]
-