Every computer needs an operating system – and the Raspberry Pi is no different. Primarily, the Raspberry Pi boots from an SD card. But how do you write an operating system to that SD card? Well, if you’re just starting out – then this is the video for you!
raspberry pi
Quick Fix: “CrashLoopBackoff” While Building a Kubernetes Cluster with Ubuntu 22.04 on the Raspberry Pi
Normally, I like to make videos for Linux and Container-related things – it’s my favorite way to teach and inform. But some things don’t translate as well to videos, and this is one of them. Recently, I ran into an issue that I’ve been trying to solve for some time, where initializing a Kubernetes cluster on Ubuntu 22.04 seems to fail, specifically on the Raspberry Pi. Although I did ultimately find something while searching the web that led to my resolving this, search results were generally unhelpful, and neither was Stack Overflow. So what I wanted to do, was to create this article just so I could make sure that anyone else Googling for answers does find something.
Here’s the issue I ran into. For some reason, initializing Kubernetes clusters on Ubuntu 22.04 fails on the Raspberry Pi. More specifically, Flannel doesn’t seem to launch, with it stuck on “CrashLoopBackoff
” most of the time. And not only that, the coredns
pods will tend to stay stuck on “ContainerCreating
” for eternity. Another symptom is that you’ll find errors in /var/log/syslog
complaining about /run/flannel/subnet.env
not being found. Oh, and another symptom. RPC errors will be mentioned in the syslog
as well, and also complains about not being unable to create the sandbox.
Blogs and howto’s mention many “fixes” for this issue, but for me I didn’t have any luck there. Some of them will have you create the /run/flannel/subnet.env
file manually – but you shouldn’t have to do that, it’s not your job. (That file should be created automatically). I’ve seen at least one blog post mention the order matters regarding when you apply Flannel (nonsense) and not to be outdone, the classic “remove the directory and reboot” trick that also never seemed to work for me.
So, what’s the fix?
Are you ready?
Here you go…
sudo apt install linux-modules-extra-raspi
Yeah, that’s literally it. I’m not kidding. See for yourself. You’re all set. Profit. Enjoy. I know, right?!
Thanks to this completely unrelated bug report that gave me the idea to install this package and ultimately led to my writing this article. It’s my sincere hope that this blog post finds its way into the Google searches of whoever out there needs this.
Hands-on with the Turing Pi 2!
The Turing Pi 2 is quite an exciting project that might even be a game-changer when it comes to homelab. With it, you can set up Raspberry Pi Compute Modules as individual servers, and even cluster them! The Turing Pi 2 gives you access to many additional features that Compute Modules wouldn’t normally have access to, such as mPCIe, SATA, and more. This gives you access to build a data-center in a box, and Jay gives it a first-look on the channel in this video.
Relevant links
The Homelab Show Episode 40 – The Turing Pi 2
Happy New Year! In their first podcast of 2022, Jay and Tom talk about the Turing Pi 2. The Turing Pi 2 is a mini-ITX board that supports up to four Raspberry Pi Compute Modules and/or Nvidia Jetson modules, effectively giving you a “data center in a box”. Check out this episode for some thoughts on how this might be a game changer for homelab.
Checking out Pop!_OS 21.10 on the Raspberry Pi
With the recent release of Pop!_OS 21.10, a version for the Raspberry Pi was also released. In this video, I’ll check out the new Pi spin and give you my thoughts.