Kubernetes v1.29 introduces a feature enabling the modification of volume attributes by changing the VolumeAttributesClassName specified in a PVC.
This feature simplifies the process of updating volume attributes, such as IOPS and throughput, which previously required direct interaction with provider APIs.
The VolumeAttributesClass API defines a specification of mutable volume attributes for CSI drivers, which can be applied during PVC provisioning or modified after provisioning.
The ModifyVolumeStatus API represents the status of the ControllerModifyVolume operation used to update volume attributes.
To use this feature, the relevant feature gate must be enabled in the kube-controller-manager and kube-apiserver.
The CSI driver must also implement the ModifyVolume API.
Users can define a VolumeAttributesClass and specify it in a PVC to apply the desired volume attributes during provisioning.
Changing the VolumeAttributesClassName in the PVC will trigger the external-resizer sidecar to initiate a CSI ControllerModifyVolume operation.
This feature enables the dynamic modification of volume attributes without the need for manual intervention or provider-specific APIs.
Feedback from the community is encouraged to help move this feature towards beta.
Contributors involved in the development of this feature include Baofa Fan, Ben Swartzlander, Connor Catlett, Hemant Kumar, Jan Šafránek, Joe Betz, Jordan Liggitt, Matthew Cary, Michelle Au, and Xing Yang.
kubernetes.io
kubernetes.io
Create attached notes ...
