据我了解,Kubernetes kubelet与CRI(容器运行时接口)进行对话以运行容器。因此,在Kubernetes中使用的每个Container运行时都应遵循CRI实现(https://www.ianlewis.org/en/container-runtimes-part-4-kubernetes-container-run)。 Docker Desktop版本既不能运行dockerd也不能运行容器。它运行HyperKit进行高级虚拟化。是否符合CRI并可以与Kubernetes一起使用?
答案 0 :(得分:1)
Hyperkit不是CRI,它是用于Docker Desktop for Mac
的虚拟机管理程序,例如VirtualBox。来自Official docker documentation
适用于Mac的Docker桌面使用HyperKit而不是Virtual Box。超级套件 是建立在以下基础之上的轻量级macOS虚拟化解决方案 macOS 10.10 Yosemite及更高版本中的Hypervisor.framework。
如果选中此blog,则说明虚拟机管理程序和CRI之间的关系很好。
如上图所示,Docker Container Engine(或容器化)位于Linux内核的顶部,因此与Hypervisor无关。这基本上是VM和容器之间的主要区别。如果您具有Linux内核,则可以在其中运行CRI。
因此,带有Hyperkit的Docker桌面将可与Kubernetes一起使用
希望有帮助!