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

标签 docker kubernetes minikube orchestra

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

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

最佳答案

实验性 Docker 支持看起来是 added在 minikube 1.7.0 中,以及 started becoming the default runtime在 minikube 1.9.0 中。在我撰写本文时,当前版本是 1.15.1。

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

很长一段时间以来,在 Docker 容器内运行单独的 Docker 守护进程是可能的,但不被鼓励;同样,可以在容器中运行多进程 init 系统,但通常不鼓励这样做。如果您执行了这两项操作,那么您就可以在一个冒充 Kubernetes 节点的容器中拥有核心 Kubernetes 组件(etcd、apiserver、kubelet...)。 Kubernetes 已经知道如何拉取 Docker 镜像,这也很有帮助,这可以最大限度地减少在 Docker 中运行 Docker 时出现的一些令人困惑的问题。

关于docker - 为什么 minikube 本身作为容器运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64890210/

相关文章:

在 secret 更新的情况下 Kubernetes 滚动更新

kubernetes - Minikube 中 api-server 的身份验证机制如何更改?

centos - 如何从中恢复

docker - 在 Rocker/verse 上使用 rstan 构建 Docker 镜像

Kubernetes前后端通信

kubernetes - 无法将 secret 装载到/etc 中的卷

dns - Pod 不通过 ingress 解析服务的域名

kubernetes - 如何使用IP地址访问grafana-istio仪表板?

Docker 中的 PostgreSQL - pg_hba.conf 允许从主机访问容器

docker - 将 ansible delegate_to 与 docker : permission denied 一起使用