Docker桌面版可以与Kubernetes一起使用吗?

Docker桌面版可以与Kubernetes一起使用吗?,kubernetes,docker-desktop,container-runtime-interface,Kubernetes,Docker Desktop,Container Runtime Interface,据我所知,Kubernetes kubelet与CRI(容器运行时接口)对话以运行容器。因此,Kubernetes中使用的每个容器运行时都应该遵循CRI实现()。Docker桌面版既不运行dockerd也不运行containerd。它运行用于高级虚拟化的HyperKit。它是否符合CRI并可与Kubernetes一起使用?Hyperkit不是CRI,它是虚拟机监控程序,如VirtualBox,用于Mac的Docker Desktop。从 Docker Desktop for Mac使用Hyper

据我所知,Kubernetes kubelet与CRI(容器运行时接口)对话以运行容器。因此,Kubernetes中使用的每个容器运行时都应该遵循CRI实现()。Docker桌面版既不运行dockerd也不运行containerd。它运行用于高级虚拟化的HyperKit。它是否符合CRI并可与Kubernetes一起使用?

Hyperkit不是CRI,它是虚拟机监控程序,如VirtualBox,用于Mac的Docker Desktop。从

Docker Desktop for Mac使用HyperKit而不是虚拟盒。Hyperkit 是一个轻量级的macOS虚拟化解决方案,构建在 macOS 10.10 Yosemite及更高版本中的Hypervisor.framework

如果您检查了这一点,它将很好地解释虚拟机监控程序和CRI之间的关系

如上图所示,Docker容器引擎(或containerd)位于Linux内核的顶部,因此它与虚拟机监控程序无关。这基本上是虚拟机和容器之间的主要区别。如果你有Linux内核,你可以在那里运行你的CRI

因此,带有Hyperkit的Docker Desktop将与Kubernetes合作


希望有帮助

是的。。明白了。:)所以,据我理解,Docker引擎是在嵌入式linux(Hyperkit)中运行的。在Mac上,仅显示docker客户端二进制文件和
/var/run/docker.sock
contianerd
containerd.sock
必须在Hyperkit嵌入式linux上。在mac上安装Kubernetes将从docker.sock中找出CRI是docker,并使用docker客户端二进制文件执行所有操作。我的理解正确吗?部分正确,但Docker引擎不是在Hyperkit的嵌入式linux中运行,而是在Hyperkit(Hypervisor)创建的VM操作系统中运行。如果答案有用,请接受