Kubernetes v1.37: Storage Vers... Note

Kubernetes v1.37: Storage Version Migration Enabled by Default

Storage Version Migration (SVM) has reached General Availability in Kubernetes v1.37, now enabled by default. This feature addresses the challenge of updating the storage version of Kubernetes API resources. Resources are stored using a specific schema representation, and changes to this representation require re-writing existing objects. A common use case is promoting a Custom Resource Definition (CRD) to newer API versions while deprecating older ones. Without SVM, removing old versions was unsafe if resources still used them for storage. Similarly, encryption at rest or key rotation necessitated re-writing stored data to apply new encryption. Previously, this required manual scripting or external tools, which were error-prone and difficult to manage. SVM simplifies this by introducing a declarative StorageVersionMigration API object. The built-in controller watches for these objects and automatically migrates resources to the designated default storage version. Initiating a migration involves creating a StorageVersionMigration object, which the controller then processes. The status of the migration can be monitored, and a successful completion indicates all resources are updated. CRD authors can now include migration manifests directly with CRD upgrades for a streamlined process.