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
Copy file name to clipboardExpand all lines: keps/sig-cluster-lifecycle/kubeadm/4471-cp-join-kubelet-local-apiserver/README.md
+11-10Lines changed: 11 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -137,10 +137,10 @@ Items marked with (R) are required *prior to targeting to a milestone / release*
137
137
-[ ] (R) Design details are appropriately documented
138
138
-[ ] (R) Test plan is in place, giving consideration to SIG Architecture and SIG Testing input (including test refactors)
139
139
-[ ] e2e Tests for all Beta API Operations (endpoints)
140
-
-[ ] (R) Ensure GA e2e tests meet requirements for [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
140
+
-[ ] (R) Ensure GA e2e tests meet requirements for [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
141
141
-[ ] (R) Minimum Two Week Window for GA e2e tests to prove flake free
142
142
-[ ] (R) Graduation criteria is in place
143
-
-[ ] (R) [all GA Endpoints](https://github.com/kubernetes/community/pull/1806) must be hit by [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
143
+
-[ ] (R) [all GA Endpoints](https://github.com/kubernetes/community/pull/1806) must be hit by [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
144
144
-[ ] (R) Production readiness review completed
145
145
-[ ] (R) Production readiness review approved
146
146
-[ ] "Implementation History" section is up-to-date for milestone
@@ -258,10 +258,10 @@ The overall change is:
258
258
- for `kubeadm init` to adjust the created kubeconfig to point to the local kube-apiserver, which gets created by kubeadm during the `kubeconfig` phase ([xref](https://github.com/kubernetes/kubernetes/blob/8871513c1b64cae321552abfe9a3a90969637560/cmd/kubeadm/app/cmd/phases/init/kubeconfig.go#L87))
259
259
- for `kubeadm upgrade` to edit the kubelet config file to point to the local kube-apiserver.
260
260
261
-
To make this work for `kubeadm join`, an additional change is required: etcd needs to get started and joined to the etcd cluster before waiting for the kubelet to finish its bootstrap process, instead of the other way around.
261
+
To make this work for `kubeadm join`, an additional change is required: etcd needs to get started and joined to the etcd cluster before waiting for the kubelet to finish its bootstrap process, instead of the other way around.
262
262
This requires reordering some of the operations done in different kubeadm phases by extracting the relevant parts into separate phases and changing their order.
263
263
264
-
Because reordering the phases can be considered a breaking change to the CLI of kubeadm for some users, this should get done behind a feature gate, while preserving the previous behavior when the feature gate is disabled.
264
+
Because reordering the phases can be considered a breaking change to the CLI of kubeadm for some users, this should get done behind a feature gate, while preserving the previous behavior when the feature gate is disabled.
265
265
266
266
### User Stories (Optional)
267
267
@@ -274,15 +274,15 @@ bogged down.
274
274
275
275
#### Story 1
276
276
277
-
As a kubeadm user, I wish no component violates the Kubernetes version skew policy when joining a control plane node.
277
+
As a kubeadm user, I wish no component violates the Kubernetes version skew policy when joining a control plane node.
278
278
279
279
#### Story 2
280
280
281
281
As a kubeadm user, I wish the kubelet of a joining control plane node points to the local kube-apiserver.
282
282
283
283
#### Story 3
284
284
285
-
As a kubeadm user, I wish the CLI of kubeadm to be stable and breaking changes to it to be announced ahead of time.
285
+
As a kubeadm user, I wish the CLI of kubeadm to be stable and breaking changes to it to be announced ahead of time.
286
286
287
287
#### Story 4
288
288
@@ -617,7 +617,7 @@ enhancement:
617
617
618
618
- N/A -> Alpha: users can patch their `ClusterConfiguration` in the `kube-system/kubeadm-config` ConfigMap to enable the `ControlPlaneKubeletLocalMode` feature gate, before calling `kubeadm upgrade apply`. This will allow them to join control plane nodes with this feature enabled. This scenario is anticipated as rare, because usually users maintain a stable control plane with 3 or more members before upgrading it. But it is still plausible and can be documented in the feature gate documentation. The `kubelet.conf` on existing nodes can also be edited to match the new behavior.
619
619
- Alpha -> Beta: similarly to the previous stage users can modify the `ClusterConfiguration` to disable the feature gate during upgrade. This will allow them to use the "old way", in case they wish to join more control plane nodes to the cluster while the feature gate is enabled by default.
620
-
- Beta -> GA: users could no longer patch the `ClusterConfiguration` to opt-out of the feature and it will be locked to be enabled by default.
620
+
- Beta -> GA: users could no longer patch the `ClusterConfiguration` to opt-out of the feature and it will be locked to be enabled by default.
621
621
622
622
### Version Skew Strategy
623
623
@@ -659,14 +659,15 @@ Major milestones might include:
659
659
- 12.07.2024: KEP adjusted to match discussed implementation.
660
660
- 15.07.2024: KEP alpha implementation merged.
661
661
- 06.02.2024: PRs to promote the feature gate to Beta.
662
+
- 17.09.2025: PRs to promote the feature gate to GA.
662
663
663
664
## Drawbacks
664
665
665
666
<!--
666
667
Why should this KEP _not_ be implemented?
667
668
-->
668
669
669
-
Moving or introducing new phases are breaking changes to the CLI of kubeadm.
670
+
Moving or introducing new phases are breaking changes to the CLI of kubeadm.
670
671
Adding new phases may break users which are executing the single phases manually.
671
672
The changes must be well-documented in release notes for users to adapt the changes.
672
673
@@ -684,8 +685,8 @@ information to express the idea and why it was not acceptable.
684
685
685
686
### Take the risk of violating Kubernetes version skew policy
686
687
687
-
By not introducing the change, users of kubeadm are on risk to hit a case in the future where a violation of the Kubernetes version skew policy happens and joining a control plane node may fail.
688
-
We anticipate such cases to be rare.
688
+
By not introducing the change, users of kubeadm are on risk to hit a case in the future where a violation of the Kubernetes version skew policy happens and joining a control plane node may fail.
0 commit comments