profile

Ivan on the Server Side

Assembling a containerd installation like LEGO bricks 👷‍♂️


Playing with containerd is one of my favorite ways to learn (more about) Linux containers. After a rather long break, I added a lesson to my containerd course, and I'm rushing to share it with you.

But before we dive in, I want to recommend another tech newsletter: Architecture Notes by Mahdi Yusuf. This is no sponsored message - I do read this newsletter myself (which makes it a rare exception), and I think more people should know about it. Mahdi covers topics like system design and building software (with LLMs and not). Give it a read!

What is containerd

If you missed my previous posts on this technology, containerd is a "mid-level" container runtime (or, in my own terminology, a container manager):

Docker and Kubernetes rely on containerd under the hood to run containers and pods, but you can also use containerd directly, potentially even as a Docker replacement (especially, if you augment it with nerdctl):

How to install and configure containerd

This is what the new lesson is about. It walks you through the steps required to obtain the containerd binaries, add an OCI runtime, install and configure the CNI plugins, and then verify the setup by launching a container attached to a bridge network.

Why such a "dull" topic?

When I was baking the K8s Omni iximiuz Labs playground a couple of months ago, I realized that going through a manual installation of containerd gives you a chance to play with almost all key components of a (container-related part of) Kubernetes cluster:

Previous lessons of the course relied on the "default" containerd instance that comes with every Docker installation. While handy, it may make the setup feel like a black box, so when you try to add nerdctl or CRI to the picture, there is no solid ground to start off.

The new lesson not only fixes that but also sheds light on the role of the involved components, so you'll learn not only the How but also the Why, understand the role and place of the OCI runtimes, runtime shims, CNI plugins, and get practical experience configuring them.

The lesson ends with a traditional iximiuz Labs Challenge, where you can assess your newly obtained skills and identify the potential knowledge gaps:

Give it a try!

Wrapping up

Speaking of challenges, after authoring quite a few of them, I realized that any challenge is twice as good if it comes with an explanatory solution. So, over the past couple of weeks, I've added solutions to almost 60 challenges. And this is 60 more reasons to get iximiuz Labs Premium 😉 I recently learned that CKA, CKAD, and CKS cost $445... each, which makes $250 for iximiuz Labs lifetime access a very good deal, especially when you add the (now automatically granted) PPP discount to the equation.

Ivan on the Server Side

A satellite project of labs.iximiuz.com - an indie learning platform to master Linux, Containers, and Kubernetes the hands-on way 🚀

Share this page