-
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
usr/local/bin/nerdctl: not found when running kubespray with vagrant #10268
Comments
I'm seeing the same behavior with Debian 12 VMs hosted by proxmox. Kubespray downloads nerdctl (among others) correctly to /tmp/releases then doesn't copy to /usr/local/bin - skips right to trying to pull the flannel image with nertctl and gets a [Errno 2] No such file or directory: b'/usr/local/bin/nerdctl
|
Same errors with Debian 11.7 , Vagrant 2.3.7 and Virtualbox 7.0.8. |
Small fix:
and relaunch ansible. |
Thanks @romch007 @mickaelmonsieur If glad to, feel free to provide a PR. :-) Thank you very much. |
I did that, it gets past the immediate problem with nerdctl not being in /usr/local/bin, but fails later trying to create the kubeadm token (on all nodes) - I think it's related (seems like nerdctl, crictl and runc get downloaded but not configured):
journalctl shows something wrong with the configuration of runc: `sudo journalctl -xeu kubelet | grep failed My guess is it's related to the missing nerdctl thing - playbook seems to skip over configuration for nerdctl, crictl and possibly runc |
Just to be clear, this is a total show-stopper for any use many (i'd argue most) people will have using on-premise kubespray at present. I'm trying to use this to build a cluster with calico on ubuntu; quite vanilla, really... How are no regression tests covering this? I've spent hours trying to figure out how those steps are being "skipped" and from what i can tell, it's not that they're skipped, it's that the configurations happen well later... |
FALSE ALARM. I'd run ansible outside the virtualenvironment. So, this is a very curious failure mode that occurs if you do what i just did, in case anyone else runs into this.... |
Got same error with master branch and debian 12 |
From my perspective, it isn't a false alarm. I ran Ansible per the installation instructions, from inside the VENV and it continues to fail to configure nerdct/etc. I've tried with Debian 12 & Oracle/Rocky and get the same behavior - both on "bare metal" and VMs. |
Same on debian 11 with master branch
Le dim. 23 juil. 2023 à 23:42, Ed W. ***@***.***> a écrit :
… From my perspective, it isn't a false alarm. I ran Ansible per the
installation instructions, from inside the VENV and it continues to fail to
configure nerdct/etc. I've tried with Debian 12 & Oracle/Rocky and get the
same behavior - both on "bare metal" and VMs.
—
Reply to this email directly, view it on GitHub
<#10268 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ADTZEPZPLLVQMXP52QC6FKLXRWLD7ANCNFSM6AAAAAAZ2CSX6M>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
get the same error on ubuntu 20.04. |
Faced similar problem with VBox
Just add this to playbooks/cluster.yml Somehow, Kubespray doesn't copy nerdctl, crictl and runc to /usr/local/bin. So i just make a soft link |
After some investigation, I guess somehow the dependency roles of container-engine which is containerd don't run after containerd CRI selects.
Following the same pattern, this role has some role dependencies and at this point the runc, crictl, and, nerdctl related tasks must run, but they didn't:
So, here is my Quick fix:
|
Thanks @Khodesaeed @roboticsbrian I cannot find the root cause of the issue. Which config file, kubespray commit and OS are used, and is there any important step to reproduce the issue? |
Hi, After some investigation, it could be linked with how dependencies work. It's not uniform across all Ansible version when using
I've started replacing all |
Thanks @RomainMou I do not know how to reproduce it, so have no idea about does it a right approch temporarily. :-) |
Yes @yankay, I've reproduced it on a new cluster installation with:
|
Thank you @RomainMou I upgrade the ansible to
the issue is reproduced.
I think supporting a new ansible version is very good for kubespray. @MrFreezeex @floryut, Would you please give some suggestions :-) |
These lines fixed it on all nodes. |
It is reproducible with Ansible 2.15.4. Today I hit this error.
|
Hi! not sure how you launched kubespray with ansible 2.15.4 but with definitely does not support this version! Please use requirements.txt to install your ansible version |
Still reproducible with latest master ? |
/triage not-reproducible |
May be connected to the issue: after clean installation on Oracle Linux 9, /usr/local/bin was simply not present in $PATH, so I couldn't use binaries (nerdctl included) from my user without specifying the full path to it. This was not affecting the installation process, though - everything worked as expected. |
I am trying to install kubespray using the provided Vagrantfile. The only changes I made were :
All the other files of the repo are unchanged.
Environment:
Cloud provider or hardware configuration:
VirtualBox 7.0.8
OS (
printf "$(uname -srm)\n$(cat /etc/os-release)\n"
):ansible --version
):python --version
):Python 3.11.3
Kubespray version (commit) (
git rev-parse --short HEAD
):b42757d33
Network plugin used:
flannel
Full inventory with variables (
ansible -i inventory/sample/inventory.ini all -m debug -a "var=hostvars[inventory_hostname]"
):Command used to invoke ansible:
vagrant up
Output of ansible run:
On every node:
Anything else do we need to know:
The text was updated successfully, but these errors were encountered: