Trending:

Kubernetes v1.37 GA: Storage Version Migration Enabled by Default

Kubernetes Storage Version Migration GA in v1.37
TechStaged-owned

Summary

  • Storage Version Migration is GA and enabled by default in Kubernetes v1.37.
  • The built‑in StorageVersionMigration API and control plane controller are fully stable and enabled by default across all v1.37 Kubernetes clusters.
  • Kubernetes stores resources using a storage version and mutating resources is required to ensure the latest storage version is used for all resources.

Kubernetes v1.37 marks General Availability for the built‑in StorageVersionMigration API and its control plane component, with migration enabled by default across v1.37 clusters.

WHY STORAGE VERSION MIGRATION MATTERS

Kubernetes stores resources using a storage version (a schema representation). Mutating resources is often required to ensure the latest storage version is used for all resources, which creates challenges when upgrading or dropping older API versions. In particular, promoting a CRD from an older version (for example, v1alpha1) to a newer version (leaving only v1beta1 and v1) requires care to avoid leaving resources serialized in an older version. TechStaged has also covered JetBrains to Sunset the Teacher Pack for Bootcamps, Final Applications Due September 30, 2026.

HOW STORAGE VERSION MIGRATION WORKS

Administrators can declare a StorageVersionMigration object. The built‑in StorageVersionMigrator controller watches for these objects and migrates existing resources to the API’s default storage version.

MONITORING MIGRATIONS

The StorageVersionMigrator updates the status of the StorageVersionMigration object as progress occurs. You can inspect the migration status with kubectl; a successful migration reports a Succeeded condition set to True, indicating that all resources are stored in the current storage version.

CRD CONSIDERATIONS

For CRDs, the stored version should reflect the preferred version in the CRD’s .status.storedVersions after a migration. If the storedVersions field is not updated following a migration, the migration should be retried to safely deprecate an older storage version.

  • Ensure the CRD is upgraded to include the new storage version as the default.
  • Run or re-run a migration to rewrite existing resources to the new storage version.

BUNDLING MIGRATIONS WITH CRD UPGRADES

Migrations can be bundled with CRD upgrades in manifests, enabling upgrades to proceed alongside the new storage version. The official task guide—Migrate Kubernetes Objects Using Storage Version Migration—provides step-by-step guidance.

  • Create a StorageVersionMigration object for the target API.
  • Monitor progress and verify that resources are rewritten to the new storage version.
  • If needed, retry migrations when storage versions aren’t fully updated.

WHAT HAPPENS NEXT

The Storage Version Migration feature is part of Kubernetes’ ongoing API Machinery efforts. SIG API Machinery invites feedback as adoption continues across clusters.

Reporting by Owen Blackridge; editing by TechStaged editors

Editorial disclosure: This article was prepared with AI assistance from a source-limited research package and passed TechStaged's automated factual, originality, licensing, and publication checks.

Our Standards: The TechStaged Editorial Principles.

f in

Owen Blackridge

Owen Blackridge

Technology Editor

Owen covers platform shifts, AI launches, and the practical impact of emerging technology on small teams.