Can Docker Desktop version work with Kubernetes?

5/29/2019

As far as I understand Kubernetes kubelet talks to CRI (Container Runtime Interface) to run containers. So every Container runtime which is being used in Kubernetes should follow CRI implementation (https://www.ianlewis.org/en/container-runtimes-part-4-kubernetes-container-run). Docker Desktop version neither runs dockerd or containerd. It runs HyperKit for High-Level virtualization. Is it CRI compliant and could be used with Kubernetes?

-- sn.anurag
docker-desktop
kubernetes

1 Answer

6/3/2019

Hyperkit is not CRI, it is hypervisor such as VirtualBox, which is used for Docker Desktop for Mac. From Official docker documentation

Docker Desktop for Mac uses HyperKit instead of Virtual Box. Hyperkit is a lightweight macOS virtualization solution built on top of Hypervisor.framework in macOS 10.10 Yosemite and higher.

If you check this blog, it explains very well relationships between hypervisors and CRI.

Docker-Hyperkit-connectivity

As you can see the above image, Docker Container Engine (or containerd) is in top of Linux kernel, so it has nothing to do with Hypervisors. This is basically the main difference between VMs and Containers. If you have Linux kernel, you can run your CRI there.

So, Docker Desktop with Hyperkit, will work with Kubernetes

Hope it helps!

-- coolinuxoid
Source: StackOverflow