k3s icon indicating copy to clipboard operation
k3s copied to clipboard

Raspberry pi ZeroW not supported anymore

Open titilambert opened this issue 4 years ago • 15 comments
trafficstars

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

titilambert avatar Dec 13 '20 03:12 titilambert

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 avatar Dec 13 '20 23:12 brandond

@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 !

titilambert avatar Dec 13 '20 23:12 titilambert

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

cipy avatar Jan 09 '21 18:01 cipy

See https://github.com/k3s-io/k3s/issues/2788#issuecomment-757409729

brandond avatar Jan 10 '21 03:01 brandond

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.

stale[bot] avatar Jul 30 '21 21:07 stale[bot]

lets test this with latest Kubernetes before closing it

cipy avatar Jul 31 '21 05:07 cipy

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)?

timfpark avatar Nov 01 '21 17:11 timfpark

Its worth a try! No-one on the team has one yet but I suspect it will work.

brandond avatar Nov 01 '21 21:11 brandond

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

sidick avatar Feb 07 '22 09:02 sidick

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'.

ollytheninja avatar May 20 '22 01:05 ollytheninja

The report right above yours suggests that it works acceptably. Are you perhaps running an older kernel or something?

brandond avatar May 20 '22 04:05 brandond

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.

ollytheninja avatar May 21 '22 04:05 ollytheninja

Ah, right you are, my apologies. Perhaps a docs update is required so that we can close this issue out for good.

brandond avatar May 21 '22 05:05 brandond

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 avatar May 21 '22 05:05 ollytheninja

@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).

philip-jakobsen avatar Jul 19 '22 11:07 philip-jakobsen

Any updates on this btw? I still have a really old RPI 1 that would benefit a little from K3s...

mateuszdrab avatar Aug 29 '22 16:08 mateuszdrab

We do not plan to support armv6 at this time, closing this out.

cwayne18 avatar Aug 29 '22 16:08 cwayne18