The module lifecycle stage: General Availability
The module has requirements for installation
The Deckhouse Kubernetes Platform installs CRDs but does not remove them when a module is disabled. If you no longer need the created CRDs, delete them.
NFSStorageClass
Short names: nsc
Scope: Cluster
Version: v1alpha1
Interface for managing StorageClass for the nfs.csi.k8s.io CSI driver.
Manual creation of StorageClass for this driver is prohibited.
-
objectspecDefines a Kubernetes StorageClass configuration.
-
stringspec.chmodPermissionschmod rights for PVs subdirectory.
Pattern:
^[0-7]{3,4}$ -
objectspec.connection
Required value
NFS server connection settings.-
stringspec.connection.host
Required value
NFS server host.Minimal length:
1 -
booleanspec.connection.mtls
Available in SE, SE+, EE, and FE editions.
Whether to use mTLS — requires TLS to be enabled.
Default:
false -
stringspec.connection.nfsVersion
Required value
NFS version.Allowed values:
3,4.1,4.2 -
string
Required value
NFS server share path.Minimal length:
1 -
booleanspec.connection.tls
Available in SE, SE+, EE, and FE editions.
Whether to use TLS for connection.
Default:
false
-
-
objectspec.mountOptionsStorageClass mount options.
-
stringspec.mountOptions.mountModeNFS share mount mode.
Allowed values:
hard,soft -
booleanspec.mountOptions.readOnlyShare read-only flag.
-
integerspec.mountOptions.retransmissionsThe number of repeated attempts by the NFS client to execute the request before it takes further steps to restore the connection.
Allowed values:
1 <= X -
integerspec.mountOptions.timeout
The time during which the NFS client waits for a response before repeating the NFS request, in tenths of a second.
For example, 600 is 60 seconds.
Allowed values:
1 <= X
-
-
stringspec.reclaimPolicy
Required value
Defines the behavior when a PersistentVolumeClaim (PVC) is deleted.
Allowed values:
Delete— when the PVC is deleted, the associated PersistentVolume (PV) and corresponding data on the NFS server are also deleted;Retain— when the PVC is deleted, the associated PersistentVolume and data on the NFS server are not deleted and require manual removal by the user. See more in the Kubernetes documentation.
Allowed values:
Delete,Retain -
stringspec.volumeBindingMode
Required value
Defines the volume binding mode.
Allowed values:
Immediate— the volume is provisioned immediately after the PersistentVolumeClaim (PVC) is created;WaitForFirstConsumer— the volume is provisioned only when the PVC is first used by a pod. See more in the Kubernetes documentation.
Allowed values:
Immediate,WaitForFirstConsumer -
stringspec.volumeCleanup
This feature is available in Enterprise Edition.
Specifies the cleanup method to be applied to the PV’s subdirectory content before deletion.
If the parameter is omitted, the NFS CSI driver deletes the directory created for the Persistent Volume (PV) on the NFS server without performing any data cleanup. If the parameter is set, the driver erases each file in the PV directory.
Allowed values:
Discard— uses the filesystem’s discard (trim) functionality to free data blocks (this option is available only when supported, for example with NFSv4.2);RandomFillSinglePass— overwrites the content of each file once with random data before deletion. This is implemented by invoking the utilityshred;RandomFillThreePass— overwrites the content of each file three times with random data before deletion. This is implemented by invoking the utilityshred.
Allowed values:
Discard,RandomFillSinglePass,RandomFillThreePass -
objectspec.workloadNodes
-
objectspec.workloadNodes.nodeSelector
Node selector to specify rules for selecting nodes where Persistent Volumes (PVs) created by this StorageClass are allowed to connect.
Combines simple label matches and advanced matching expressions.
If this parameter is omitted, NFS shares can be mounted on any node in the cluster running the Linux OS.
-
array of objectsspec.workloadNodes.nodeSelector.matchExpressions
A list of advanced node selector requirements.
Each requirement specifies a key, an operator, and optional values for filtering nodes based on their labels or other fields.
-
stringspec.workloadNodes.nodeSelector.matchExpressions.key
-
stringspec.workloadNodes.nodeSelector.matchExpressions.operator
Allowed values:
In,NotIn,Exists,DoesNotExist -
array of stringsspec.workloadNodes.nodeSelector.matchExpressions.values
-
-
objectspec.workloadNodes.nodeSelector.matchLabels
A map of labels that must match exactly with the labels of a node.
Nodes that do not match any of the specified labels will be excluded.
-
-
-
-
objectstatusDisplays current information about the StorageClass.
-
array of objectsstatus.conditionsThe latest observations of the resource state. Condition type:
Ready.-
stringstatus.conditions.lastTransitionTimeTimestamp of the last status transition for this condition. It is not bumped when only the reason or the message changes.
-
stringstatus.conditions.messageHuman-readable explanation of the current status.
Maximum length:
32768 -
integerstatus.conditions.observedGenerationThe value of
metadata.generationthis condition was set against.Allowed values:
0 <= X -
stringstatus.conditions.reasonMachine-readable reason for the current status, suitable for log filtering and alerting.
Length:
1..1024Pattern:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ -
stringstatus.conditions.statusCurrent status of the condition.
Allowed values:
True,False,Unknown -
stringstatus.conditions.typeCondition type.
ReadyisTrueonce the StorageClass, the mount-options secret and the VolumeSnapshotClass are in place,Falsewhen a reconcile pass failed, andUnknownbefore the controller has observed the resource.Maximum length:
316Pattern:
^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
-
-
integerstatus.observedGenerationThe value of
metadata.generationthe controller has last acted on. When it trailsmetadata.generation, the controller has not yet processed the latest spec, and the conditions below still describe the previous one. -
stringstatus.phase
The StorageClass current state.
Possible values:
Failed— the controller received incorrect resource configuration or some errors occurred during the operation;Created— the StorageClass was created successfully.
Allowed values:
Failed,Created -
stringstatus.reasonAdditional information about the current state of the StorageClass.
-