Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions book/src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
25 changes: 25 additions & 0 deletions book/src/volume-attributes-class.md
Original file line number Diff line number Diff line change
@@ -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.