2

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

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

4

1 回答 1

3

实验性 Docker 支持似乎已添加到 minikube 1.7.0 中,并开始成为minikube 1.9.0 中的默认运行时。在我写这篇文章时,当前是 1.15.1。

关于“docker”驱动程序的minikube 文档说明,特别是在原生 Linux 主机上,没有中间虚拟机:如果您可以在容器中运行 Kubernetes,它可以使用整个主机系统的资源而无需特殊配置或分区。之前的 minikube-on-VirtualBox 安装需要为 VM 预先分配内存和磁盘,而且这些设置很容易出错。即使在非 Linux 主机上,如果您正在运行 Docker Desktop,共享其隐藏的 Linux VM 可以提高资源利用率,并且您无需决定将 2 GB RAM 分配给 Docker Desktop,将 4 GB 分配给 minikube VM .

很长一段时间以来,在 Docker 容器中运行一个单独的 Docker 守护进程是可能的,但并不鼓励。同样,可以但通常不鼓励在容器中运行多进程初始化系统。如果你同时做这两件事,那么你就可以将核心 Kubernetes 组件(etcd、apiserver、kubelet……)放在一个伪装成 Kubernetes 节点的容器中。Kubernetes 已经知道如何拉取 Docker 镜像也有帮助,这可以最大程度地减少在 Docker 中运行 Docker 的一些令人困惑的问题。

于 2020-11-18T10:47:17.350 回答