-
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.
(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, thecoredns
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 thesyslog
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.
-
Enterprise Linux Security Episode 48 – New Malware, Old Vulnerabilities
While it’s certainly never a good thing to become the victim of a cyber-attack, it can be even more embarrassing if the CVE the threat actor used to get a foothold into your systems was patched a long time ago. In this episode, Jay and Joao discuss malware that’s currently taking advantage of vulnerabilities that were patched over a year ago! As important as software updates happen to be, why are so many organizations unable to keep up with them?
Download Links
- MP3 version
- MP3 version (lower bitrate, smaller file)
- Ogg version
Relevant Articles
-
Taking a Tour of my Awesome Home Office/YouTube Studio
The LearnLinuxTV studio was recently remodeled! Since you guys asked for an updated studio tour, I figured I’d give you exactly that in this video. You’ll see the entire room, including (but not limited to) the technology half, the retro-gaming half, recording devices, homelab devices, and more!
Relevant Links:
-
The Homelab Show Episode 80 – The “Automation” Mindset
As most of us homelabbers are aware by now, automation is a very good thing – repeating (and sometimes tedious) tasks can be automated, allowing us to focus on things that are better uses of our time. But Automation itself seems to have its own mindset, especially when it comes to how you go about approaching some of the challenges. In this episode, Jay and Tom discuss the Automation Mindset.
-
The Homelab Show Episode 79 – Virtual or Container?
Virtual Machines and Containers are awesome, but when should you use one versus the other? In this episode, Jay and Talk about some of the deciding factors when it comes to deciding which technology to use.
-
Linux Crash Course Series – How to Share Files via SSHFS
While technologies such as Samba and NFS are very effective when you want to share files with other users, those solutions may not be best for those with simpler file sharing needs. In this video, sshfs is covered, which is a fuse-based solution that enables you to quickly share directories on your network.
Note: sshfs no longer has a maintainer, so don’t use this solution for confidential or proprietary files. Check out the repository and consider volunteering to maintain this awesome solution.
Thanks to Linode for sponsoring this video. Support LearnLinuxTV by setting up your very own Linux server on their awesome cloud platform!
-
Bash Scripting on Linux (The Complete Guide) Class 18 – Closing/Next Steps
Thank you so much for checking out LearnLinuxTV’s Bash scripting series! In this video, the series winds down as Jay points you to some other resources you might want to utilize in order to continue your Linux Learning journey.
-
Bash Scripting on Linux (The Complete Guide) Class 17 – Backup Script
Backups – the most critical function of computing that virtually everyone ignores until they learn the hard way that they should’ve taken it more seriously. Don’t be that kind of person! You really should start taking backups seriously – so why not check out episode 17 of LearnLinuxTV’s Bash Scripting guide and learn how to back up files using a Bash Script? In fact, this is a fun video that you won’t want to miss.
-
Bash Scripting on Linux (The Complete Guide) Class 16 – Arguments
There’s WAY too much arguing in the Linux community. Things like Systemd and whether it should be adopted, which desktop environment you should use, or which text editor is the best (the answer is clearly vim). But rather than argue over those things, why not learn how to supply arguments to your bash scripts? It’ll definitely be more worthwhile than obsessing over whatever Linux-related argument is currently being fussed about over on Reddit. So in this video, you’ll learn how to set up arguments in Bash scripts as well as some other fun concepts you should know.
-
Bash Scripting on Linux (The Complete Guide) Class 15 – Scheduling Jobs (Part 2)
In the previous episode, you learned about the “at” command, which enables you to schedule a script to run later. In this video, we’ll take a look at the same thing again – but it’s not redundant. Actually, we’ll learn more about Cron in this video, which is the tried and true method that Linux people use to handle scheduling jobs to run at a specific time in the future.
-
Bash Scripting on Linux (The Complete Guide) Class 14 – Scheduling Jobs (Part 1)
No matter how long you work in the IT field, waking up in the middle of the night to manually perform some sort of task is something that absolutely no one gets used to. And with good reason, it’s much better to schedule jobs rather than run them manually. In this video, we’ll learn about the “at” command which will help you set up a task to kick off at some point in the future.