-
Notifications
You must be signed in to change notification settings - Fork 6.5k
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 Port-10250 to default kubeadm_ignore_preflight_errors #11900
base: master
Are you sure you want to change the base?
Conversation
As kubelet is started before kubeadm init
Adding the "do-not-merge/release-note-label-needed" label because no release-note block was detected, please follow our release note process to remove it. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: sathieu The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Hi @sathieu. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
First, on the overall change:
kubelet
is started beforekubeadm init
is run.
Is that legitimate from kubespray ? Without context, this looks wrong, so maybe we should not be doing this ? And in that case, that's what we should be fixing.
kubeadm_ignore_preflight_errors: [] | ||
kubeadm_ignore_preflight_errors: | ||
- Port-10250 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This can't be done here because this would break customization of this variable.
It should instead be done locally on the task experiencing the issue, like :
kubespray/roles/kubernetes/kubeadm/tasks/main.yml
Lines 87 to 96 in 0e91000
vars: | |
ignored: | |
- DirAvailable--etc-kubernetes-manifests | |
- "{{ kubeadm_ignore_preflight_errors }}" | |
command: >- | |
timeout -k {{ kubeadm_join_timeout }} {{ kubeadm_join_timeout }} | |
{{ bin_dir }}/kubeadm join | |
--config {{ kube_config_dir }}/kubeadm-client.conf | |
--ignore-preflight-errors={{ ignored | flatten | join(',') }} | |
--skip-phases={{ kubeadm_join_phases_skip | join(',') }} |
Or if this affect several tasks, have another variables which is combined to form the full list at the relevant use sites.
I don't understand why we have this problem and it was not caught by kubespray's CI. Here is our inventory (generated by ansible, so double jinja): https://gitlab.com/kubitus-project/kubitus-installer/-/tree/d97c911f3a6eba275f21c19b5994f55cb3fc3ac5/roles/kubespray/templates/inventory And the renovate MR: https://gitlab.com/kubitus-project/kubitus-installer/-/merge_requests/3610 |
I don't understand why we have this problem and it was not caught by kubespray's CI.
Yeah I was having the same thought, this should happens in all cases.
We're probably missing something here.
Here is our inventory (generated by ansible, so double jinja): https://gitlab.com/kubitus-project/kubitus-installer/-/tree/4c905613744eef7635a2a708564a23c07d23e345/roles/kubespray/templates/inventory
I don't see anything egregious at first glance.
Are you able to reproduce it in another context ? Does it happens on
multiples inventories / clusters ?
|
Not yet, but I can test changing the inventory if there is a suspiciour variable. NB: We are using Debian 12 |
/ok-to-test |
In the manual doc for kubeadm, kubelet is started:
I think it is crashlooping until the cert is available. |
kubelet
is started beforekubeadm init
is run.Since, #11710, this leads to the following error: