Kubernetes 中的驱动程序和容器运行时有什么区别?
What is the difference between Drivers and Container Runtimes in Kubernetes?
我正在阅读有关 Minikube 安装过程的信息,Drivers 和 Containers Runtimes 的名称让我感到困惑。
Drivers
当我不选择 driver 时,Minikube 将默认使用 Docker driver,因此在 Minikube 本身内部使用 Docker 守护进程。当我选择 none 时,它将使用主机的 Docker 守护程序。其他的可以选podman、KVM等
容器运行时
谈到容器运行时,我可以再次选择 Docker 或其他类似 Containerd 的。
我的咨询
我找不到关于 Drivers 和容器运行时之间差异的更详细解释。实际上我知道 Pods 中的 运行 容器存在运行时,但是 Drivers 呢?容器运行时是否 运行s 在 Driver 之上?
司机
- 您想 运行 Kubernetes 放在什么地方?
- 虚拟机? -> Hyperkit、VirtualBox、Parallels、VMWare 等
- 容器? -> Docker(具有讽刺意味的是,如果您在 Mac 或 Windows 上而不是在 Linux 上,则此 运行s 在 VM 上)、Podman 等。
容器运行时
- 创建集群后,您希望如何配置它?使用什么 运行time 或 shim 来实例化其容器(和 Pods)?
- Containerd -> It's a shim that understands CRI from the kubelet and runs containers with an executable like runc (the actual runtime, that uses things like cgcreate and nsenter)
来自 kubelet 的 - CRI-O -> It's another shim that understands CRI,就像 Containerd 运行s 容器一样,带有 运行c
这样的可执行文件
- Docker -> kubelet 使用与 Containerd 对话的 dockershim 直接与 Docker 守护进程对话,实例化您的容器(我知道这很复杂,历史原因.. .)
✌️
我正在阅读有关 Minikube 安装过程的信息,Drivers 和 Containers Runtimes 的名称让我感到困惑。
Drivers
当我不选择 driver 时,Minikube 将默认使用 Docker driver,因此在 Minikube 本身内部使用 Docker 守护进程。当我选择 none 时,它将使用主机的 Docker 守护程序。其他的可以选podman、KVM等
容器运行时
谈到容器运行时,我可以再次选择 Docker 或其他类似 Containerd 的。
我的咨询
我找不到关于 Drivers 和容器运行时之间差异的更详细解释。实际上我知道 Pods 中的 运行 容器存在运行时,但是 Drivers 呢?容器运行时是否 运行s 在 Driver 之上?
司机
- 您想 运行 Kubernetes 放在什么地方?
- 虚拟机? -> Hyperkit、VirtualBox、Parallels、VMWare 等
- 容器? -> Docker(具有讽刺意味的是,如果您在 Mac 或 Windows 上而不是在 Linux 上,则此 运行s 在 VM 上)、Podman 等。
容器运行时
- 创建集群后,您希望如何配置它?使用什么 运行time 或 shim 来实例化其容器(和 Pods)?
- Containerd -> It's a shim that understands CRI from the kubelet and runs containers with an executable like runc (the actual runtime, that uses things like cgcreate and nsenter) 来自 kubelet 的
- CRI-O -> It's another shim that understands CRI,就像 Containerd 运行s 容器一样,带有 运行c 这样的可执行文件
- Docker -> kubelet 使用与 Containerd 对话的 dockershim 直接与 Docker 守护进程对话,实例化您的容器(我知道这很复杂,历史原因.. .)
✌️