<p>In some cases after a node reboot the Kubernetes cluster managed by MicroK8S cannot start pods.</p>
<p>With a describe of the pod failing to be ready I could see that the pod was stuck in a &quot;Pulling image&quot; state during several minutes without any other event, as following:</p>
<pre><code>Events:
  Type     Reason     Age                 From                     Message
  ----     ------     ----                ----                     -------
  Normal   Scheduled  50s                 default-scheduler        Successfully assigned default/my-service-abc to my-desktop
  Normal   Pulling    8m                  kubelet                  Pulling image &quot;127.0.0.1:32000/some-service&quot;

</code></pre>
<p>Pulling from the node with <code>docker pull 127.0.0.1:32000/some-service</code> works perfectly, so it doesn't seem a problem with Docker.</p>
<p>I have upgraded Docker just in case.</p>
<p>I seem to run the latest version of microk8s.</p>

<p>Running a <code>sudo microk8s inspect</code> gives no error/warning, everything seemed to work perfectly.</p>
<p>As a Docker pull did work locally, it's really the Kubelet app which is communicating with Docker that seemed stuck.</p>
<p>Even with a <code>sudo service docker stop &amp;&amp; sudo service docker start</code> it did not work.</p>
<p>Even a rollout did not suffice to get out of the Pulling state after the reboot of docker.</p>
<p>Worst of all, a reboot of the server did not change anything (the pod that were up were still working, but all the other pods (70%) were down and in ContainerCreating state.</p>
<p>Checking the status <code>systemctl status snap.microk8s.daemon-kubelet</code> did not report any error.</p>
<p>The only thing that worked seemed to do this:</p>
<p><code>sudo systemctl reboot snap.microk8s.daemon-kubelet</code></p>
<p>However, it also rebooted the whole node, so that's something to do in a last case scenario (same as the node reboot).</p>
