k3s
k3s copied to clipboard
Raspberry pi ZeroW not supported anymore
Environmental Info: K3s Version: v1.19.4+k3s1
Node(s) CPU architecture, OS, and Version:
Linux zarbi-k 4.14.98+ #1200 Tue Feb 12 20:11:02 GMT 2019 armv6l GNU/Linux
Cluster Configuration: 1 master, 4 workers
Describe the bug:
I can run k3s v1.19.3+k3s1 on Raspberry pi Zero W, but not k3s v1.19.4+k3s1. I made some test when different versions:
- v1.19.3+k3s1: OK
- v1.19.4+k3s1: OK
- v1.19.4+k3s2: OK
- v1.19.5+k3s1: OKruns
Steps To Reproduce: On a RaspberryPi Zero W, download and instal k3s v1.19.4+k3s1 then run
$ /usr/local/bin/k3s agent --server https://192.168.3.1:6443 --token ... --pause-image titilambert/armv6-pause:latest --node-taint raspi=true:NoExecute --node-taint raspi=true:NoSchedule --node-taint role=snapclient:NoExecute --node-taint role=snapclient:NoSchedule --debug
Illegal instruction
Expected behavior: It starts
Actual behavior: It doesn't start
We had always intended to only support armv7 and higher, but due to a bug in our build pipeline we were not setting up the go build environment properly and as a result provided binaries that mostly worked on armv6. Our early pre-release builds of v1.19.4 would crash a few seconds after startup on armv7, and the resulting fix was to properly set the minimum architecture level to v7:
https://github.com/k3s-io/k3s/commit/10474638d78def323a657ee7e58761e385acee43#diff-cc1bc65976b3ec6248bb0079f2f78eeab12f1f9da665739637b0cb576f816c06
@brandond thanks ! I see ... :/ Is there any documentation about an unofficial/unsupported way to build it (at least just the node command) for armv6 ? If not, is it possible to create this document somewhere ? (Maybe I can write this documentation?)
Thanks again for your answer !
Hi there,
Have you added new features in 1.19.4 that might break previous builds?
RPi Zero support is quite useful for people to try a low cost k3s cluster on their desk using https://clusterhat.com/
Yes, you can fit Banana Pi M2 Zero (which is armv7) on the same HAT, but these M2 Zero's jump to 70C degrees in a few minutes without some heavy cooling which defeats the whole purpose of having a small k3s
Please consider these smaller use cases if you started on the road of stripping k8s down to k3s
Many thanks, Ciprian
See https://github.com/k3s-io/k3s/issues/2788#issuecomment-757409729
This repository uses a bot to automatically label issues which have not had any activity (commit/comment/label) for 180 days. This helps us manage the community issues better. If the issue is still relevant, please add a comment to the issue so the bot can remove the label and we know it is still valid. If it is no longer relevant (or possibly fixed in the latest release), the bot will automatically close the issue in 14 days. Thank you for your contributions.
lets test this with latest Kubernetes before closing it
Is it true that the Raspberry Pi 2 Zero will be supported since it is an Arm Cortex-A53 based device (which is ARMv8-A architecture)?
Its worth a try! No-one on the team has one yet but I suspect it will work.
Linux zero2w 5.10.92-v7+ #1514 SMP Mon Jan 17 17:36:39 GMT 2022 armv7l GNU/Linux
Looks promising that it should run, though I've not tried properly yet.
Edit: I tried a little and it runs ok, though as it only has 512MB ram it's a little sluggish as a server
Tried adding a Pi ZeroW (not the 2) to my cluster today. It seems this issue hasn't really had a resolution. Would it be worth adding a check to the k3s-setup.sh and warn + exit on unsupported architectures? The current failure mode of the script finishing successfully and then the agent erroring out isn't very user friendly.
systemd[1]: k3s-agent.service: Main process exited, code=dumped, status=4/ILL
systemd[1]: k3s-agent.service: Failed with result 'core-dump'.
The report right above yours suggests that it works acceptably. Are you perhaps running an older kernel or something?
Hi @brandond - my understanding is that the comment about it working relates to the Pi Zero 2W (ARMv7) whereas the original issue was for the Pi Zero W (ARMv6). My understanding is ARMv6 was never officially supported but did work for a while.
Ah, right you are, my apologies. Perhaps a docs update is required so that we can close this issue out for good.
I'm super curious to see if the agent part at least could be compiled for AMRv6, not sure I have the chops to pull it off but keen to try!
I think a error message or at least warning in the install script could be useful, that's a PR I should be able to contribute and some additional information in the docs.
@ollytheninja I'm interested in getting this to work as well (on a raspberry pi model b+ though, but same architecture (armv6l)). I've started the build process and will report back with results (and more likely, whatever error comes up).
Any updates on this btw? I still have a really old RPI 1 that would benefit a little from K3s...
We do not plan to support armv6 at this time, closing this out.