Skip to content

Commit 8091211

Browse files
committed
Add documentation for VolumeAttributesClass
1 parent 306ba63 commit 8091211

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

book/src/SUMMARY.md

+1
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
- [Volume Mode Conversion](prevent-volume-mode-conversion.md)
4747
- [Cross-Namespace Data Sources](cross-namespace-data-sources.md)
4848
- [Changed Block Tracking](changed-block-tracking.md)
49+
- [Volume Attributes Class](volume-attributes.md)
4950
- [Deploying a CSI Driver on Kubernetes](deploying.md)
5051
- [Example](example.md)
5152
- [Driver Testing](testing-drivers.md)

book/src/volume-attributes.md

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Volume Attributes Classes
2+
3+
## Status
4+
5+
Status | Min K8s Version | Max K8s Version | external-provisioner Version
6+
-------|-----------------|-----------------|-----------------------------
7+
Alpha | 1.29 | - | 5.0.2+
8+
Beta | 1.31 | - | 5.1.0+
9+
10+
## Overview
11+
A `VolumeAttributesClass` is a cluster-scoped resource that can be used to control and change the settings of a `PersistentVolume`.
12+
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.
13+
14+
> See the [Kubernetes Enhancement Proposal](https://github.com/kubernetes/enhancements/blob/master/keps/sig-storage/3751-volume-attributes-class/README.md)
15+
> for more details on the background, design and discussions.
16+
17+
## Usage
18+
This feature is enabled by default in the [external-provisioner](https://github.com/kubernetes-csi/external-provisioner/?tab=readme-ov-file#feature-status).
19+
20+
To take advantage of `VolumeAttibutesClass` feature:
21+
* The CSI driver must implement the `MODIFY_VOLUME` capability.
22+
* The Kubernetes administrator must create the `VolumeAttributesClass` with the relevant `parameters` for the `driverName`
23+
* The user can then patch the `PersistentVolume` under `spec.volumeAttributesClassName` to select or update the settings he needs for the volume.
24+
25+
> 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.

0 commit comments

Comments
 (0)