DigitalOcean Volumes Block Storage Features

DigitalOcean Kubernetes (DOKS) is a managed Kubernetes service. Deploy Kubernetes clusters with a fully managed control plane, high availability, autoscaling, and native integration with DigitalOcean Load Balancers and volumes. DOKS clusters are compatible with standard Kubernetes toolchains and the DigitalOcean API and CLI.


Volumes are integrated into DOKS by leveraging the CSI specification. DigitalOcean’s CSI plugin implements the specification to provide a number of volume-related features.

Support

The availability of a specific CSI feature depends on the employed DOKS version.

The table below outlines the minimum DOKS versions required to use a particular feature. An omitted version supports a feature if it is higher than the latest minimum version listed for that feature. For instance, DOKS version 1.17 supports raw block volumes because it is higher than the latest minimum version 1.16.2-do.3.

Feature Description Available From
Volume Expansion Resize a volume to increase the available disk space 1.16.2-do.3
Raw Block Volumes Use a volume as a block device 1.14.8-do.3, 1.15.5-do.3, 1.16.2-do.3
Volume Statistics Retrieve basic volume metrics (consumable by systems such as Prometheus) 1.14.8-do.3, 1.15.5-do.3, 1.16.2-do.3
Volume Snapshots Create and restore from snapshots 1.12.5 to 1.17 (alpha), 1.18.3+ (beta)

Volume Snapshots Migration from Alpha to Beta

Prior to DOKS 1.18, volume snapshots were supported in the alpha version only. Starting with 1.18, support for alpha volume snapshots has been removed and replaced with support for beta volume snapshots. Kubernetes does not support simultaneous usage of both API versions and does not provide any official means to migrate volume snapshots from alpha to beta.

To upgrade snapshots in tandem with cluster upgrades, we have built a custom mechanism to automatically convert snapshots from the alpha version to the beta version. During the upgrade of a DOKS cluster from any 1.17 version to any 1.18 version, existing snapshot resources (VolumeSnapshotClass, VolumeSnapshotContent, VolumeSnapshot) will be upgraded automatically. Beta volume snapshots will continue to be available under the same names and namespaces.

For the conversion process to complete successfully, you must ensure that a number of prerequisites are met prior to the start of an upgrade to 1.18:

  1. No new volume snapshots are being added to the cluster. In particular, any running processes that generate volume snapshots automatically should be temporarily disabled.
  2. All existing volume snapshots must be in a stable state and must not be in the process of being created, deleted, or in an error state. The readyToUse status field on a volume snapshot resource must be true, deleted volume snapshots must not be available in the cluster anymore, and no error events must be observable on any volume snapshot.

After a successful upgrade to 1.18, verify that your converted volume snapshots work as expected. You can do this by restoring a volume from a snapshot and validating that the resulting data is available and complete.

For further questions or concerns, contact the Support team.