Skip to content

Commit 241c1c7

Browse files
committed
kubeadm: feature gate ControlPlaneKubeletLocalMode on init
1 parent 038a948 commit 241c1c7

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

cmd/kubeadm/app/cmd/phases/init/kubeconfig.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import (
2626
"k8s.io/kubernetes/cmd/kubeadm/app/cmd/phases/workflow"
2727
cmdutil "k8s.io/kubernetes/cmd/kubeadm/app/cmd/util"
2828
kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants"
29+
"k8s.io/kubernetes/cmd/kubeadm/app/features"
2930
kubeconfigphase "k8s.io/kubernetes/cmd/kubeadm/app/phases/kubeconfig"
3031
kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util"
3132
)
@@ -157,7 +158,16 @@ func runKubeConfigFile(kubeConfigFileName string) func(workflow.RunData) error {
157158
cfg.CertificatesDir = data.CertificateWriteDir()
158159
defer func() { cfg.CertificatesDir = data.CertificateDir() }()
159160

161+
initConfiguration := data.Cfg().DeepCopy()
162+
163+
if features.Enabled(cfg.FeatureGates, features.ControlPlaneKubeletLocalMode) {
164+
if kubeConfigFileName == kubeadmconstants.KubeletKubeConfigFileName {
165+
// Unset the ControlPlaneEndpoint so the creation falls back to the LocalAPIEndpoint for the kubelet's kubeconfig.
166+
initConfiguration.ControlPlaneEndpoint = ""
167+
}
168+
}
169+
160170
// creates the KubeConfig file (or use existing)
161-
return kubeconfigphase.CreateKubeConfigFile(kubeConfigFileName, data.KubeConfigDir(), data.Cfg())
171+
return kubeconfigphase.CreateKubeConfigFile(kubeConfigFileName, data.KubeConfigDir(), initConfiguration)
162172
}
163173
}

0 commit comments

Comments
 (0)