diff --git a/book/src/SUMMARY.md b/book/src/SUMMARY.md index 3f87c22a..31cbd0b1 100644 --- a/book/src/SUMMARY.md +++ b/book/src/SUMMARY.md @@ -46,6 +46,7 @@ - [Volume Mode Conversion](prevent-volume-mode-conversion.md) - [Cross-Namespace Data Sources](cross-namespace-data-sources.md) - [Changed Block Tracking](changed-block-tracking.md) + - [Volume Attributes Class](volume-attributes-class.md) - [Deploying a CSI Driver on Kubernetes](deploying.md) - [Example](example.md) - [Driver Testing](testing-drivers.md) diff --git a/book/src/volume-attributes-class.md b/book/src/volume-attributes-class.md new file mode 100644 index 00000000..3d5fa573 --- /dev/null +++ b/book/src/volume-attributes-class.md @@ -0,0 +1,25 @@ +# Volume Attributes Classes + +## Status + +Status | Min K8s Version | Max K8s Version | external-provisioner | external-resizer +-------|-----------------|-----------------|-----------------------|------------------------- +Alpha | 1.29 | - | v4.0.0 | v1.10.0 +Beta | 1.31 | - | v5.1.0 | v1.12.0 + +## Overview +A `VolumeAttributesClass` is a cluster-scoped resource that can be used to control and change the settings of a `PersistentVolume`. +Its primary use is to adjust the class of service for a volume (e.g., bronze, silver, gold) to meet different performance, quality-of-service, or resilience requirements. + +> See the [Kubernetes Enhancement Proposal](https://github.com/kubernetes/enhancements/blob/master/keps/sig-storage/3751-volume-attributes-class/README.md) +> for more details on the background, design and discussions. + +## Usage +This feature is enabled by default in the [external-provisioner](https://github.com/kubernetes-csi/external-provisioner/?tab=readme-ov-file#feature-status). + +To take advantage of `VolumeAttibutesClass` feature: +* The CSI driver must implement the `MODIFY_VOLUME` capability. +* The Kubernetes administrator must create the `VolumeAttributesClass` with the relevant `parameters` for the `driverName` +* The user can then patch the `PersistentVolumeClaim` under `spec.volumeAttributesClassName` to select or update the settings he needs for the volume. + +> For more information about how to use the feature, visit the [Kubernetes blog](https://kubernetes.io/blog/2024/08/15/kubernetes-1-31-volume-attributes-class/) page.