k3k: agent-less k3s in Kubernetes
Summary in Three Points Controlplane on demand: With k3k, you can run a fully-fledged k3s control …
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: provider1This 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
Summary in Three Points Controlplane on demand: With k3k, you can run a fully-fledged k3s control …
Kubernetes has evolved from an experimental playground to the de facto standard for cloud-native …
An Oath of Disclosure – in the Truest Sense of the Word We’ve suspected it for a long time, …