<p>I had this happen to me a couple of times:</p>
<p>I change something in /etc/kubernetes/manifests/kube-apiserver.yaml and check for the API server process. I see that Docker container exited with error code 1. I check the logs of the container and all there is is a single line with:</p>
<pre><code>Shutting down, got signal: Terminated
</code></pre>
<p>I don’t know where to begin in troubleshooting this as there’s nowhere to start. In a lab environment I just recreate the cluster but I’m afraid this might happen in a production environment.</p>
<p>How can I troubleshoot a kube-apiserver that fails to start like this (with no exit reason besides the code) and that is deployed with kubeadm and such is running in a container?</p>

<p>I had a similar issue with pods of my kube-system randomly being terminated, preventing the cluster from starting.</p>
<p>I found the solution here : <a href="https://discuss.kubernetes.io/t/why-does-etcd-fail-with-debian-bullseye-kernel/19696" rel="nofollow noreferrer">https://discuss.kubernetes.io/t/why-does-etcd-fail-with-debian-bullseye-kernel/19696</a></p>
<p>TLDR: It was a cgroup driver/version problem. Kubelet had a hard time figuring out what's running versus what should be running and was killing my legitimate pods. The following config fixed the thing :</p>
<pre><code># Content of file /etc/containerd/config.toml
version = 2
[plugins]
  [plugins.&quot;io.containerd.grpc.v1.cri&quot;]
   [plugins.&quot;io.containerd.grpc.v1.cri&quot;.containerd]
      [plugins.&quot;io.containerd.grpc.v1.cri&quot;.containerd.runtimes]
        [plugins.&quot;io.containerd.grpc.v1.cri&quot;.containerd.runtimes.runc]
          runtime_type = &quot;io.containerd.runc.v2&quot;
          [plugins.&quot;io.containerd.grpc.v1.cri&quot;.containerd.runtimes.runc.options]
            SystemdCgroup = true
</code></pre>
