<p>I know Kind needs Docker, and Minikube needs Virtual Box - but for learning Kubernetes features are they the same?</p>
<p>Thank you.</p>

<p>In terms of learning Kubernetes features, they are the same. You will get the same Kubernetes and Kubernetes resources in both: Pod, Deployments, ConfigMaps, StatefulSets, Secrets, etc. assuming they both have the same Kubernetes version.</p>
<p>Under the hood they very similar too with some implementation differences.</p>
<ul>
<li><p>Minikube</p>
<ul>
<li>Runs K8s in VM (1.7.0 vesion now supports running minikube on Docker)</li>
<li>Support multiple Hypervisors (VirtualBox, Hyperkit, parallels, etc)</li>
<li>You need to ssh to VM to run docker. (<code>minikube ssh</code>)</li>
<li>On the positive side, if you are using VMs, you get the VM isolation which is 'more secure' per se.</li>
<li>Update: It does support running in docker with <code>--driver=docker</code></li>
</ul>
</li>
<li><p>Kind</p>
<ul>
<li>Runs Docker in a VM (Part of the docker desktop installation for Mac, or Windows)</li>
<li>Runs Kubernetes in that &quot;Docker&quot; VM</li>
<li>Supports Hyperkit (Mac) or Hyper-V (Windows) hypervisors.</li>
<li>Has the convenience that you can run the docker client from your Mac or Windows.</li>
<li>You can actually run it in Linux with no need to use a VM (It's a docker native installation on Linux)</li>
<li>It runs all K8s components in a single container.</li>
</ul>
</li>
</ul>
