File tree Expand file tree Collapse file tree 1 file changed +9
-5
lines changed
keps/sig-architecture/4330-compatibility-versions Expand file tree Collapse file tree 1 file changed +9
-5
lines changed Original file line number Diff line number Diff line change @@ -494,11 +494,15 @@ StorageVersions specify what version an apiserver uses to write resources to etc
494
494
for each API group. The StorageVersion changes across releases as API groups
495
495
graduate through stability levels.
496
496
497
- The StorageVersions of an API group will need to be modified to track which
498
- StorageVersions was used for each Kubernetes version that the compatibility
499
- version can be set to. This will then be used when the apiserver to write
500
- resources with the same StorageVersions used by the Kubernetes version the
501
- compatibility version is set to.
497
+ During upgrades and downgrades, the storage version is particularly important.
498
+ To enable upgrades and rollbacks, the version selected for storage in etcd in
499
+ version N must be (en/de)codable for k8s versions N-1 through N+1.
500
+
501
+ Thus, to determine the storage version to use at compatibility version N, we
502
+ will find the set of all supported GVRs for each of N-1, N, and N+1 and intersect
503
+ them to find a list of all GVRs supported by every binary version in the window.
504
+ The storage version of each group-resource is the newest
505
+ (using kube-aware version sorting) version found in that list for that group-resource.
502
506
503
507
### API Compatibility Versioning
504
508
You can’t perform that action at this time.
0 commit comments