Minikube vs Kubernetes在Docker for Windows中

Muh*_*eed 20 docker kubernetes docker-for-windows minikube

我见过用Kubernetes在本地开发的大多数教程都使用Minikube.在Docker for Windows的最新Edge版本中,您还可以启用Kubernetes.我试图理解两者之间的差异以及我应该使用的差异.

  1. Minikube让你选择你想要的Kubernetes版本,Docker for Windows可以做到吗?我没有看到配置它的方法.
  2. Minikube具有CLI命令以启用仪表板,heapster,ingress和其他插件.我不确定为什么,因为我的遗憾是这些只是执行kubectl apply -f http://....
  3. 使用Minikube,我可以minikube ip为入口获取集群IP地址,如何使用Docker for Windows执行此操作?
  4. 还有什么不同我应该关心的.

Dav*_*aze 10

我觉得你很大程度上了解这个空间,并且大部分都已经回答了你的问题.您可能会发现Docker for Mac和Docker Toolbox是一个信息性的读取,即使它是关于Mac等效而不是Windows,关于Docker打包为VM而不是Kubernetes.

  1. 事实上,您仍然坚持使用Docker Edge桌面发行版发布的特定版本的Kubernetes.

  2. 在问题中回答.

  3. 我相信NodePort类型的服务是在您主机的IP地址上发布的; 没有与Docker Toolbox一样的中间VM地址.

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

  5. Kubernetes可能涉及一些重要的背景工作.如果您正在使用Kubernetes-in-Docker,很难"关闭"Kubernetes并且仍然可以使用Docker; 但如果你有一个单独的minikube VM,你可以阻止它.

  • 好吧,您可以在Kubernetes选项卡上的Docker Edge Settings/Preferences中取消选中"Enable Kubernetes"复选框,以停止docker-for-desktop VM. (5认同)

VAS*_*VAS 5

以下是Docker 文档的一部分:

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

Docker for Windows 18.02 CE Edge包括一个独立的Kubernetes服务器和客户端,以及Docker CLI集成.Kubernetes服务器在Docker实例中本地运行,不可配置,并且是单节点集群.

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

请参阅Docker for Windows>开始使用Kubernetes并开始在Kubernetes上测试工作负载的部署.

如果你有足够的CPU和RAM资源,你可以轻松地同时拥有它们,minikubedocker-for-desktop在同一台机器上通过选择上下文在它们之间切换,例如:

> kubectl config get-contexts
> kubectl config use-context docker-for-desktop
Run Code Online (Sandbox Code Playgroud)

目前没有地方可以为docker -for-desktop选择Kubernetes版本.它在Docker分发包中预先选择.

不幸的是,与docker网站上提供的版本相比,minikube中的docker版本落后了一些,并且可能缺少某些功能,但如果您对Kubernetes环境感兴趣,那么在大多数情况下它并不重要.

Kubernetes的一些功能依赖于外部资源,在本地安装的情况下可能无法使用.例如,你需要创建云负载平衡器使用某些类型的能力IngressService对象.

但是其他资源可以在内部minikubedocker-for-desktop使用中轻松启动kubectl create/apply.

要在外部公开您的群集资源,您可以使用Webhook Relay Ingress控制器.
这是安装手册的链接.