From df44db129b528cadc198519033690d7eaa1ff397 Mon Sep 17 00:00:00 2001 From: "Lubomir I. Ivanov" Date: Tue, 16 Dec 2025 17:31:23 +0100 Subject: [PATCH] kubeadm: remove the FG ControlPlaneKubeletLocalMode The FG went GA in 1.35. It can be removed in 1.36. --- .../app/cmd/phases/join/controlplanejoin.go | 17 ----------------- cmd/kubeadm/app/features/features.go | 6 +----- 2 files changed, 1 insertion(+), 22 deletions(-) diff --git a/cmd/kubeadm/app/cmd/phases/join/controlplanejoin.go b/cmd/kubeadm/app/cmd/phases/join/controlplanejoin.go index c30df5f6577..242d289402a 100644 --- a/cmd/kubeadm/app/cmd/phases/join/controlplanejoin.go +++ b/cmd/kubeadm/app/cmd/phases/join/controlplanejoin.go @@ -72,7 +72,6 @@ func NewControlPlaneJoinPhase() workflow.Phase { RunAllSiblings: true, ArgsValidator: cobra.NoArgs, }, - newEtcdLocalSubphase(), newMarkControlPlaneSubphase(), }, } @@ -90,22 +89,6 @@ func NewEtcdJoinPhase() workflow.Phase { } } -// TODO: Deprecated. Remove once ControlPlaneKubeletLocalMode is removed in 1.36. -// https://github.com/kubernetes/kubeadm/issues/2271 -func newEtcdLocalSubphase() workflow.Phase { - return workflow.Phase{ - Name: "etcd", - Short: "[DEPRECATED] Add a new local etcd member. Deprecated in favor of 'etcd-join' and will be removed in 1.36", - Run: runEtcdPhase, - InheritFlags: getControlPlaneJoinPhaseFlags("etcd"), - ArgsValidator: cobra.NoArgs, - Hidden: true, - RunIf: func(c workflow.RunData) (bool, error) { - return false, nil - }, - } -} - func newMarkControlPlaneSubphase() workflow.Phase { return workflow.Phase{ Name: "mark-control-plane", diff --git a/cmd/kubeadm/app/features/features.go b/cmd/kubeadm/app/features/features.go index e3fbe4bb6c9..9026c0e5162 100644 --- a/cmd/kubeadm/app/features/features.go +++ b/cmd/kubeadm/app/features/features.go @@ -34,9 +34,6 @@ import ( // of code conflicts because changes are more likely to be scattered // across the file. const ( - // ControlPlaneKubeletLocalMode is expected to be in alpha in v1.31, beta in v1.33 - ControlPlaneKubeletLocalMode = "ControlPlaneKubeletLocalMode" - // NodeLocalCRISocket is expected to be in alpha in v1.32, beta in v1.34, ga in v1.36 NodeLocalCRISocket = "NodeLocalCRISocket" @@ -58,8 +55,7 @@ var InitFeatureGates = FeatureList{ DeprecationMessage: "Deprecated in favor of the core kubelet feature UserNamespacesSupport which is beta since 1.30." + " Once UserNamespacesSupport graduates to GA, kubeadm will start using it and RootlessControlPlane will be removed.", }, - ControlPlaneKubeletLocalMode: {FeatureSpec: featuregate.FeatureSpec{Default: true, PreRelease: featuregate.GA, LockToDefault: true}}, - NodeLocalCRISocket: {FeatureSpec: featuregate.FeatureSpec{Default: true, PreRelease: featuregate.Beta}}, + NodeLocalCRISocket: {FeatureSpec: featuregate.FeatureSpec{Default: true, PreRelease: featuregate.Beta}}, } // Feature represents a feature being gated