Can Docker Desktop version work with Kubernetes?

64 Views Asked by At

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?

1

There are 1 best solutions below

3
clxoid On

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!