DigitalOcean Kubernetes (DOKS) is a managed Kubernetes service that lets you deploy Kubernetes clusters without the complexities of handling the control plane and containerized infrastructure. Clusters are compatible with standard Kubernetes toolchains and integrate natively with DigitalOcean Load Balancers and block storage volumes.
Block storage 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.
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.
|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.10.5 to 1.17 (alpha), 1.18.3+ (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 amd 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:
readyToUsestatus 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, please contact the Support team.