Bootstrap.conf for beginners?

when i try to start kubelet, it isn’t able to find a bootstrap.conf file. from my understanding it seems that the bootstrap file is created when you run kubeadm init or join, but then the kubeadm process stops because it can’t find a health kubelet. i’ve seen a few different answers-- do i just have to run kubeadm init, stop it when it tries to start the kubelet, and run it again? that doesn’t seem correct. another theory is that in the process of troubleshooting i fix a different problem (probably failswap) that isn’t as obvious, but that seems unlikely since bootstrap is what shows up in the fail logs. any sort of pointers help; even just suggestions on where to look or basic explanations of bootstrap/kubelet/kubeadm in this context. thanks.

Cluster information:

kubernetes version (1.33) on ubuntu 24.04. installed via command line (apt), using containerd as a runtime.

Hi @3rdapocalypse

I think the process didn’t stop because of a missing “healthy kubelet,” but rather because the kubelet couldn’t start (for reasons such as swap settings, cgroup configuration, permissions, CRI, etc.).

Here are some commands that can help you:

  1. View the kubelet logs
    journalctl -u kubelet -f

  2. Run kubeadm’s preflight checks
    kubeadm init --dry-run

  3. Temporarily disable kubelet before running kubeadm init

systemctl stop kubelet
systemctl disable kubelet
kubeadm init …
systemctl enable kubelet
systemctl start kubelet

Hope you fix this soon.

yes, the kubelet can’t start because of the missing bootstrap.conf file, which is where my issue is. systemctl status kubelet and journalctl -xeu kubelet both show an issue with the bootstrap file. i do not know where in the process that file should be generated.