Windows 版 Docker 中的 Minikube 与 Kubernetes

问题描述 投票:0回答:3

我见过的大多数本地 Kubernetes 开发教程都使用 Minikube。在最新的 Windows 版 Docker Edge 版本中,您还可以启用 Kubernetes。我正在尝试了解两者之间的差异以及我应该使用哪一个。

  1. Minikube 可以让你选择你想要的 Kubernetes 版本,Docker for Windows 可以这样做吗?我没有看到配置它的方法。
  2. Minikube 具有 CLI 命令来启用仪表板、堆、入口和其他插件。我不知道为什么,因为我的理解是这些只是执行
    kubectl apply -f http://...
  3. 使用 Minikube,我可以执行
    minikube ip
    来获取入口的集群 IP 地址,如何使用 Windows 版 Docker 执行此操作?
  4. 还有什么我应该关心的不同之处吗?
docker kubernetes minikube docker-for-windows
3个回答
15
投票

我觉得您基本上了解了这个领域,并且大多数已经回答了您的问题。您可能会发现 Docker for Mac vs. Docker Toolbox 是一本内容丰富的读物,即使它是关于 Mac 等效项而不是 Windows,以及关于打包为 VM 而不是专门针对 Kubernetes 的 Docker。

  1. 事实上,您只能使用 Docker Edge 桌面发行版发布的 Kubernetes 特定版本。

  2. 已在问题中得到解答。

  3. 我相信NodePort类型的服务是在你的主机的IP地址上发布的;没有像 Docker Toolbox 那样的中间虚拟机地址。

  4. Docker Toolbox 和 minikube 始终使用带有现成虚拟机管理程序的成熟虚拟机。 Docker 桌面应用程序可能会使用更轻量级的虚拟化引擎(如果可用)。

  5. Kubernetes 可能涉及一些重要的后台工作。如果您正在使用 Kubernetes-in-Docker,则很难“关闭”Kubernetes 并仍然让 Docker 可用;但如果你有一个单独的 minikube VM,你可以停止它。


5
投票
这里是 Docker

文档的一部分:

Kubernetes 仅在适用于 Windows 18.02 CE Edge 的 Docker 中可用。 适用于 Windows 18.02 CE 的 Docker 中不包含 Kubernetes 支持 稳定的。了解有关稳定通道和边缘通道的更多信息以及如何 在它们之间切换,请参阅常规配置。

Docker for Windows 18.02 CE Edge 包含独立的 Kubernetes 服务器和客户端,以及 Docker CLI 集成。库伯内特斯 服务器在您的 Docker 实例中本地运行,不可配置, 并且是单节点集群。

Kubernetes 服务器在本地的 Docker 容器中运行 系统,仅用于本地测试。当 Kubernetes 支持时 启用后,您可以在 Kubernetes 上并行部署工作负载, Swarm,以及作为独立容器。启用或禁用 Kubernetes 服务器不会影响您的其他工作负载。

请参阅

Docker for Windows > 入门以启用 Kubernetes 和 开始测试 Kubernetes 上工作负载的部署。

如果您有足够的 CPU 和 RAM 资源,您可以轻松地在同一台计算机上同时拥有

minikube

docker-for-desktop
,并通过选择上下文在它们之间切换,例如:

> kubectl config get-contexts > kubectl config use-context docker-for-desktop

目前没有地方可以为

docker-for-desktop 选择 Kubernetes 版本。它已在 Docker 发行包中预选

不幸的是,minikube 内的 docker 版本比 docker 网站上的版本落后了一步,并且某些功能可能会

缺失,但如果你对 Kubernetes 环境感兴趣,在大多数情况下这并不重要。

Kubernetes 的某些功能依赖于外部资源,本地安装时可能无法使用。例如,您需要能够创建云负载均衡器才能使用某些类型的

Ingress

Service
 对象。

但是其他资源可以在

minikube

 内轻松启动,或使用 
docker-for-desktop
 
kubectl create/apply

要向外部公开集群资源,您可以使用

Webhook Relay Ingress 控制器 这是安装手册的
链接


0
投票
穆罕默德,我知道这是一个旧线程。 2023 年,我将 docker 桌面用于本地 kubernetes,并且我使用的集群 IP 地址(而不是 minikube IP)是 localhost。我希望这对某人有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.