为什么 minikube 本身作为容器运行?

Why minikube runs as a container itself?

在使用 Docker 和编排 (kubernetes) 时,我必须安装并使用 minikube 来创建一个简单的沙箱环境。一开始我以为 minikube 安装了某种 VM 和 运行 内部的“缩小”kubernetes 环境,但是,在安装列出我的本地 Docker 运行ning 容器后,我发现minikube 运行宁作为容器!!

为什么 minikube 本身 运行 作为一个 Docker 容器?它如何 运行 其他容器?

实验性 Docker 支持看起来 added in minikube 1.7.0, and started becoming the default runtime 在 minikube 1.9.0 中。在我写这篇文章时,当前是 1.15.1.

minikube documentation on the "docker" driver 注释,特别是在原生 Linux 主机上,没有中间虚拟机:如果你可以 运行 容器中的 Kubernetes,它可以使用整个主机系统的资源无需特殊配置或分区。之前的 minikube-on-VirtualBox 安装需要为 VM 预分配内存和磁盘,这些设置很容易出错。即使在非 Linux 主机上,如果你是 运行ning Docker 桌面,共享其隐藏的 Linux VM 可以提高资源利用率,你不需要决定恰好为 Docker 桌面分配 2 GB RAM,恰好为 minikube VM 分配 4 GB。

很长一段时间以来,Docker 容器中 Docker 一个单独的 Docker 守护程序是可能的,但不鼓励;类似地,运行 容器中的多进程初始化系统是可能的,但通常不鼓励这样做。如果你同时做这两件事,那么你就可以将核心 Kubernetes 组件(etcd、apiserver、kubelet 等)放在一个容器中,伪装成一个 Kubernetes 节点。这也有助于 Kubernetes 已经知道如何拉取 Docker 图像,这最大限度地减少了 运行ning Docker 在 Docker.

中的一些令人困惑的问题。