Now Available!

Grab your copy and switch to Linux with confidence!

  • 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, 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.

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

    YouTube player

    Relevant Links:

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

    YouTube player

    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.

    YouTube player
  • 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.

    YouTube player
  • 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.

    YouTube player
  • 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.

    YouTube player
  • 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.

    YouTube player
  • Bash Scripting on Linux (The Complete Guide) Class 13 – Case Statements

    Welcome to LearnLinuxTV’s brand new complete course on Bash Scripting! In this 18 episode series, you’ll learn everything you need to know in order to start writing Bash scripts. Each video builds on the previous one, with additional concepts added as the series progresses. Examples will start off easy with shorter scripts, and by the end of the series you’ll be able to write more complex scripts that will actually come in handy while maintaining Linxu servers. In this episode, we’ll take a look at case statements.

    YouTube player