Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add versioned kubelet config #320

Closed
jds9090 opened this issue Jul 3, 2023 · 5 comments · Fixed by #321
Closed

Add versioned kubelet config #320

jds9090 opened this issue Jul 3, 2023 · 5 comments · Fixed by #321
Assignees
Labels
bug Something isn't working
Milestone

Comments

@jds9090
Copy link
Contributor

jds9090 commented Jul 3, 2023

The current approach for joining nodes is to use kubeadm.
But I got this error

capi-kamaji-test1-md-0-rlm44 login: [   20.688882] cloud-init[889]: 	[WARNING Hostname]: hostname "capi-kamaji-test1-md-0-rlm44" could not be reached
[   20.692392] cloud-init[889]: 	[WARNING Hostname]: hostname "capi-kamaji-test1-md-0-rlm44": lookup capi-kamaji-test1-md-0-rlm44 on 8.8.8.8:53: no such host
[   20.896002] cloud-init[889]: [preflight] Reading configuration from the cluster...
[   20.899104] cloud-init[889]: [preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'
[   21.259830] cloud-init[889]: error execution phase preflight: unable to fetch the kubeadm-config ConfigMap: failed to get component configs: configmaps "kubelet-config-1.22" not found
[   21.268177] cloud-init[889]: To see the stack trace of this error execute with --v=5 or higher

This is because of the kubelet configuration ConfigMap name.

kubelet configuration ConfigMap name for kubeadm < 1.24.

"kubelet-config-%d.%d"

kubelet configuration ConfigMap name for kubeadm >= 1.24.

"kubelet-config"

Related ref

@prometherion
Copy link
Member

I recall the discussion about this: we gave for granted the user would have to use the "latest" kubeadm binary, although installing a < 1.24 Kubernetes version.

However, this wasn't documented, thus the main issue can be considered as a bug since breaking the contract.

@prometherion prometherion added this to the v0.3.1 milestone Jul 3, 2023
@jds9090
Copy link
Contributor Author

jds9090 commented Jul 3, 2023

I recall the discussion about this: we gave for granted the user would have to use the "latest" kubeadm binary, although installing a < 1.24 Kubernetes version.

However, this wasn't documented, thus the main issue can be considered as a bug since breaking the contract.

I assumed that kubeadm version equals to Kubernetes version.

kubeadm can be used with Kubernetes components that are the same version as kubeadm or one version older.

@prometherion
Copy link
Member

Ok, definitely our bad assumption here 🙃

@bsctl
Copy link
Member

bsctl commented Jul 4, 2023

@prometherion @jds9090 we can consider to drop support for < v1.24 as it has reached the end of life: https://endoflife.date/kubernetes
https://kubernetes.io/releases/patch-releases/#non-active-branch-history

@prometherion
Copy link
Member

With @jds9090's fix, we could support it, and I wouldn't go for a drop unless we have an unbearable technical consideration.

Also, deprecating < v1.24 would require more effort in documenting this and explaining it to the users.

Rather, I would move this topic to the Discussion section if we really need to drop this.

@prometherion prometherion added the bug Something isn't working label Jul 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants