@@ -544,6 +544,43 @@ Note this section is a WIP yet.
544
544
545
545
### Version Skew Strategy
546
546
547
+ <!--
548
+ If applicable, how will the component handle version skew with other
549
+ components? What are the guarantees? Make sure this is in the test plan.
550
+
551
+ Consider the following in developing a version skew strategy for this
552
+ enhancement:
553
+ - Does this enhancement involve coordinating behavior in the control plane and
554
+ in the kubelet? How does an n-2 kubelet without this feature available behave
555
+ when this feature is used?
556
+ - Will any other components on the node change? For example, changes to CSI,
557
+ CRI or CNI may require updating that component before the kubelet.
558
+ -->
559
+
560
+ Some definitions first:
561
+ - New kubelet: kubelet with CRI proto files that includes the changes proposed in
562
+ this KEP.
563
+
564
+ - Old kubelet: idem, but CRI proto files doesn't include this changes.
565
+
566
+ - New runtime: container runtime with CRI proto files that includes the changes
567
+ proposed in this KEP.
568
+
569
+ - Old runtime: idem, but CRI proto files doesn't include this changes.
570
+
571
+ New runtime and old kubelet: all works just fine. Kubelet doesn't request userns
572
+ (doesn't have that feature) and therefore the runtime doesn't create them. The
573
+ runtime can detect this situation as the ` user ` field in the ` NamespaceOption `
574
+ will be seen as nil, [ thanks to protobuf] [ proto3-defaults ] . We already tested
575
+ this with real code.
576
+
577
+ Old runtime and new kubelet: all will work fine. As the ` user ` field of the
578
+ ` NamespaceOption ` message is not part of the runtime protofiles, that part is
579
+ ignored by the runtime and pods are created using the host userns.
580
+
581
+
582
+ [ proto3-defaults ] : https://developers.google.com/protocol-buffers/docs/proto3#default
583
+
547
584
## Production Readiness Review Questionnaire
548
585
549
586
<!--
0 commit comments