我看到的大多数Kubernetes本地开发教程都使用Minikube。在最新的Windows版Docker Edge中,你也可以启用Kubernetes。我试图了解两者之间的差异以及我应该使用的。
- Minikube允许你选择你想要的Kubernetes版本,Docker for Windows可以吗?我看不出有什么方法可以配置它。
- Minikube有CLI命令来启用dashboard,heapster,ingress和其他插件。我不知道为什么,因为我的理解是,这些只是执行
kubectl apply -f http://...
。
1.使用Minikube,我可以执行minikube ip
来获取ingress的集群IP地址,如何使用Docker for Windows来实现?
1.还有什么不同的东西是我应该关心的。
3条答案
按热度按时间rryofs0p1#
我觉得你在很大程度上理解了这个领域,并且大多数已经有了你的问题的答案。你可能会发现Docker for Mac vs. Docker Toolbox是一本信息丰富的读物,即使它是关于Mac的等价物而不是Windows,关于打包为VM的Docker而不是Kubernetes。
1.事实上,你只能使用Docker Edge桌面发行版发布的特定版本的Kubernetes。
1.答案就在问题里。
1.我相信NodePort类型的服务是在你的主机的IP地址上发布的;没有像Docker Server那样的中间VM地址。
unhi4e5o2#
以下是Docker documentation的一部分:
Kubernetes仅在Docker for Windows 18.02 CE Edge中可用。Kubernetes支持不包括在Docker for Windows 18.02 CE Stable中。要了解有关Stable和Edge通道以及如何在它们之间切换的更多信息,请参阅常规配置。
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资源,你可以很容易地在同一台机器上同时拥有
minikube
和docker-for-desktop
,并通过选择上下文在它们之间切换,例如:字符串
目前没有地方可以选择docker-for-desktop的Kubernetes版本。它在Docker分发包中是preselected。
不幸的是,minikube中的docker版本与docker网站上的版本相比落后了一步,有些功能可能是missing,但如果你对Kubernetes环境感兴趣,在大多数情况下这并不重要。
Kubernetes的某些功能依赖于外部资源,在本地安装时可能无法使用。例如,您需要创建Cloud Load Balancer以使用某些类型的
Ingress
或Service
对象。但是其他资源可以在
minikube
或docker-for-desktop
中使用kubectl create/apply
轻松启动。要向外部公开集群资源,可以使用Webhook Relay Ingress controller。
这里是安装手册的链接。
pcrecxhr3#
Muhammad,我知道这是一个旧的线程。在2023年,我使用Docker Desktop作为本地kubernetes,我使用的集群IP地址而不是minikube IP是localhost。我希望这对某人有帮助。