Ubuntu 22.04 and Kubernetes recently Broke Compatibility with Each Other (and how to work around it)

Here’s another blog post today, that I’m creating for the same reason as the previous one. It took me a bit longer than I’d like to admit to figure this out, and if anyone else out there is wondering why their automated Kubernetes builds on Ubuntu 22.04 started failing on them suddenly for no apparent reason. Specifically, your Kubernetes cluster builds started failing on December 9th. (You literally can’t make this stuff up). So, after troubleshooting for countless hours I finally figured it out. I mentioned it to Jeff Geerling (yes THAT Jeff Geerling) and he mentioned I should write a blog post, in case it may help someone else. I figured that his suggestion was logical 🖖, so here it is.

What’s the problem I’m referring to? If you’re attempting to initialize a Kubernetes cluster on Ubuntu 22.04 and you see error messages that include output such as this:

CRI v1 runtime API is not implemented for endpoint

Or maybe even this:

unknown service runtime.v1.RuntimeService

Continue reading and I’ll let you know what the issue is, and how to fix it. I’ll also sneak in a quantum science reference and it’s going to be a good time.

Read more

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.

How to Build an Awesome Kubernetes Cluster using Proxmox Virtual Environment

Proxmox Virtual Environment is an awesome virtualization solution. Kubernetes is an awesome containerization solution. So why not combine those great technologies? In this video, you’ll see the entire process of setting up your very own Kubernetes cluster from scratch, with Proxmox shown as the platform. But even if you don’t plan on using Proxmox, this method will work just fine on other solutions as well, including physical servers. By the end of this video, you’ll have your own cluster ready to go!

YouTube player

Also, be sure to check out the brand-new book, Mastering Ubuntu Server 4th Edition! It’s available now, and covers Ubuntu Server 22.04 LTS.

Read more

Building a 10 Node Raspberry Pi Kubernetes Cluster

Have you thought about setting up your very own Kubernetes cluster consisting of multiple Raspberry Pi’s? It’s not as hard as it sounds, and in this video, I’ll show you how to set it up. Although this video will show the process of creating a ten node cluster, you don’t have to have 10 nodes – as long as you have at least two, you’ll be all set. By the end of the video, you’ll have your very own Kubernetes cluster that will be ready to go for my upcoming Kubernetes tutorial series.

YouTube player

Read more