You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- upgrade binary-version to 1.31 (compat-version stays at 1.28 - this is our skip-level binary upgrade)
@@ -253,7 +255,7 @@ compatibility version to determine which features to enable to match the set of
253
255
features that where enabled for the Kubernetes version the compatibility version
254
256
is set to.
255
257
256
-
#### Feature Gate Lifespans
258
+
#### Feature Gate Lifecycles
257
259
258
260
`--feature-gates` must behave the same as it did for the Kubernetes
259
261
version the compatibility version is set to. I.e. it must be possible to use
@@ -429,8 +431,7 @@ This might be a good place to talk about core concepts and how they relate.
429
431
430
432
### Risks and Mitigations
431
433
432
-
Risk: Introducing this change increases the maintenance burden on Kubernetes
433
-
maintainers.
434
+
#### Risk: Increased maintenance burden on Kubernetes maintainers
434
435
435
436
Why we think this is manageable:
436
437
@@ -444,17 +445,21 @@ Why we think this is manageable:
444
445
- Some maintenance becomes simpler as the additional version data about
445
446
features makes them easier to reason about and keep track of.
446
447
447
-
<!--
448
-
What are the risks of this proposal, and how do we mitigate? Think broadly.
449
-
For example, consider both security and how this will impact the larger
450
-
Kubernetes ecosystem.
448
+
#### Risk: Unintended and out-of-allowance compatibility skew
451
449
452
-
How will security be reviewed, and by whom?
450
+
From @deads2k: "I see an additional risk of unintended and out-of-allowance compatibility skew between binaries. A kube-apiserver and kube-controller-manager contract is still +/-1 (as far as I see here). This compatibility level, especially across three versions, makes it more likely for accidental mismatches.
453
451
454
-
How will UX be reviewed, and by whom?
452
+
While a hard shutdown of a process is likely worse than the disease, exposing some sort of externally trackable signal for cluster-admins and describing how to use it could significantly mitigate the problem."
455
453
456
-
Consider including folks who also work outside the SIG or subproject.
457
-
-->
454
+
Possible mitigations:
455
+
456
+
- Clients send version numbers in request headers. Servers use this to detect
457
+
out-of-allowance skew. Servers then surface this to cluster administrators.
458
+
- Components register identity leases (apiserver already does this)
459
+
https://github.com/kubernetes/enhancements/pull/4356 proposes doing it for
460
+
controller managers. Components include their version information in the
461
+
identity leases. A separate controller inspects all the leases for skew and
0 commit comments