docker - Kubernetes中的驱动程序和容器运行时之间有什么区别?

标签 docker kubernetes minikube

我在阅读有关Minikube安装过程的信息,而驱动程序和容器运行时的名称使我感到困惑。
驱动程序
当我不选择驱动程序时,默认情况下,Minikube将使用Docker驱动程序,从而在Minikube本身内部使用Docker守护程序。当我不选择任何选项时,它将使用主机的Docker守护程序。可以选择其他人,例如podman,KVM等。
容器运行时
关于容器运行时,我可以再次选择Docker或其他类似Containerd的容器。
我的询问
我找不到关于驱动程序和容器运行时之间差异的更详细的说明。实际上,我知道运行时已存在,可以在Pods中运行容器,但是驱动程序呢?容器运行时是否在驱动程序之上运行?

最佳答案

驱动程序

  • 您想在哪里运行Kubernetes?
  • 虚拟机? -> Hyperkit,VirtualBox,Parallels,VMWare等
  • 容器? -> Docker(具有讽刺意味的是,如果您是在Mac或Windows上,则可以在VM上运行,而在Linux上则不能),Podman等。


  • 容器运行时
  • 创建集群后,您希望如何对其进行配置?使用什么运行时或填充程序实例化其容器(和Pod)?
  • Containerd->这是一个垫片,可以从kubelet中了解CRI并使用runc(实际运行时,使用诸如cgcreatensenter之类的东西)等可执行文件运行容器
  • CRI-O->这是另一个垫片,可以从kubelet中了解CRI,就像Containerd运行带有可执行文件(如runc
  • )的容器一样
  • Docker-> kubelet使用与Containerd进行通信的dockershim直接与Docker守护程序进行通信,实例化您的容器(我知道这是复杂的历史原因...)


  • ✌️

    关于docker - Kubernetes中的驱动程序和容器运行时之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63624117/

    相关文章:

    docker - kubectl 端口转发 : "pod does not exist" at the first time running?

    kubernetes DNS Pod 名称解析

    docker - Kubernetes pod的解决方案陷入终止

    apache-spark - Kubernetes WatchConnectionManager : Exec Failure: HTTP 403

    docker - 如何从 Docker 镜像中排除应用程序设置(并将它们添加到容器中)?

    windows-10 - Windows 持久卷上的 Kubernetes

    docker - Kubernetes 服务连接被拒绝,如何访问服务?

    windows - 从远程机器(不是容器主机)建立到 Windows docker 容器的 PSSession

    docker - 我可以在docker标签中使用env vars吗?

    macos - 使用osxfs的mac docker卷挂载不起作用