08/04/2022, 6:42 AM
I want to use k3s as a agent on an old raspberry pi (more specifically, the Raspberry Pi 1 Model B+). The pi is running raspberry pi os (formerly known as raspbian) with a armv6l architecture. My first thought was to build k3s from source on the pi, but I ran into memory problems. After adding a swap file the build went fine (although it two several days) but the binaries are still not the correct architecture and gives a
illegal instruction
when executed. My second try is to build it on a much more powerful x86_64 machine. I have tried using qemu and docker to emulate the pi's architecture, but some of the binaries are still the wrong architecture. The build process for k3s with dapper is also somewhat contrived, and running the building inside a (qemu) docker container makes it kind of hard to "trick" the whole build process into thinking it's on an old raspi. Would it be easier to try and cross-compile the binaries? Also, what are used for exactly? Should I also build this?


08/04/2022, 7:05 AM
I'm not entirely sure, but I have a feeling the arm6l architecture isn't supported (by most things in the k8s ecosystem). I think it's arm7 or aarch64 most of the time.


08/04/2022, 7:29 AM
I see. But shouldn't building it from source work? See the issues and


08/04/2022, 7:09 PM
Modern kubernetes doesn't support armv6 and so neither does k3s. With enough effort you can probably get it working, but there's a lot of other stuff beyond compile one repo to deal with, like every agent/container that end up running. And a 1B is so slow that just running kubernetes is probably going to keep the whole CPU busy before you run anything useful... if your app even fits in what's left of the 512MB.


08/04/2022, 7:14 PM
Damn... I though that just running the agent on it and then having a raspi 4 with 8 GB RAM as a k3s master node could be doable.
And I only want to use the 1B node to run a single non-demanding application (after trying to compile k3s on it I am painfully aware of how slow and limited that hardware is).