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.
VolumeSnapshotClass
Scope: Cluster
-
stringapiVersionAPI version of this object representation. Servers convert recognized schemas to the latest internal value and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
-
stringdeletionPolicy
Controls the deletion behavior of VolumeSnapshotContent and its physical snapshot when the bound VolumeSnapshot is deleted. Supported values:
Retain: VolumeSnapshotContent and its physical snapshot on the underlying storage system are preserved.Delete: VolumeSnapshotContent and its physical snapshot on the underlying storage system are removed.
Allowed values:
Delete,Retain -
stringdriverName of the storage driver that handles this VolumeSnapshotClass.
-
stringkindKind of REST resource this object represents. Servers may infer this value from the endpoint the client submits requests to. Cannot be updated after creation. Value must be in CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
objectmetadata
-
objectparametersKey-value map of driver-specific parameters used when creating snapshots. Parameters are not interpreted by Kubernetes.
-
stringapiVersionAPI version of this object representation. Servers convert recognized schemas to the latest internal value and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
-
stringdeletionPolicy
Controls the deletion behavior of VolumeSnapshotContent and its physical snapshot when the bound VolumeSnapshot is deleted. Supported values:
Retain: VolumeSnapshotContent and its physical snapshot on the underlying storage system are preserved.Delete: VolumeSnapshotContent and its physical snapshot on the underlying storage system are removed.
Allowed values:
Delete,Retain -
stringdriverName of the storage driver that handles this VolumeSnapshotClass.
-
stringkindKind of REST resource this object represents. Servers may infer this value from the endpoint the client submits requests to. Cannot be updated after creation. Value must be in CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
objectparametersKey-value map of driver-specific parameters used when creating snapshots. Parameters are not interpreted by Kubernetes.
VolumeSnapshotContent
Scope: Cluster
-
stringapiVersionAPI version of this object representation. Servers convert recognized schemas to the latest internal value and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
-
stringkindKind of REST resource this object represents. Servers may infer this value from the endpoint the client submits requests to. Cannot be updated after creation. Value must be in CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
objectmetadata
-
objectspecProperties of VolumeSnapshotContent created by the underlying storage system.
-
stringspec.deletionPolicy
Required value
Controls deletion behavior of VolumeSnapshotContent and its physical snapshot when the bound VolumeSnapshot is deleted. Supported values:
Retain: VolumeSnapshotContent and its physical snapshot on the underlying storage system are preserved.Delete: VolumeSnapshotContent and its physical snapshot on the underlying storage system are removed.
For dynamically provisioned snapshots, automatically filled by the CSI snapshotter sidecar with the
DeletionPolicyfield defined in the corresponding VolumeSnapshotClass. For pre-existing snapshots, users must specify when creating the VolumeSnapshotContent object.Allowed values:
Delete,Retain -
stringspec.driver
Required value
CSI driver name used to create the physical snapshot on the underlying storage system. Must be the same as the name returned by the CSI GetPluginName() call for that driver. -
objectspec.source
Required value
Specifies whether the snapshot is (or should be) dynamically provisioned or already exists and requires a Kubernetes object representation. Immutable after creation.-
stringspec.source.snapshotHandleCSI
snapshot_idof a pre-existing snapshot on the underlying storage system for which a Kubernetes object representation was (or should be) created. Immutable. -
stringspec.source.volumeHandleCSI
volume_idof the volume from which a snapshot should be dynamically taken. Immutable.
-
-
stringspec.sourceVolumeModeMode of the volume whose snapshot is taken. Can be either
FilesystemorBlock. If not specified, the source volume’s mode is unknown. Immutable. -
stringspec.volumeSnapshotClassNameVolumeSnapshotClass name from which this snapshot was (or will be) created. After provisioning, the VolumeSnapshotClass may be deleted or recreated with different values and should not be referenced post-snapshot creation.
-
objectspec.volumeSnapshotRef
Required value
VolumeSnapshot object (hereinafter referred to as the referent) to which this VolumeSnapshotContent is bound.VolumeSnapshot.Spec.VolumeSnapshotContentNamefield must reference this VolumeSnapshotContent name for the bidirectional binding to be valid. For a pre-existing VolumeSnapshotContent object, name and namespace of the VolumeSnapshot object must be provided for binding. Immutable after creation.-
stringspec.volumeSnapshotRef.apiVersionAPI version of the referent.
-
stringspec.volumeSnapshotRef.fieldPathIf referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as
desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like:spec.containers{name}(wherenamerefers to the name of the container that triggered the event) or if no container name is specifiedspec.containers[2](container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. -
stringspec.volumeSnapshotRef.kindKind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
stringspec.volumeSnapshotRef.nameName of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-
stringspec.volumeSnapshotRef.namespaceNamespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
-
stringspec.volumeSnapshotRef.resourceVersionSpecific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
-
stringspec.volumeSnapshotRef.uidUID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
-
-
-
objectstatusCurrent information of a snapshot.
-
integerstatus.creationTimeTimestamp when the point-in-time snapshot is taken by the underlying storage system. For dynamic snapshot creation, filled by the CSI snapshotter sidecar with the
creation_timevalue returned from CSICreateSnapshotgRPC call. For a pre-existing snapshot, filled with thecreation_timevalue returned from the CSIListSnapshotsgRPC call if the driver supports it. If not specified, the creation time is unknown. Format is a Unix nanoseconds time encoded as an int64. On Unix, the commanddate +%s%Nreturns the current time in nanoseconds since 1970-01-01 00:00:00 UTC. -
objectstatus.errorLast observed error during snapshot creation, if any. Upon success after retry, the field is cleared.
-
stringstatus.error.messageDetails of the encountered error during snapshot creation if specified. Note: message may be logged, and should not contain sensitive information.
-
stringstatus.error.timeTimestamp when the error was encountered.
-
-
booleanstatus.readyToUseIndicates whether a snapshot is ready to be used to restore a volume. For dynamic snapshot creation, filled by the CSI snapshotter sidecar with the
ready_to_usevalue returned from CSICreateSnapshotgRPC call. For a pre-existing snapshot, filled with theready_to_usevalue returned from the CSIListSnapshotsgRPC call if the driver supports it, otherwise set toTrue. If not specified, the readiness of a snapshot is unknown. -
integerstatus.restoreSizeComplete size of the snapshot in bytes. For dynamic snapshot creation, filled by the CSI snapshotter sidecar with the
size_bytesvalue returned from CSICreateSnapshotgRPC call. For a pre-existing snapshot, filled with thesize_bytesvalue returned from the CSIListSnapshotsgRPC call if the driver supports it. When restoring a volume from this snapshot, the volume size must not be smaller than therestoreSizeif specified, otherwise the restoration will fail. If not specified, the size is unknown.Allowed values:
0 <= X -
stringstatus.snapshotHandleCSI
snapshot_idof a snapshot on the underlying storage system. If not specified, dynamic snapshot creation has either failed or is still in progress. -
stringstatus.volumeGroupSnapshotHandleCSI
group_snapshot_idof a group snapshot on the underlying storage system.
-
-
stringapiVersionAPI version of this object representation. Servers convert recognized schemas to the latest internal value and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
-
stringkindKind of REST resource this object represents. Servers may infer this value from the endpoint the client submits requests to. Cannot be updated after creation. Value must be in CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
objectspecProperties of VolumeSnapshotContent created by the underlying storage system.
-
stringspec.deletionPolicy
Required value
Controls deletion behavior of VolumeSnapshotContent and its physical snapshot when the bound VolumeSnapshot is deleted. Supported values:
Retain: VolumeSnapshotContent and its physical snapshot on the underlying storage system are preserved.Delete: VolumeSnapshotContent and its physical snapshot on the underlying storage system are removed. For dynamically provisioned snapshots, automatically filled by the CSI snapshotter sidecar with theDeletionPolicyfield defined in the corresponding VolumeSnapshotClass. For pre-existing snapshots, users must specify when creating the VolumeSnapshotContent object.
Allowed values:
Delete,Retain -
stringspec.driver
Required value
CSI driver name used to create the physical snapshot on the underlying storage system. -
objectspec.source
Required value
Specifies whether the snapshot is (or should be) dynamically provisioned or already exists and requires a Kubernetes object representation. Immutable after creation.-
stringspec.source.snapshotHandleCSI
snapshot_idof a pre-existing snapshot on the underlying storage system for which a Kubernetes object representation was (or should be) created. Immutable. -
stringspec.source.volumeHandleCSI
volume_idof the volume from which a snapshot should be dynamically taken. Immutable.
-
-
stringspec.volumeSnapshotClassNameVolumeSnapshotClass name from which this snapshot was (or will be) created. After provisioning, the VolumeSnapshotClass may be deleted or recreated with different values and should not be referenced post-snapshot creation.
-
objectspec.volumeSnapshotRef
Required value
VolumeSnapshot object (hereinafter referred to as the referent) to which this VolumeSnapshotContent is bound.VolumeSnapshot.Spec.VolumeSnapshotContentNamefield must reference this VolumeSnapshotContent name for the bidirectional binding to be valid. For a pre-existing VolumeSnapshotContent object, name and namespace of the VolumeSnapshot object must be provided for binding. Immutable after creation.-
stringspec.volumeSnapshotRef.apiVersionAPI version of the referent.
-
stringspec.volumeSnapshotRef.fieldPathIf referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as
desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like:spec.containers{name}(wherenamerefers to the name of the container that triggered the event) or if no container name is specifiedspec.containers[2](container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. -
stringspec.volumeSnapshotRef.kindKind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
stringspec.volumeSnapshotRef.nameName of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
-
stringspec.volumeSnapshotRef.namespaceNamespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
-
stringspec.volumeSnapshotRef.resourceVersionSpecific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
-
stringspec.volumeSnapshotRef.uidUID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
-
-
-
objectstatusCurrent information of a snapshot.
-
integerstatus.creationTimeTimestamp when the point-in-time snapshot is taken by the underlying storage system. For dynamic snapshot creation, filled by the CSI snapshotter sidecar with the
creation_timevalue returned from CSICreateSnapshotgRPC call. For a pre-existing snapshot, filled with thecreation_timevalue returned from the CSIListSnapshotsgRPC call if the driver supports it. If not specified, the creation time is unknown. Format is a Unix nanoseconds time encoded as an int64. On Unix, the commanddate +%s%Nreturns the current time in nanoseconds since 1970-01-01 00:00:00 UTC. -
objectstatus.errorLast observed error during snapshot creation, if any. Upon success after retry, the field is cleared.
-
stringstatus.error.messageDetails of the encountered error during snapshot creation if specified. Note: message may be logged, and should not contain sensitive information.
-
stringstatus.error.timeTimestamp when the error was encountered.
-
-
booleanstatus.readyToUseIndicates whether a snapshot is ready to be used to restore a volume. For dynamic snapshot creation, filled by the CSI snapshotter sidecar with the
ready_to_usevalue returned from CSICreateSnapshotgRPC call. For a pre-existing snapshot, filled with theready_to_usevalue returned from the CSIListSnapshotsgRPC call if the driver supports it, otherwise set toTrue. If not specified, the readiness of a snapshot is unknown. -
integerstatus.restoreSizeComplete size of the snapshot in bytes. For dynamic snapshot creation, filled by the CSI snapshotter sidecar with the
size_bytesvalue returned from CSICreateSnapshotgRPC call. For a pre-existing snapshot, filled with thesize_bytesvalue returned from the CSIListSnapshotsgRPC call if the driver supports it. When restoring a volume from this snapshot, the volume size must not be smaller than therestoreSizeif specified, otherwise the restoration will fail. If not specified, the size is unknown.Allowed values:
0 <= X -
stringstatus.snapshotHandleCSI
snapshot_idof a snapshot on the underlying storage system. If not specified, dynamic snapshot creation has either failed or is still in progress.
-
VolumeSnapshot
Scope: Namespaced
-
stringapiVersionAPI version of this object representation. Servers convert recognized schemas to the latest internal value and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
-
stringkindKind of REST resource this object represents. Servers may infer this value from the endpoint the client submits requests to. Cannot be updated after creation. Value must be in CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
objectmetadata
-
objectspecDesired characteristics of a snapshot requested by a user. More info: https://kubernetes.io/docs/concepts/storage/volume-snapshots#volumesnapshots
-
objectspec.source
Required value
Specifies where a snapshot will be created from. Immutable after creation.-
stringspec.source.persistentVolumeClaimNameName of the PersistentVolumeClaim object representing the volume from which a snapshot should be created. PVC must be in the same namespace as the VolumeSnapshot object. Specified if the snapshot does not exist and needs to be created. Immutable.
-
stringspec.source.volumeSnapshotContentNameName of a pre-existing VolumeSnapshotContent object representing an existing volume snapshot. Specified if the snapshot already exists and only needs a representation in Kubernetes. Immutable.
-
-
stringspec.volumeSnapshotClassNameName of the VolumeSnapshotClass requested by the VolumeSnapshot. May be empty to use the default SnapshotClass. A cluster may have multiple default Volume SnapshotClasses: one per CSI Driver. If a SnapshotClass is not specified, VolumeSnapshotSource is checked to determine the associated CSI Driver, and the default VolumeSnapshotClass for that CSI Driver is used. If multiple VolumeSnapshotClasses exist for a CSI Driver and more than one is marked as default, CreateSnapshot fails and generates an event. Empty string is not allowed.
-
-
objectstatusCurrent information of a snapshot. Before using this object, verify that binding between VolumeSnapshot and VolumeSnapshotContent objects is successful by ensuring both objects point at each other.
-
stringstatus.boundVolumeSnapshotContentNameName of the VolumeSnapshotContent object to which this VolumeSnapshot object is bound. If not specified, the VolumeSnapshot object has not been successfully bound to a VolumeSnapshotContent object yet. Note: To prevent security issues, verify that binding between VolumeSnapshot and VolumeSnapshotContent objects is successful by ensuring both objects point at each other before using this object.
-
stringstatus.creationTimeTimestamp when the point-in-time snapshot is taken by the underlying storage system. For dynamic snapshot creation, filled by the snapshot controller with the
creation_timevalue returned from CSICreateSnapshotgRPC call. For a pre-existing snapshot, filled with thecreation_timevalue returned from the CSIListSnapshotsgRPC call if the driver supports it. If not specified, the creation time of the snapshot is unknown. -
objectstatus.errorLast observed error during snapshot creation, if any. Useful to upper level controllers (i.e., application controller) to decide whether to continue waiting for the snapshot to be created based on the error type. The snapshot controller keeps retrying when an error occurs during snapshot creation. Upon success, the field is cleared.
-
stringstatus.error.messageDetails of the encountered error during snapshot creation if specified. Note: message may be logged, and it should not contain sensitive information.
-
stringstatus.error.timeTimestamp when the error was encountered.
-
-
booleanstatus.readyToUseIndicates if the snapshot is ready to be used to restore a volume. For dynamic snapshot creation, filled by the snapshot controller with the
ready_to_usevalue returned from CSICreateSnapshotgRPC call. For a pre-existing snapshot, filled with theready_to_usevalue returned from the CSIListSnapshotsgRPC call if the driver supports it, otherwise set toTrue. If not specified, the readiness of a snapshot is unknown. -
stringstatus.restoreSizeMinimum size of volume required to create a volume from this snapshot. For dynamic snapshot creation, filled by the snapshot controller with the
size_bytesvalue returned from CSICreateSnapshotgRPC call. For a pre-existing snapshot, filled with thesize_bytesvalue returned from the CSIListSnapshotsgRPC call if the driver supports it. When restoring a volume from this snapshot, the volume size must not be smaller than therestoreSizeif specified, otherwise the restoration will fail. If not specified, the size is unknown.Pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ -
stringstatus.volumeGroupSnapshotNameName of the VolumeGroupSnapshot of which this VolumeSnapshot is a part.
-
-
stringapiVersionAPI version of this object representation. Servers convert recognized schemas to the latest internal value and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
-
stringkindKind of REST resource this object represents. Servers may infer this value from the endpoint the client submits requests to. Cannot be updated after creation. Value must be in CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
objectspecDesired characteristics of a snapshot requested by a user. More info: https://kubernetes.io/docs/concepts/storage/volume-snapshots#volumesnapshots
-
objectspec.source
Required value
Specifies where a snapshot will be created from. Immutable after creation.-
stringspec.source.persistentVolumeClaimNameName of the PersistentVolumeClaim object representing the volume from which a snapshot should be created. PVC must be in the same namespace as the VolumeSnapshot object. Specified if the snapshot does not exist and needs to be created. Immutable.
-
stringspec.source.volumeSnapshotContentNameName of a pre-existing VolumeSnapshotContent object representing an existing volume snapshot. Specified if the snapshot already exists and only needs a representation in Kubernetes. Immutable.
-
-
stringspec.volumeSnapshotClassNameName of the VolumeSnapshotClass requested by the VolumeSnapshot. May be empty to use the default SnapshotClass. A cluster may have multiple default Volume SnapshotClasses: one per CSI Driver. If a SnapshotClass is not specified, VolumeSnapshotSource is checked to determine the associated CSI Driver, and the default VolumeSnapshotClass for that CSI Driver is used. If multiple VolumeSnapshotClasses exist for a CSI Driver and more than one is marked as default, CreateSnapshot fails and generates an event. Empty string is not allowed.
-
-
objectstatusCurrent information of a snapshot. Before using this object, verify that binding between VolumeSnapshot and VolumeSnapshotContent objects is successful by ensuring both objects point at each other.
-
stringstatus.boundVolumeSnapshotContentNameName of the VolumeSnapshotContent object to which this VolumeSnapshot object is bound. If not specified, the VolumeSnapshot object has not been successfully bound to a VolumeSnapshotContent object yet. Note: To prevent security issues, verify that binding between VolumeSnapshot and VolumeSnapshotContent objects is successful by ensuring both objects point at each other before using this object.
-
stringstatus.creationTimeTimestamp when the point-in-time snapshot is taken by the underlying storage system. For dynamic snapshot creation, filled by the snapshot controller with the
creation_timevalue returned from CSICreateSnapshotgRPC call. For a pre-existing snapshot, filled with thecreation_timevalue returned from the CSIListSnapshotsgRPC call if the driver supports it. If not specified, the creation time of the snapshot is unknown. -
objectstatus.errorLast observed error during snapshot creation, if any. Useful to upper level controllers (i.e., application controller) to decide whether to continue waiting for the snapshot to be created based on the error type. The snapshot controller keeps retrying when an error occurs during snapshot creation. Upon success, the field is cleared.
-
stringstatus.error.messageDetails of the encountered error during snapshot creation if specified. Note: message may be logged, and it should not contain sensitive information.
-
stringstatus.error.timeTimestamp when the error was encountered.
-
-
booleanstatus.readyToUseIndicates if the snapshot is ready to be used to restore a volume. For dynamic snapshot creation, filled by the snapshot controller with the
ready_to_usevalue returned from CSICreateSnapshotgRPC call. For a pre-existing snapshot, filled with theready_to_usevalue returned from the CSIListSnapshotsgRPC call if the driver supports it, otherwise set toTrue. If not specified, the readiness of a snapshot is unknown. -
stringstatus.restoreSizeMinimum size of volume required to create a volume from this snapshot. For dynamic snapshot creation, filled by the snapshot controller with the
size_bytesvalue returned from CSICreateSnapshotgRPC call. For a pre-existing snapshot, filled with thesize_bytesvalue returned from the CSIListSnapshotsgRPC call if the driver supports it. When restoring a volume from this snapshot, the volume size must not be smaller than therestoreSizeif specified, otherwise the restoration will fail. If not specified, the size is unknown.Pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ -
stringstatus.volumeGroupSnapshotNameName of the VolumeGroupSnapshot of which this VolumeSnapshot is a part.
-