kubeadm: fix the bug that configurable KubernetesVersion not respected during kubeadm join

This commit is contained in:
SataQiu 2022-07-08 19:18:06 +08:00
parent 14599666e6
commit bf4cb96e0f
3 changed files with 8 additions and 2 deletions

View file

@ -74,8 +74,11 @@ var kubeletHandler = handler{
}
func kubeletConfigFromCluster(h *handler, clientset clientset.Interface, clusterCfg *kubeadmapi.ClusterConfiguration) (kubeadmapi.ComponentConfig, error) {
// Resolve possible CI version labels
ver := strings.TrimPrefix(clusterCfg.KubernetesVersion, constants.CIKubernetesVersionPrefix)
// Read the ConfigMap from the cluster based on what version the kubelet is
k8sVersion, err := version.ParseGeneric(clusterCfg.KubernetesVersion)
k8sVersion, err := version.ParseGeneric(ver)
if err != nil {
return nil, err
}

View file

@ -355,6 +355,9 @@ const (
// TODO: Find a better place for this constant
YAMLDocumentSeparator = "---\n"
// CIKubernetesVersionPrefix is the prefix for CI Kubernetes version
CIKubernetesVersionPrefix = "ci/"
// DefaultAPIServerBindAddress is the default bind address for the API Server
DefaultAPIServerBindAddress = "0.0.0.0"

View file

@ -104,7 +104,7 @@ func NormalizeKubernetesVersion(cfg *kubeadmapi.ClusterConfiguration) error {
// Requested version is automatic CI build, thus mark CIKubernetesVersion as `ci/<resolved-version>`
if isCIVersion {
cfg.CIKubernetesVersion = fmt.Sprintf("ci/%s", ver)
cfg.CIKubernetesVersion = fmt.Sprintf("%s%s", constants.CIKubernetesVersionPrefix, ver)
}
cfg.KubernetesVersion = ver