<p>I recently updated my Docker for Desktop to latest Edge channel version: 2.1.1.0 on a Windows 10 machine. Unfortunately, after updating, Kubernetes was no longer working as it is always stuck at "Kubernetes is Starting".</p>

<p>I have tried the following so far.</p>

<ul>
<li>Restarting Docker</li>
<li>Resetting the Kubernetes Cluster</li>
<li>Restoring Factory Default settings</li>
<li>Restarting machine</li>
<li>Uninstalling and reinstalling Docker</li>
</ul>

<p>Nothing seems to be working. How can I resolve it?</p>

<p>After hours of trying out different things, here is what finally helped me:</p>
<ol>
<li><p>Restore Docker to Factory Default settings and Quit Docker for Desktop</p>
</li>
<li><p>Delete the folder <code>C:\ProgramData\DockerDesktop\pki</code> (Make a backup of it just in case). Note that many have reported the folder to be located elsewhere: <code>C:\Users\&lt;user_name&gt;\AppData\Local\Docker\pki</code></p>
</li>
<li><p>Delete the folder <code>~\.kube\</code> (Again make a backup to be safe)</p>
</li>
<li><p>Start Docker again, open Docker settings, make the necessary configuration changes (adding proxy, setting resource limits, etc..), Enable Kubernetes and let it start</p>
</li>
<li><p>Wait a while and both Docker and Kubernetes will be up now.</p>
</li>
</ol>
<p>When you try to connect to Kubernetes using kubectl, you might face another issue like</p>
<pre><code>Unable to connect to the server: x509: certificate signed by unknown authority
</code></pre>
<p>You can solve this by</p>
<ol>
<li>Open ~.kube\config in a text editor</li>
<li>Replace <code>https://kubernetes.docker.internal:6443</code> to <code>https://localhost:6443</code></li>
<li>Try connecting again.</li>
</ol>
<p>Or if you are behind a (corporate) proxy: add <code>kubernetes.docker.internal</code> to <code>NO_PROXY</code> (eg <code>export NO_PROXY=kubernetes.docker.internal</code>), given that the proxy is configured correctly.</p>
<p>If this still doesn't resolve your issue, go through the logs at   <code>C:\ProgramData\DockerDesktop\log\</code> to debug the issue further</p>
