Kubernetes on Debian - Core pods CrashLoopBackOff

Hello everyone,

I have tried without success to install kubeadm 1.29 on a Debian 12.5.0 (minimal install only added SSH) running as VM in VirtualBox.
Every time I would end up with the pods in the kube-system ns restarting after a crash and eventually giving up.
Without spitting a long list of logs and detailed steps I’ll just put down a summary of what I’ve done just to see if I’m missing something obvious.

As a kubeadm one liner I used

sudo kubeadm init --pod-network-cidr=10.244.0.0/16
For weave I added this in the yaml before adding the resources:

- name: IPALLOC_RANGE
value: 10.244.0.0/16

The CrashLoopBackOff error almost always suggests a containerd misconfiguration. One source to consider using along with the ones you used: we have a tutorial on doing a kubeadm install that’s quite detailed and tends to be easier to get right than the K8s docs. Try going by that; it should work on Debian.

Hey Rob,

Thanks for coming to the rescue!

I was indeed loosely following your guide and mostly just matching it with the official documentation.
The problem seems to be related to the containerd configuration which in your guide is done by:

sudo mkdir -p /etc/containerd
containerd config default | sed 's/SystemdCgroup = false/SystemdCgroup = true/' | sudo tee /etc/containerd/config.toml

Whereas following the videos of the CKA course it only boils down to delete the entire contents and replace it with:

[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
  [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
    SystemdCgroup = true

With the config default the config.toml is populated with a hell of a lot more than just the three lines indicated in the course and it actually fixed one by one all my 6 attempted installations with various OS.

Now, a part from being disappointing, this is what you get when you copy/paste without enough power; you take the responsibilities (sorry Spidey) and mea culpa for that, but could you try to explain the problem I was encountering a bit more? Is the whole of the default config needed or was I maybe missing just one or two lines from the three suggested in the course?

Cheers

The config.toml file is very sensitive to some changes; just using sed as the guide does seems to be the safest way to generate a valid configuration. Sometimes people follow the video but occasionally things go pear shaped. Weird things happen.


We’re still working out the best way to teach doing a kubeadm install; the repo was updated this week. The videos are a lot more expensive and difficult to change, so we will likely wait a bit until we get to where we want with the repo.

Hey Rob,

Don’t get me wrong, I appreciate the time it takes to update the material especially the videos. With the pace at which things are going right now this call for a rethink on how contents should be produced and I don’t have a silver bullet I’m afraid.

Having said that I spent far too many hours on the issue, maybe a mention on the resource page just before the video would help many others. That’s because if I use your Vagrant and follow the video things still won’t work. The only option is to follow your GitHub faithfully to the letter.

Safe travels and till the next time

Hi @rob_kodekloud

   I’m still unaware if the question is about an african or european swallow. This affects only virtualbox ? Or this is a general issue in installing k8s right now ? I’m also seeking the holy grail to install kubernetes without mistakes, so my installation doesn’t get like a ministry of silly walks for example. Yes we are all individuals

I’m still in the beginning of a philosophers football match, sadly Archimedes still doesn’t appears.

Hope you like all the references. Btw my question is serious… just in case :slight_smile:

have a nice day!

Hi Carlos,

As far as I know the issue I had affected both my attempts in VirtualBox and on a XCP-ng server. Tested on Ubuntu and Debian, would be nice testing also on Centos for example but I suspect it wouldn’t be much of a difference as it’s all very much related to Containerd’s configuration.

If you follow step by step on Bob’s GitHub link you should be able to install no problems.

Definitely European though but does Europe truly exists and therefore does the European swallow?

Hi @francesco11

   Thanks for the reply, yes, also I think that probably in CentOs would fail. My latest science research tells me that if the k8s cluster floats in the water, then probably is not a witch, therefore would work without issues. I’m not sure if CentOs cloud float in the water. Maybe we can try with and old cd, who knows ? maybe gets working because it’s an african swallow.

Can you send me the rob’s repo ? I can’t find it. I’m willing to do my CKA exam in April or in May, so I’m not sure if this issue could happen in my exam. If I’m not wrong, we can only use the k8s documentation right @rob_kodekloud ? So in that case may be prepared if this issue happens by any reason. If I’m not wrong the exams always try to work with the latest version of k8s.

As you can see, I’m preparing my shrubbery for my exam, so I can just go and sent them to the knights who say Ni, so can certify my knowledge.

WHO MADE YOU SO WISE IN THE WAYS OF SCIENCE?

1 Like

The repo that @francesco11 is talking about is probably the CKA course repo; the various tutorials referenced from here.

And there’s no need to visit Camelot. Like they say, it’s a silly place.

Thanks @rob_kodekloud for the reply. I’m always look[ing] on the bright side of life, and trying to walk on the sunny side of the street. I’m just following the meaning of life as it is. Once again thanks for the help in my noble quest to not get crucified by the Linux Foundation in my CKA exam. But maybe crucifixion isn’t that bad, and I’m just been influenced by forced hanging out with people of Camelot. Maybe I need to send more emails to spam spam spam … spam.

Btw, both of you made my day, thanks. Many years without saying a python joke. Maybe I had been born in wrong generation.

Have both a nice incoming week.

Hi, @francesco11,

I had encountered the same issue on a Debian 12 setup while following the same videos that you did. I was able to resolve the CrashLoopBackOff issue that I encountered by reconfiguring the containerd config.toml and adding the correct sandbox image, which by default was set to v3.6 in my case. Check out the solution here:

It seems like you’ve likely gone a different route and resolved your issue by this point through another installation route, but I just saw this discussion this morning.

Cheers :wink:

1 Like

I had tried changing the sandbox as it was one of the warnings during install but nothing worked until I followed Rob’s approach.

Thanks anyway for the follow up