diff --git a/cmd/kubeadm/app/features/features.go b/cmd/kubeadm/app/features/features.go index 8defd6036f2..bb5470dbbef 100644 --- a/cmd/kubeadm/app/features/features.go +++ b/cmd/kubeadm/app/features/features.go @@ -34,8 +34,6 @@ const ( PublicKeysECDSA = "PublicKeysECDSA" // RootlessControlPlane is expected to be in alpha in v1.22 RootlessControlPlane = "RootlessControlPlane" - // EtcdLearnerMode is expected to be in alpha in v1.27, beta in v1.29, ga in v1.32 - EtcdLearnerMode = "EtcdLearnerMode" // WaitForAllControlPlaneComponents is expected to be alpha in v1.30 WaitForAllControlPlaneComponents = "WaitForAllControlPlaneComponents" // ControlPlaneKubeletLocalMode is expected to be in alpha in v1.31, beta in v1.32 @@ -55,7 +53,6 @@ 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.", }, - EtcdLearnerMode: {FeatureSpec: featuregate.FeatureSpec{Default: true, PreRelease: featuregate.GA, LockToDefault: true}}, WaitForAllControlPlaneComponents: {FeatureSpec: featuregate.FeatureSpec{Default: false, PreRelease: featuregate.Alpha}}, ControlPlaneKubeletLocalMode: {FeatureSpec: featuregate.FeatureSpec{Default: false, PreRelease: featuregate.Alpha}}, NodeLocalCRISocket: {FeatureSpec: featuregate.FeatureSpec{Default: false, PreRelease: featuregate.Alpha}}, diff --git a/cmd/kubeadm/app/phases/etcd/local.go b/cmd/kubeadm/app/phases/etcd/local.go index 9e9b19004af..b7cb697a843 100644 --- a/cmd/kubeadm/app/phases/etcd/local.go +++ b/cmd/kubeadm/app/phases/etcd/local.go @@ -155,11 +155,7 @@ func CreateStackedEtcdStaticPodManifestFile(client clientset.Interface, manifest return err } klog.V(1).Infof("[etcd] Adding etcd member: %s", etcdPeerAddress) - if features.Enabled(cfg.FeatureGates, features.EtcdLearnerMode) { - cluster, err = etcdClient.AddMemberAsLearner(nodeName, etcdPeerAddress) - } else { - cluster, err = etcdClient.AddMember(nodeName, etcdPeerAddress) - } + cluster, err = etcdClient.AddMemberAsLearner(nodeName, etcdPeerAddress) if err != nil { return err } @@ -178,15 +174,13 @@ func CreateStackedEtcdStaticPodManifestFile(client clientset.Interface, manifest return nil } - if features.Enabled(cfg.FeatureGates, features.EtcdLearnerMode) { - learnerID, err := etcdClient.GetMemberID(etcdPeerAddress) - if err != nil { - return err - } - err = etcdClient.MemberPromote(learnerID) - if err != nil { - return err - } + learnerID, err := etcdClient.GetMemberID(etcdPeerAddress) + if err != nil { + return err + } + err = etcdClient.MemberPromote(learnerID) + if err != nil { + return err } fmt.Printf("[etcd] Waiting for the new etcd member to join the cluster. This can take up to %v\n", etcdHealthyCheckInterval*etcdHealthyCheckRetries)