kubernetes windows - ghdrako/doc_snipets GitHub Wiki
- https://minikube.sigs.k8s.io/docs/tutorials/docker_desktop_replacement/
- https://adibsaikali.com/2020/07/25/minikube-vs-docker-desktop-for-local-development/
you can easily have both, minikube and docker-for-desktop on the same machine and switch between them by selecting the context, e.g.:
> kubectl config get-contexts
> kubectl config use-context docker-for-desktop
There is no place at the moment to choose the Kubernetes version for docker-for-desktop. It is preselected in the Docker distribution package.
Docker-for-windows uses Type-1 hypervisor, such as Hyper-V, which are better compared to Type-2 hypervisors, such as VirtualBox, while Minikube supports both hypervisors. Unfortunately, there are a couple of limitations in which technology you are using, since you cannot have Type-1 or Type-2 hypervisors running at the same time on your machine:
- If you are running virtual machines on your desktop, such as VirtualBox, then you will not be able to run them if you enable type-1 hypervisors.
- If you want to run Windows containers, then using docker-for-windows is the only option you have.
- Switching between these two hypervisors requires a machine restart.
- To use Hyper-V hypervisor you need to have installed Windows 10 Pro edition on your development machine.
Docker Desktop runs Kubernetes by spinning up a single node in a Docker container. The biggest drawback of using it is that you can only get a single-node cluster;
Minikube does not ship with a container registry. By default it will try to resolve container images from Docker hub and other public registries. If you need to build containers on your laptop and you want minikube to pull them form your laptop rather than a remote container registry you will benefit from running Docker desktop since it includes a local container registry.
Minikube supports the most recent GA version of k8s plus the previous 6 minor versions. You can pass minikube a command line argument to launch a specific version of k8s. For example, minikube start --kubernetes-version=v1.18.3 will launch k8s 1.18.3