With Kubernetes v1.33: Image Volumes Now in Beta!
Image Volumes were introduced as an alpha feature in Kubernetes version v1.31 and have now been …
Kubernetes Volume Populators are now generally available (GA)! With the AnyVolumeDataSource feature, users can now specify any suitable custom resource as a data source for a PersistentVolumeClaim (PVC).
An example of how to use dataSourceRef in PVC:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc1
spec:
...
dataSourceRef:
apiGroup: provider.example.com
kind: Provider
name: provider1
This release includes four significant improvements compared to the Beta.
During the Beta phase, Kubernetes contributors identified potential resource leaks when deleting PersistentVolumeClaims (PVC) while volume population was still in progress. These leaks occurred due to limitations in handling finalizers. Before graduating to general availability, the Kubernetes project added support for deleting temporary resources (PVC prime, etc.) when the original PVC is deleted.
To achieve this, three new plugin-based functions were introduced:
PopulateFn(): Executes the provider-specific data population logic.PopulateCompleteFn(): Checks if the data population process has successfully completed.PopulateCleanupFn(): Cleans up temporary resources created by provider-specific functions after data population is complete.An example provider has been added in lib-volume-populator/example.
For GA, the CSI volume populator controller code received a MutatorConfig, allowing the specification of mutator functions to modify Kubernetes resources. For example, if the PVC prime is not an exact copy of the PVC and you need provider-specific information for the driver, you can include this information in the optional MutatorConfig. This allows you to customize Kubernetes objects within the volume populator.
Our Beta phase revealed a new need: the necessity to aggregate metrics not only from lib-volume-populator but also from other components within the provider code.
To address this, SIG Storage introduced a Provider Metric Manager. This improvement delegates the implementation of metric logic to the provider itself, rather than relying solely on lib-volume-populator. This change offers more flexibility and control over metric collection and aggregation, enabling a more comprehensive view of the provider’s performance.
During the Beta phase, we identified potential resource leaks when deleting PersistentVolumeClaims (PVC) during volume population due to limitations in handling finalizers. We improved the populator to support the deletion of temporary resources (PVC prime, etc.) when the original PVC is deleted in this GA release.
To try it out, please follow the steps in the previous Beta blog.
For developers and DevOps teams, this new GA release brings numerous benefits that can significantly ease working with PersistentVolumeClaims. For questions or support, ayedo, your Kubernetes partner, is ready to assist!
Source: Kubernetes Blog
Image Volumes were introduced as an alpha feature in Kubernetes version v1.31 and have now been …
The release of Kubernetes 1.29 introduces an exciting new feature: an alpha capability that allows …
The release of Kubernetes 1.24 introduces Storage Capacity Tracking as a generally available …