Skip to content

Commit 69eeb90

Browse files
authored
Merge pull request #616 from coulof/volume-attributes
Add documentation for VolumeAttributesClass
2 parents 47888ab + 9df4668 commit 69eeb90

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

book/src/SUMMARY.md

Lines changed: 1 addition & 0 deletions
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-class.md)
4950
- [Deploying a CSI Driver on Kubernetes](deploying.md)
5051
- [Example](example.md)
5152
- [Driver Testing](testing-drivers.md)

book/src/volume-attributes-class.md

Lines changed: 25 additions & 0 deletions
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 | external-resizer
6+
-------|-----------------|-----------------|-----------------------|-------------------------
7+
Alpha | 1.29 | - | v4.0.0 | v1.10.0
8+
Beta | 1.31 | - | v5.1.0 | v1.12.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 `PersistentVolumeClaim` 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)