<p>I use minikube v1.6.2, kubectl 1.17.</p>

<p>I start minikube without Virtualbox, with:</p>

<pre><code>sudo minikube start --vm-driver none 
</code></pre>

<p>Now, to stop it, I do:</p>

<pre><code>sudo minikube stop
minikube stop # I don't know which one is the good one, but I do both
</code></pre>

<p>but, after that, when I do: </p>

<pre><code>kubectl get po
</code></pre>

<p>I still get the pods listing. The only way to stop it is to actually reboot my machine.</p>

<p>Why is it happening, and how should I fix it ?</p>

<p><code>minikube stop</code> when used with <code>--vm-driver=none</code> does not do any cleanup of the pods. As mentioned <a href="https://brokenco.de/2018/09/04/minikube-vmdriver-none.html" rel="nofollow noreferrer">here</a>:</p>

<blockquote>
  <p>When minikube starts without a hypervisor, it installs a local kubelet
  service on your host machine, which is important to know for later.</p>
  
  <p>Right now it seems that minikube start is the only command aware of
  --vm-driver=none. Running minikube stop keeps resulting in errors related to docker-machine, and as luck would have it also results in
  none of the Kubernetes containers terminating, nor the kubelet service
  stopping.</p>
  
  <p>Of course, if you wish to actually terminate minikube, you will need
  to execute service kubelet stop and then ensure the k8s containers are
  removed from the output in docker ps.</p>
</blockquote>

<p>If you wish to know the overview of none (bare-metal) driver you can find it <a href="https://minikube.sigs.k8s.io/docs/reference/drivers/none/" rel="nofollow noreferrer">here</a>.</p>

<p>Also as a workaround you can stop and remove all Docker containers that have 'k8s' in their name by executing the following command: <code>docker stop (docker ps -q --filter name=k8s)</code> and  <code>docker rm (docker ps -aq --filter name=k8s)</code>.</p>

<p>Please let me know if that helped. </p>
